Furkan Mudanyalı's Personal Webpage

Projects

Home Contact Blog Projects

rockOS

Gitea Page

GitHub Mirror

Currently implemented

  • GDT
  • IDT
  • PIC initialization
  • PIT timer
  • Keyboard driver
  • Paging and Kheap

Build

Dependencies

  • a decent compiler such as gcc or clang
  • grub2 (if under GNU/Linux)
  • xorriso
  • make
  • tar

Dependencies for compiling toolchain

  • wget/curl

If it is your first time building, you need to compile the toolchain first. For that, you just need to run build-toolchain.sh, which will download binutils, gcc, grub if youre on macOS, and then compile them to $HOME/opt/cross-i686 by default which can be changed from the prompt.

After you compiled the toolchain and added $PREFIX/bin to your PATH as instructed by the script, you can run qemu.sh to compile and open the OS on QEMU or iso.sh to just generate the ISO.

Credits

  • Furkan Mudanyalı
  • Uko Kokņevičs

Acknowledgements

  • osdev.org community for huge documentation on OS Development
  • musl for libc implementation
  • James Molloy for his paging and kheap tutorial
  • Free Software Foundation for multiboot specification

License

This project is licensed under GPLv3.0 or later.