[Oberon] Building a minimal Oberon

Srinivas Nayak sinu.nayak2001 at gmail.com
Sun Apr 17 15:12:58 CEST 2016


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/


More information about the Oberon mailing list