You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
884 B
884 B
Overview
Currently we boot from BIOS on a GPT-partitioned disk.
boot0.s is the first-stage bootloader. It lives in the MBR bootstrap field, and must therefore
fit into 440 bytes. Its tasks are:
- Set up a stack etc.
- Get the boot drive geometry
- Load and parse the GPT
- Find the partition of the second stage
- Load and jump to the first sector of the second stage
boot1.s is the second-stage bootloader. Its tasks are:
- Load its own sectors not loaded by the first stage
- Enable A20
- Detect available memory
- Enter unreal mode
- Read the kernel ELF from disk (don't have to parse the ELF just yet)
- Get all the useful information we can from the BIOS before we leave unreal mode
- Enter long mode (possibly via protected mode?)
- Load the kernel ELF
- Initialise stack etc. for the kernel
- Jump to kernel