Форк ToaruOS
Go to file
2015-03-19 14:39:26 -07:00
hdd Actually, let's pull in a new default wallpaper. 2015-03-19 14:33:40 -07:00
kernel Experimental updates to write support in ext2 (incomplete, internals only) 2015-02-11 23:12:01 -08:00
modules Remove ext2 debug stuff 2015-02-15 17:40:31 -08:00
toolchain CVS HEAD of genext2fs has -B 2015-02-12 22:30:12 -08:00
userspace sudo: Fix a missing fprintf argument 2015-03-17 12:08:29 -04:00
util fixes and cleanup for create-image (thx magnificrab) 2014-12-04 20:13:07 -08:00
.gitignore Various bits of cleanup; actually examine packets 2014-05-08 19:29:23 -07:00
.travis.yml Attempt to run Travis builds again 2014-05-11 23:17:41 -07:00
LICENSE.md Copyright years (hello 2015) 2015-02-03 19:43:04 -08:00
Makefile Add target for libtoaru 2014-09-12 22:01:24 -07:00
README.md Update screenshots in README again 2015-03-19 14:39:26 -07:00

Screenshot More Screenshots

ToAruOS (とあるOS)

とあるOS (ToAruOS) is a hobby kernel and supporting userspace, built mostly from scratch, in development since December of 2010.

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 chapter.

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.

Kernel

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

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.

Third-Party Software

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.
  • A SHA512 hash library
  • 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".

Licenses for these tools and libraries can be found here.

The following external libraries and tools are retrieved during the build process:

  • gcc and binutils - For both a cross-compiler and a native port.
  • newlib - C library (development of an in-house C library is planned, but has not yet commenced).
  • libpng - Used extensively by the native graphics library to provide wallpaper and icons.
  • zlib - Dependency of libpng, but also generally useful.
  • freetype - For rendering text using TrueType fonts.
  • cairo and pixman - For CPU-accelerated graphics.
  • ncurses - Terminal control library, provides terminfo.
  • Mesa - Implementation of OpenGL (only the software rasterizer is available).
  • Vim - Popular text editor.

In addition to the libraries included in the build process, others have been ported or successfully built for とある:

  • Lua - Builds as-is
  • MuPDF - See klange/toaru-pdfviewer (library must be cross compiled)
  • SDL - See klange/SDL (this port is outdated and not compatible with the current windowing system)
  • snes9x-sdl - See klange/snes9x-sdl
  • Bochs - Should build as-is, but may require modifications. (Depends on SDL)
  • Python - A Python port has been built, but is not yet available.

Screenshots

For additional screenshots, please see the wiki.

Testing / Building / Installation

Please see Testing and Building on the wiki.

IRC

For help building the kernel and userspace, join us in #toaruos on Freenode (irc.freenode.net).