Code for writing a basic OS from scratch.

Nicolás Ortega Froysa 9711ebb62c Updated the README.md 6 سال پیش
boot 3926fcb1c3 Only need one hang. 6 سال پیش
drivers 3f35a78c07 Should be working, but function call fails. 6 سال پیش
kernel ba60616b18 Better boot message. 6 سال پیش
.gitignore 4700f983f8 Adding code so far. 6 سال پیش
LICENSE 4700f983f8 Adding code so far. 6 سال پیش
Makefile c78f0941f3 Use a cross compiler. 6 سال پیش
README.md 9711ebb62c Updated the README.md 6 سال پیش

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