x86 FAT12 bootloader
Go to file
ntosx 00fdc6c2f7
Update README.md
2018-11-09 00:28:00 -05:00
src YEA 2018-11-09 00:24:22 -05:00
LICENSE Initial commit 2018-11-03 00:06:09 -04:00
README.md Update README.md 2018-11-09 00:28:00 -05:00

README.md

Summary

Stage 1 loader loads stage 2 loader from the floppy and jumps to it.

Stage 2 loader initializes protected mode, detects system memory, loads stage 3 and kernel from the floppy and jumps to stage 3.

Stage 3 is supposed perform initialization in protected mode. It should be called stage 2.5 because it's the same thing but 32 bit binary, it reloads GDT to predictable range, initializes IDT, tests #DIV exception and and eventually jumps to kernel.

The kernel prints a welcome message and loops infinitely.

Yes the ASM code and the makefile could use some refactoring. Yes I know floor can be calculated simply by (x + y - 1) / y.

Building

cd into "src" and Run "make".

The boot image "boot.img" is generated under "src/out" directory.

Use QEMU or Bochs to emulate.