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 x86
(64 to 32-bit) on my machine, but all the code is plain x86
. You will require gcc
and nasm
(as well as the normal GNU core utils) 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.