Go to file
Nicolás Ortega Froysa 3926fcb1c3
Only need one hang.
2018-02-26 18:15:12 +01:00
boot Only need one hang. 2018-02-26 18:15:12 +01:00
drivers Should be working, but function call fails. 2018-02-26 16:53:13 +01:00
kernel Better boot message. 2018-02-26 17:01:18 +01:00
.gitignore Adding code so far. 2018-02-23 17:20:31 +01:00
LICENSE Adding code so far. 2018-02-23 17:20:31 +01:00
Makefile Should be working, but function call fails. 2018-02-26 16:53:13 +01:00
README.md Commented about the directory structure. 2018-02-24 10:03:20 +01:00

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 final os-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.