Форк ToaruOS
Go to file
2014-05-18 11:54:20 -07:00
hdd Clean up some legacy /etc stuff 2014-05-07 00:10:34 -07:00
kernel Reduce debug messages for waitpid to INFO level 2014-05-18 10:27:28 -07:00
modules A start on cleaning up network stack 2014-05-17 23:16:30 -07:00
toolchain Try unsetting CC 2014-05-11 23:30:00 -07:00
userspace Client-initiated window drag 2014-05-18 11:54:20 -07:00
util kill check-reqs 2014-05-16 12:24:21 -07: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 Proper merge of LICENSE into LICENSE.md 2014-05-07 00:00:50 -07:00
Makefile kill check-reqs 2014-05-16 12:24:21 -07:00
README.md Drop docs/ 2014-05-06 23:59:21 -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, used in the login applications to provide naïve hashed password support.
  • The popular DMZ CC By-SA mouse cursor theme from Novell.
  • 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
  • snes9x-sdl - See klange/snes9x-sdl
  • Bochs - Should build as-is, but may require modifications.
  • 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).