I've started getting a redirect on this website. It seems the link may be down, so I've changed it to the Wayback Machine to maintain consistency.
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.
Languages
Assembly
54.4%
C
40.4%
Makefile
5.2%