52 lines
1.4 KiB
Markdown
52 lines
1.4 KiB
Markdown
# Deprecated, see continuation project [Asagiri](https://git.homd.xyz/asagiri/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.
|