[Oberon] Building a minimal Oberon

eas lab lab.eas at gmail.com
Sun Apr 17 16:04:38 CEST 2016


Very interesting.
This is N-O which is limited to a single partition,
 but can have extra <Aos> partitions for data?
The old versions could access external DOS-files, with difficulty.

What about putting it to a USBstik?
Can you paste & eMail  your output for:
 System.Directory *.Obj
 System.Time
?

==Chris Glur.



On 4/17/16, Srinivas Nayak <sinu.nayak2001 at gmail.com> wrote:
> Little correction:
>
>> Used "cfdisk -z /mnt/sdb" to create a bootable partition of type 6.
>> Cfdisk writes MBR code and creates partition table implicitly.
>> In Gparted, one has to create partition table explicitly.
>
> has to be
>
> Used Gparted to create partition table on disk.
> This implicitly writes MBR code to disk.
> Cfdisk only creates partition table, but doesn't write MBR code.
> Used "cfdisk -z /mnt/sdb" to create a bootable partition of type 6.
>
>
> With thanks and best regards,
>
> Yours sincerely,
> Srinivas Nayak
>
> Home: http://www.mathmeth.com/sn/
> Blog: http://srinivas-nayak.blogspot.in/
>
> On 04/16/2016 11:55 PM, Srinivas Nayak wrote:
>> Dear All,
>>
>> I was trying to build a minimal Oberon.
>> Idea was, minimal Oberon will work only with
>> - IDE Disk
>> - VGA display
>> - serial US keyboard
>> - serial mouse
>> - Aos file system
>>
>> Here is how I did it.
>>
>> Prepared the build system on Vbox.
>> - Installed Native Oberon Alpha using Oberon0.Dsk.
>> - Installed Source1.zip, Build.zip and SourceB.zip on top of it.
>>
>> Followed the below commands:
>>
>> This compiles the necessary modules.
>>
>> Compiler.Compile \s.Obj
>> Kernel.Mod
>> Disks.Mod
>> PCI.Mod
>> ATADisks.Mod
>> OFS.Mod
>> Files.Mod
>> Modules.Mod
>> OFSDiskVolumes.Mod
>> OFSCacheVolumes.Mod
>> OFSAosFiles.Mod
>> OFSBoot.Mod
>>
>> Objects.Mod
>> VGA.Display.Mod
>> V24.Mod
>> Input.Mod
>> Fonts.Mod
>> Viewers.Mod
>> Reals.Mod
>> Texts.Mod
>> Oberon.Mod
>> MenuViewers.Mod
>> TextFrames.Mod
>> System.Mod
>>
>> Bitmaps.Mod
>> Out.Mod
>> Pictures.Mod
>> Centronics.Mod
>> Printer.Mod
>> Edit.Mod ~
>>
>> The last 6 modules are just for Edit application to work.
>>
>> This creates the Native.Bin which is the kernel image needed for booting.
>>
>> BootLinker.Link Native.Bin \refs \integrate 1000H Kernel Disks PCI
>> ATADisks
>> OFS Files Modules OFSDiskVolumes OFSCacheVolumes
>> OFSAosFiles  OFSBoot ~
>>
>> Created a .vdi file using Vbox. On this new virtual disk, minimal Oberon
>> will be installed.
>> Attached this .vdi file to a Linux guest on Vbox.
>> Used "cfdisk -z /mnt/sdb" to create a bootable partition of type 6.
>> Cfdisk writes MBR code and creates partition table implicitly.
>> In Gparted, one has to create partition table explicitly.
>>
>> Once the new virtual disk gets prepared, attached it to Native Oberon
>> guest.
>> The following commands prepare it further.
>>
>> Partitions.Show~
>> Partitions.ChangeType  IDE1#01   6   76 ~
>> Partitions.Unsafe
>> Partitions.Format ^   (select IDE1#01 partition)
>> FileSystem.Mount DST AosFS ^   (select IDE1#01 partition)
>> System.Directory DST:*.* ~
>>
>> Format implicitly writes OBL.Bin (found on build system) to PBR of the
>> partition.
>> Also implicitly writes Native.Bin to reserved area for boot image.
>>
>> Rather than simple copying, zipped and unzipped the rest necessary
>> modules
>> to the new virtual disk.
>>
>> System.DeleteFiles System.zip ~
>>
>> ZipTool.Add \9 System.zip
>> Objects.Obj
>> VGA.Display.Obj
>> V24.Obj
>> Input.Obj
>> Fonts.Obj
>> Viewers.Obj
>> Reals.Obj
>> Texts.Obj
>> Oberon.Obj
>> MenuViewers.Obj
>> TextFrames.Obj
>> System.Obj
>>
>> Bitmaps.Obj
>> Out.Obj
>> Pictures.Obj
>> Centronics.Obj
>> Printer.Obj
>> Edit.Obj
>>
>> Default.Pal
>> Oberon10.Scn.Fnt
>> Oberon10i.Scn.Fnt
>> Oberon10b.Scn.Fnt
>> Oberon.Text
>> System.Tool ~
>>
>> ZipTool.ExtractAll \o \p  DST:  System.zip ~
>>
>> Default.Pal is needed for a colorful Oberon.
>>
>> Now boot parameter needs to be written to new virtual disk.
>> There is a bug somewhere in NO.
>> I had to write (to new virtual disk) boot parameter for VESA first and
>> then for VGA.
>> Otherwise it doesn't boot.
>>
>> Config.Mode VESA 2.0: 800*600*8
>> Config.BootPartition menu ~
>> Config.Mode VGA 16-color:640*480*4
>> Config.BootPartition menu ~
>>
>> Config.BootPartition implicitly looks for a mount point DST, which is here
>> the new virtual disk.
>>
>> Unmounted the new virtual disk. Shutdown Native Oberon guest, the build
>> system.
>>
>> FileSystem.Unmount DST
>>
>> System.Quit
>>
>> Now the new .vdi file can be used as a bootable disk containing minimal
>> Oberon.
>> This booted up a minimal Oberon on Vbox.
>>
>>
>> Hope this helps others who need a minimal Oberon for OS study.
>> Kindly let me know if we can still minimize it.
>>
>>
>> With thanks and best regards,
>>
>> Yours sincerely,
>> Srinivas Nayak
>>
>> Home: http://www.mathmeth.com/sn/
>> Blog: http://srinivas-nayak.blogspot.in/
> --
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
> https://lists.inf.ethz.ch/mailman/listinfo/oberon
>


More information about the Oberon mailing list