Boot Sequence


Boot code

The main function of the boot code is to load the boot image while in real mode and jump to the 16 bit setup code at the start of the image. Different pieces of boot code are used for different real mode environments (BIOS bootstrap, DOS, etc). The boot image must be loaded starting at 0x21000. After it's loaded control is passed to the setup code using "CALL FAR 0x2100:0x20". If the setup code returns a message has been displayed and the boot has been aborted.

Setup code

The setup code is split into 2 parts, the 16 bit setup code has these responsibilities:

32 bit setup code

This code installs the modules that follow it. This process involves these steps:


Some modules must be present and in this order:

Any modules following this can be in any order. The functionality of memory, system and time servers could/should be utilised by the setup code during boot. As a result of the boot sequence some modules can't rely on other modules, for eg. the memory server can't use the scheduler, the scheduler can't use the file server.

Home  Index
Copyright 1998, Brendan Trotter