boot | ||
hdd | ||
include | ||
kernel | ||
libc | ||
linker | ||
modules | ||
toolchain | ||
userspace | ||
util | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
Makefile | ||
README.md |
ToaruOS-NIH
This is an experimental spin-off / distribution of ToaruOS which includes no third-party components.
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.