This is code that I've been writing for a basic kernel from the Writing a Simple Operating System from Scratch book.
I cross-compile from x86_64
on my machine. You will require i686-elf-gcc
(as well as all the rest of the GNU binutils for i686
) and you can run the final image using QEMU. To compile just run make
: code necessary for the boot process (i.e. loading the kernel and switching to 32-bit protected mode).kernel/
: code related to the kernel itself.drivers/
: interface code that simplifies interaction with hardware devices.bin/
: binary directory where finalos-image
Since this code is made with the help of the above mentioned book so generously created (yet incomplete), I've licensed this repo under the Unlicense.