boot | ||
drivers | ||
kernel | ||
.gitignore | ||
LICENSE | ||
Makefile | ||
README.md |
BasicKernel
This is code that I've been writing for a basic kernel from the Writing a Simple Operating System from Scratch book.
Compiling
I cross-compile from x86_64
to i686
on my machine. You will require i686-elf-gcc
and nasm
(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 Structure
boot/
: 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
is stored.
License
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.