fs | ||
kernel | ||
libc | ||
.gitignore | ||
build-toolchain.sh | ||
build.sh | ||
clean.sh | ||
config.sh | ||
default-host.sh | ||
headers.sh | ||
iso.sh | ||
LICENSE | ||
qemu.sh | ||
README.md | ||
target-triplet-to-arch.sh |
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.