12ab12f1b2987e092f0870543f7b87c09ec76303
pepperOS: "will never be done"
Trying the kernel
First install the dependencies: sudo apt install xorriso make qemu-system
Then, to compile the kernel and make an ISO image file: make build-iso
To run it with QEMU, make run
TODO
The basics that I'm targeting are:
- Fix terminal driver (backspace issues, scrolling) OR add Flanterm or equivalent
- Implement paging / see what Limine does at boot with memory management
- Implement tasks, and task switching
- Load an executable
- Scheduler (round-robin using the PIT timer interrupt)
- Filesystem (TAR for read-only initfs, then maybe read-write using FAT12/16/32
- Getting to userspace (syscalls)
- Porting musl libc or equivalent
In the future, maybe?
- SMP support
- Parsing the ACPI tables and using them for something
- Replacing the PIT timer with APIC
Thanks
PepperOS wouldn't be possible without the following freely-licensed software:
- the Limine portable bootloader
- Marco Paland's freestanding printf implementation
- the ZAP PSF console fonts
...and without these amazing resources:
- the OSDev wiki & forums
Languages
C
93.2%
Assembly
5.1%
Makefile
1.6%