toaruos/README.md

73 lines
3.7 KiB
Markdown
Raw Normal View History

2015-03-19 14:39:26 -07:00
![Screenshot](http://i.imgur.com/5fpgP1q.png)
![More Screenshots](http://i.imgur.com/Eu10iwj.png)
2013-04-14 23:17:52 -07:00
2013-11-28 22:57:09 -08:00
# ToAruOS (とあるOS) #
2014-04-10 20:20:26 -07:00
とあるOS (ToAruOS) is a hobby kernel and supporting userspace, built mostly from scratch, in development since December of 2010.
2011-01-15 20:03:53 -05:00
2013-11-28 22:57:09 -08:00
It was originally developed at the University of Illinois at Urbana-Champaign. For a period of time, it was the development focus of the university's [SIGOps](http://www.acm.uiuc.edu/sigops/) chapter.
2012-08-28 22:38:31 -07:00
2014-04-10 20:20:26 -07:00
This repository contains the kernel, modules, and core userspace. Some third-party libraries and utilities are required to build a working system - these are automatically retrieved by the build process.
2012-08-28 22:38:31 -07:00
## Kernel ##
2012-02-16 02:02:09 -06:00
2014-04-10 20:20:26 -07:00
The kernel provides a number of features one would expect from a Unix-inspired project, including process and thread support, ELF binary support, runtime-loaded modules, pipes and TTYs, a virtual file system including virtual `/proc` (inspired by Plan9 and Linux) and device files, EXT2 filesystem support, signals, and more.
## Userspace ##
2014-04-10 20:20:26 -07:00
The userspace provides a rich graphical environment with a composited window manager (built on Cairo), a terminal emulator (with support for xterm 256-color modes and Konsole 24-bit color modes, anti-aliased text using FreeType, and general support for some Unicode text), and other graphical demo applications.
2013-04-04 21:18:25 -07:00
### Third-Party Software ###
2013-01-27 18:23:10 -08:00
2014-04-10 20:20:26 -07:00
The userspace depends on a number of third-party libraries which are outside of the development scope of the project, as well as the `newlib` C library (though development of an in-house C library is planned).
Some third-party software is provided within this repository:
* `cpudet`, a `cpuid` parser.
* VL Gothic, a Japanese TrueType font.
* DejaVu, a series of popular, free TrueType fonts.
2015-03-19 13:46:55 -07:00
* A SHA512 hash library
2014-04-10 20:20:26 -07:00
* `utf8decode.h`, UTF8 decoding tools.
* A port of `glxgears`.
* Various Curses examples by Pradeep Padala.
* A list of PCI vendor and device names.
* A terminal implementation of the game "2048".
2014-05-06 23:59:21 -07:00
Licenses for these tools and libraries can be found [here](LICENSE.md).
2013-01-27 18:23:10 -08:00
2014-04-10 20:20:26 -07:00
The following external libraries and tools are retrieved during the build process:
* `gcc` and `binutils` - For both a cross-compiler and a native port.
2014-04-10 20:24:19 -07:00
* `newlib` - C library (development of an in-house C library is planned, but has not yet commenced).
2013-01-27 18:23:10 -08:00
* `libpng` - Used extensively by the native graphics library to provide wallpaper and icons.
* `zlib` - Dependency of `libpng`, but also generally useful.
2013-04-14 01:06:32 -07:00
* `freetype` - For rendering text using TrueType fonts.
2014-04-10 20:24:19 -07:00
* `cairo` and `pixman` - For CPU-accelerated graphics.
2013-04-14 01:06:32 -07:00
* `ncurses` - Terminal control library, provides `terminfo`.
* Mesa - Implementation of OpenGL (only the software rasterizer is available).
* Vim - Popular text editor.
2014-04-10 20:20:26 -07:00
In addition to the libraries included in the build process, others have been ported or successfully built for とある:
2013-04-04 21:18:25 -07:00
* Lua - Builds as-is
* MuPDF - See [klange/toaru-pdfviewer](https://github.com/klange/toaru-pdfviewer) (library must be cross compiled)
2015-03-27 13:54:09 -07:00
* SDL - See [klange/SDL](https://github.com/klange/SDL) - Run all sorts of graphical things.
* `snes9x-sdl` - See [klange/snes9x-sdl](https://github.com/klange/snes9x-sdl) - Play SNES games!
* `prboom` - See [klange/prboom](https://github.com/klange/prboom) - Play DooM!
2015-03-19 13:46:55 -07:00
* Bochs - Should build as-is, but may require modifications. (Depends on SDL)
2014-04-10 20:20:26 -07:00
* Python - A Python port has been built, but is not yet available.
2013-04-04 21:18:25 -07:00
### Screenshots ###
2012-02-16 02:02:09 -06:00
2014-05-06 23:59:21 -07:00
For additional screenshots, please see [the wiki](https://github.com/klange/toaruos/wiki/Screenshots).
## Testing / Building / Installation ##
2012-08-15 17:47:34 -07:00
2014-05-06 23:59:21 -07:00
Please see [Testing and Building](https://github.com/klange/toaruos/wiki/Testing-and-Building) on the wiki.
2013-06-06 21:59:20 -07:00
### IRC ###
For help building the kernel and userspace, join us in `#toaruos` on Freenode (`irc.freenode.net`).
2011-01-20 00:27:11 -06:00