Readme
This commit is contained in:
parent
8cd1bd4b8a
commit
20e055c021
37
README.md
Normal file
37
README.md
Normal file
@ -0,0 +1,37 @@
|
||||
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
|
||||
|
||||
1. Enough C to port the dynamic loader.
|
||||
|
||||
2. Get the VGA terminal building.
|
||||
|
||||
3. Get the shell running.
|
||||
|
||||
4. De-Cairo-tize the compositor.
|
Loading…
Reference in New Issue
Block a user