rockOS
Gitea PageGitHub 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.