From e258af3efa2a89b80cbe330a300ffedcc2aed707 Mon Sep 17 00:00:00 2001
From: Rob Landley 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. The current list of commands implemented by toybox is at the top of the
+news pageWhat is ToyBox?
+
+What commands are implemented?
+
+
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.
+ + +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.)
+ + + +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.
+ +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.
+ +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