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.
23 lines
884 B
Markdown
23 lines
884 B
Markdown
## 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:
|
|
- [x] Set up a stack etc.
|
|
- [x] Get the boot drive geometry
|
|
- [x] Load and parse the GPT
|
|
- [x] Find the partition of the second stage
|
|
- [x] Load and jump to the first sector of the second stage
|
|
|
|
`boot1.s` is the second-stage bootloader. Its tasks are:
|
|
- [x] Load its own sectors not loaded by the first stage
|
|
- [x] 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
|