/rockOS

Primary LanguageCGNU General Public License v3.0GPL-3.0

Deprecated, see continuation project Asagiri

rockOS

Welcome to rockOS project, a hobby OS that aims to run rogue and nethack.

Currently implemented

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

Usage

Just grab the latest ISO from the releases and run it on a virtual machine such as QEMU or Virtualbox, bare-metal not tested.

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.