73 lines
4.0 KiB
Markdown
73 lines
4.0 KiB
Markdown
![Screenshot](http://i.imgur.com/oeGNxX7.png)
|
|
![More Screenshots](http://i.imgur.com/mogzwiO.png)
|
|
|
|
# ToaruOS (とあるOS) #
|
|
|
|
とあるOS (ToaruOS) is a hobby kernel and supporting userspace, built mostly from scratch, in development since December of 2010.
|
|
|
|
This repository contains the kernel, modules, and core userspace. Some third-party libraries and utilities are required to build a working system.
|
|
|
|
## History
|
|
|
|
ToaruOS started as a side project at the University of Illinois at Urbana-Champaign. For several months in late 2011 and early 2012, the University's [SIGOps](http://www.acm.uiuc.edu/sigops/) chapter managed development efforts focused on building the original compositing GUI. Since then, the project has mostly been a one-man effort with a handful of third party contributions.
|
|
|
|
## Kernel ##
|
|
|
|
The Toaru kernel provides a basic Unix-like environment. The kernel uses a hybrid modular architecture, with loadable modules providing most device driver support. The core kernel includes support for Unix pipes and TTYs, a virtual file system, multitasking, ELF binary support, and various core platform features on x86 systems.
|
|
|
|
Modules provide support for disk drives, ext2 filesystems, serial, keyboards and mice, a `/proc` filesystem similar to the one found in Linux, as well as an expanding collection of other device drivers.
|
|
|
|
## Userspace ##
|
|
|
|
ToaruOS's userspace is focused on a rich graphical environment, backed by an in-house compositing window manager. ToaruOS's terminal emulator supports xterm-compatible 256-color modes, as well as Konsole 24-bit color modes and anti-aliased text with basic Unicode support. Several graphical demos are provided, alongside a number of command-line applications. A port of SDL targetting the native graphical environment is also available.
|
|
|
|
### Third-Party Software ###
|
|
|
|
The userspace depends on a number of third-party libraries which are outside of the development scope of the project. Additionally, several third-party applications and libraries have been integrated into ToaruOS's core userspace, or otherwise ported to ToaruOS.
|
|
|
|
Package | | Description
|
|
------- | ---- | -----------
|
|
cpudet| *(included)* | `cpuid` parser
|
|
DejaVu Sans | *(included)* | Popular, free TrueType font series
|
|
VL Gothic | *(included)* | Free Japanese TrueType font
|
|
`sha2.c` | *(included)* | SHA512 hash library
|
|
`utf8decode.h` | *(included)* | UTF8 decoding tools
|
|
glxgears | *(included)* | Popular OpenGL demo
|
|
curses-hello | *(included)* | Curses demos
|
|
`pci_list.h` | *(included)* | PCI vendor and device names
|
|
2048 | *(included)* | Terminal implementation of a popular strategy game
|
|
gcc | \* | Compiler suite.
|
|
newlib| \* | C library
|
|
libpng| \* | PNG graphics library
|
|
zlib | \* | `gzip` compression library
|
|
FreeType | \* | TrueType font parser
|
|
Cairo | \* | CPU-accelerated pixel-pushing and vector graphics
|
|
ncurses | \* | Terminal UI library and `terminfo` provider
|
|
Mesa | \* | Software OpenGL implementation
|
|
Vim | \* | Popular text editor
|
|
Lua | [link](http://www.lua.org/) | Interpreted programming language
|
|
MuPDF | [link](https://github.com/klange/toaru-pdfviewer) | PDF viewer (requires complex library cross-compilation)
|
|
SDL | [link](https://github.com/klange/SDL) | Cross-platform graphics library
|
|
Snes9X | [link](https://github.com/klange/snes9x-sdl) | SNES emulator
|
|
PrBoom | [link](https://github.com/klange/prboom) | DooM engine
|
|
Bochs | [link](http://bochs.sourceforge.net/) | Software x86 PC emulator
|
|
Python | (TBD) | Interpreted programming language
|
|
|
|
\* These tools and libraries are retrieved by the build process and included by default. Some of them are dependencies for the core userspace.
|
|
|
|
License for the included third-party tools and libraries can be found [here](LICENSE.md).
|
|
|
|
## Community ##
|
|
|
|
### Wiki ###
|
|
|
|
For additional screenshots, see [Screenshots](https://github.com/klange/toaruos/wiki/Screenshots).
|
|
|
|
For instructions on building, see [Testing and Building](https://github.com/klange/toaruos/wiki/Testing-and-Building).
|
|
|
|
### IRC ###
|
|
|
|
For help building the kernel and userspace, join us in `#toaruos` on Freenode (`irc.freenode.net`).
|
|
|
|
|