I have been always curious about how a computer works behind the scenes. Nothing could satisfy this curiosity than to learning about OS, the soul of the computer. From resource management, memory management, process management to security OS does everything to make the computer smart and efficient to use. But knowing something as simple as how an OS is loaded in memory is empowering. I got the perfect opportunity of learning about it via my end of year project at Holberton School.
There are really good tutorials on web and in minutes you can have a simple boot loader and a kernel. Most of the code is from cfenollosa's tutorial and from this doc with minor adaptations.
- nasm
- qemu
- bin-utils
- cross-compiled gcc
- floppy disk image to run on vm from mikeos
- genisoimage
- Bootsector
- 16 bit mode
- 32 bit mode
- Kernel
- Printing to screen
- to run with qemu create a bin image
- to run with vm, create a floppy disk image and copy boot sector code to it.