[Oberon] My understanding of NO boot mechanics.

Srinivas Nayak sinu.nayak2001 at gmail.com
Fri Apr 8 20:31:59 CEST 2016


Dear All,

Here is my understanding of NO boot method.

Oberon Kernel module and some other necessary modules are packed into ram.bin.
While formatting Oberon0.Dsk, ram.bin is placed into sectors beginning from 0.
Oberon0.Dsk has NatFS and contains Oberon0.zip and System.zip.
When PC reboots, BIOS checks boot device list and order from CMOS.
BIOS then loads sector 0 (MBR) of first boot device and executes it.
When floppy is first boot device, Oberon0.Dsk (floppy disk) boots, ram.bin is loaded (from sector 0) and Kernel executes.
Kernel creates RamFS (RAM:) and puts into RAM: all files unzipped from Oberon0.zip.
This way floppy starts Oberon.

Now Oberon will be installed on harddisk.
We select a disk driver to access disk.
The disk should have partition table, one primary partition and the partition flagged active/bootable.
Normally cfdisk creates partition table (with -z option), primary partition and flag partition as active/bootable.
cfdisk implicitly writes a MBR code (sector 0 of disk) to disk.

[BIOS loads MBR code and executes it.
This MBR code detects active partition and loads PBR code (sector 0 of partition) to RAM.
This MBR code written by cfdisk can't load OS from extended partitions.
For loading OS from extended partitions generally bootloaders such as grub or lilo is used.
They write their own MBR code to disk. For such MBR code, active flag is irrelevant.
Such a MBR code can load second stage loader or OS (loading PBR) even from extended partitions.
If we wish to use bootloaders like grub or lilo, simply a partition (primary or extended) if available on disk is enough.]

While formatting disk parttion (as AosFS), Partitions.Format implicitly write OBL.Bin to sector 0 (PBR) to 4 of the partition.
OBL.Bin file (present in Oberon0.zip), at the time of Oberon installation, is available in RamFS (RAM:).
Now files from System.zip are unzipped and copied to disk partition.
After installation, when system reboots, MBR will load OBL.Bin (present at PBR).
And then, OBL.Bin searches for Kernel module to execute it.
This way disk starts Oberon.


Kindly correct me, if I am wrong.


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