VTOS is a hobby operating system being designed by myself simply because I think it's fun and it gives me a project. Maybe one day it'll be usable but for now that intention is just to have fun programming and give myself a project so that my skills don't get rusty. I do fully intend one day to try and make it have modules and be able to use Rust and all those fancy things.
Requirements to build the project:
- binutils
- xorriso
- x86_64 cross compiler
- git
- a c compiler
- nasm
If you want to build documentation:
- Doxygen
- Sphinx
To build the operating system and make an iso
# if you are on Mac
./mac.sh
# other systems
make
To build the documentation
Important
Sphinx and Doxygen are required or this will fail
make docs
Here's a glimpse into the exciting journey ahead for our project:
- kprint() and serial output
- Use SSFN for ease, eventually move to other more advanced options
- Complete using sphinx documentation for clarity
- Write GDT beyond Limine default
- Write and load IDT
Note
IDT is not provided according to Limine Boot Protocol Specification
Tip
SSFN may not be used, if memory management is completed first PSF will be used instead
- Terminal Scrolling
- paging
- memory management and use
PSF
fonts- liballoc used for memory management
Tip
We are considering using jemalloc instead
- modules
- Port Rust and other languages we see necessary
Note
paging provided by Limine Boot Protocol
We're excited about what's coming and will keep you updated as we progress. Your feedback and support are crucial as we build the future!
A big thank you to everyone who made this project possible!