From e258af3efa2a89b80cbe330a300ffedcc2aed707 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Sat, 5 Jan 2008 18:09:49 -0600 Subject: Update web pages. --- www/about.html | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100755 www/about.html (limited to 'www/about.html') diff --git a/www/about.html b/www/about.html new file mode 100755 index 00000000..4dae2d21 --- /dev/null +++ b/www/about.html @@ -0,0 +1,96 @@ + + +

What is ToyBox?

+ +

The goal of the Toybox project is to create simple implementations of all +the important Linux command line utilities. These implementations should +be small (the entire project should total less than a megabyte, uncompressed), +fast, simple, and correctly implemented (which is related to standards +compliance, but isn't quite the same thing). Click for +more about the design goals

+ +

Toybox has configurable levels of functionality, and should scale from tiny +embedded systems up to full general purpose desktop and development +environments. The author plans to run it on his laptop, and the +Firmware Linux project is trying to get a complete +Linux system to rebuild itself from source code using toybox.

+ +

Toybox is Licensed under GPL version 2.

+ +

Toybox can be built as a single "swiss army knife" executable (ala BusyBox +or Red Hat's Nash), or each command can be built as a traditional independent +executable.

+ +

What commands are implemented?

+ +

The current list of commands implemented by toybox is at the top of the +news page

. That list is updated when new commands +go in.

+ +

In general, configuring toybox for "defconfig" enables all the commands +compete enough to be useful. Configuring "allyesconfig" enables partially +implemented commands as well.

+ +

The following commands are incomplete, but demonstrate some basic +functionality: bzcat/bunzip2, help, mke2fs, sh/toysh, mdev.

+ +

The following are partially implemented commands that don't actually do +anything yet: mke2fs.

+ + +

Command Shell

+

The Toybox Shell (toysh) aims to be a reasonable bash replacement. It +implements the "sh" and "toysh" commands, plus the built-in commands "cd" and +"exit". This is the largest single sub-project in toybox.

+ +

The following additional commands may be built into the shell (but not as +separate executables): cd, exit, if, while, for, function, fg, bg, jobs, source, +alias, +export, set, unset, read, trap, and exec. (Note: not done yet.)

+ + + +

Which commands are planned?

+ +

The toybox todo list mentions many potential commands +which may be added to this project. (Whether that file is readable by anybody +but the project's maintainer is open to debate.)

+ +

The criteria for a toybox 1.0 release is that a system built from just the +Linux kernel, toybox, uClibc, and a compiler (such as tinycc) can rebuild +itself from source code.

+ +

Relevant Standards

+ +

Most commands are implemented according to +The +Single Unix Specification version 3 where applicable. This does not mean +that Toybox is implementing every SUSv3 utility: some such as SCCS and ed are +obsolete, while others such as c99 are outside the scope of the project. +Toybox also isn't implementing full internationalization support: it should be +8-bit clean and handle UTF-8, but otherwise we leave this to X11 and higher +layers. And some things (like $CDPATH support in "cd") await a good +explanation of why to bother with them. (The standard provides an important +frame of reference, but is not infallable set of commandments to be blindly +obeyed.)

+ +

The other major sources of commands are the Linux man pages, and testing +the behavior of existing commands (although not generally looking at their +source code). SUSv3 does not include many basic commands such as "mount", +"init", and "mke2fs", which are kind of nice to have.

+ +

Download

+ +

This project is maintained as a mercurial archive. To get a copy of the +current development version, either use mercurial (hg clone +http://landley.net/toybox) or click on one of the zip/gz/bz2 links +at the top of the mercurial archive browser page to get +an archive of the appropriate version. Click +tags to see all the tagged release +versions ("tip" is the current development version).

+ +

The maintainer's development log and the project's +mailing +list are also good ways to track what's going on with the project.

+ + -- cgit v1.2.3