1.5 KiB
ToaruOS-NIH
This is an experimental spin-off / distribution of ToaruOS which includes no third-party components.
Building
Build a full ToaruOS, activate its toolchain, copy the kernel to cdrom/kernel
and modules to cdrom/mod
and you should be able to run make
.
Rationale
ToaruOS's kernel is entirely in-house. Its userspace, however, is built on several third-party libraries and tools, such as the Newlib C library, Freetype, Cairo, libpng, and most notably Python. While the decision to build ToaruOS on these technologies is not at all considered a mistake, the possibility remains to build a userspace entirely from scratch.
Goals
-
Write a basic C library.
To support building the native ToaruOS libraries and port some basic software, a rudimentary C library is required.
-
Remove Cairo as a dependency for the compositor.
Cairo is a major component of the modern ToaruOS compositor, but is the only significant third-party dependency. This makes the compositor, which is a key part of what makes ToaruOS "ToaruOS", an important inclusion in this project.
-
Write a vector font library.
Support for TrueType/OpenType TBD, but vector fonts are critical to the visual presentation of ToaruOS.
-
Support a compressed image format.
ToaruOS used a lot of PNGs, but maybe writing our format would be fun.
Roadmap
-
Enough C to port the dynamic loader.
-
Get the VGA terminal building.
-
Get the shell running.
-
De-Cairo-tize the compositor.