Mercurial > hg > toybox
annotate www/about.html @ 532:d44eb064da41
Silence a couple pointless warnings.
author | Rob Landley <rob@landley.net> |
---|---|
date | Wed, 07 Mar 2012 19:00:21 -0600 |
parents | 312b8acb65aa |
children | 2d7c56913fda |
rev | line source |
---|---|
365
8f0b24cc7cd7
Minor web page updates (put header/footer back, add a few <hr> tags).
Rob Landley <rob@landley.net>
parents:
360
diff
changeset
|
1 <!--#include file="header.html" --> |
8f0b24cc7cd7
Minor web page updates (put header/footer back, add a few <hr> tags).
Rob Landley <rob@landley.net>
parents:
360
diff
changeset
|
2 |
226 | 3 <h2><a name="what" />What is ToyBox?</h2> |
4 | |
5 <p>The goal of the Toybox project is to create simple implementations of all | |
6 the important Linux command line utilities. These implementations should | |
7 be small (the entire project should total less than a megabyte, uncompressed), | |
8 fast, simple, and correctly implemented (which is related to standards | |
9 compliance, but isn't quite the same thing). Click for | |
10 <a href="design.html">more about the design goals</a></p> | |
11 | |
12 <p>Toybox has configurable levels of functionality, and should scale from tiny | |
13 embedded systems up to full general purpose desktop and development | |
410
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
14 environments. The author plans to install it on his Android phone in |
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
15 place of Toolbox, and the |
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
16 <a href=/aboriginal>Aboriginal Linux</a> project is trying to get a complete |
226 | 17 Linux system to rebuild itself from source code using toybox.</p> |
18 | |
385 | 19 <p>Toybox is <a href=license.html>released under a simple 2-clause BSD-style |
20 license</a>.</p> | |
226 | 21 |
22 <p>Toybox can be built as a single "swiss army knife" executable (ala BusyBox | |
23 or Red Hat's Nash), or each command can be built as a traditional independent | |
24 executable.</p> | |
25 | |
26 <b><h2><a name="status" />What commands are implemented?</h2></b> | |
27 | |
28 <p>The current list of commands implemented by toybox is at the top of the | |
385 | 29 <a href=news.html>news page</a>. That list is updated when new commands |
410
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
30 go in. The list of commands yet to implement for the 1.0 release is in the |
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
31 <a href=todo.txt>todo list</a>.</p> |
226 | 32 |
33 <p>In general, configuring toybox for "defconfig" enables all the commands | |
34 compete enough to be useful. Configuring "allyesconfig" enables partially | |
35 implemented commands as well.</p> | |
36 | |
410
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
37 <p>Several toybox commands can do things other vesions can't. For example |
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
38 the toybox "df" isn't confused by initramfs the way other df implementations |
230 | 39 are. If initramfs is visible, df shows it like any other mount point.</p> |
40 | |
226 | 41 <b><h3>Command Shell</h3></b> |
42 <p>The Toybox Shell (toysh) aims to be a reasonable bash replacement. It | |
43 implements the "sh" and "toysh" commands, plus the built-in commands "cd" and | |
44 "exit". This is the largest single sub-project in toybox.</p> | |
45 | |
46 <p>The following additional commands may be built into the shell (but not as | |
47 separate executables): cd, exit, if, while, for, function, fg, bg, jobs, source, | |
410
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
48 <a href="http://opengroup.org/onlinepubs/9699919799/utilities/alias.html">alias</a>, |
226 | 49 export, set, unset, read, trap, and exec. (Note: not done yet.)</p> |
50 | |
51 </ul> | |
52 | |
53 <h2><a name="commands" />Which commands are planned?</h2> | |
54 | |
55 <p>The toybox <a href=todo.txt>todo list</a> mentions many potential commands | |
56 which may be added to this project. (Whether that file is readable by anybody | |
410
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
57 but the project's maintainer is open to debate.) The roadmap wiki in the |
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
58 nav bar has a more human readable version.</p> |
226 | 59 |
60 <p>The criteria for a toybox 1.0 release is that a system built from just the | |
410
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
61 Linux kernel, toybox, C library (such as uClibc), and a compiler (such as |
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
62 tinycc) can rebuild itself from source code.</p> |
226 | 63 |
64 <b><h3>Relevant Standards</h3></b> | |
65 | |
66 <p>Most commands are implemented according to | |
410
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
67 <a href=http://opengroup.org/onlinepubs/9699919799/idx/utilities.html>The |
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
68 Single Unix Specification version 4</a> where applicable. This does not mean |
226 | 69 that Toybox is implementing every SUSv3 utility: some such as SCCS and ed are |
70 obsolete, while others such as c99 are outside the scope of the project. | |
71 Toybox also isn't implementing full internationalization support: it should be | |
72 8-bit clean and handle UTF-8, but otherwise we leave this to X11 and higher | |
73 layers. And some things (like $CDPATH support in "cd") await a good | |
74 explanation of why to bother with them. (The standard provides an important | |
75 frame of reference, but is not infallable set of commandments to be blindly | |
76 obeyed.)</p> | |
77 | |
78 <p>The other major sources of commands are the Linux man pages, and testing | |
79 the behavior of existing commands (although not generally looking at their | |
410
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
80 source code), including the commands in Android's toolbox. SUSv4 does not |
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
81 include many basic commands such as "mount", "init", and "mke2fs", which are |
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
82 kind of nice to have.</p> |
226 | 83 |
84 <b><h2><a name="downloads" />Download</h2></b> | |
85 | |
86 <p>This project is maintained as a mercurial archive. To get a copy of the | |
87 current development version, either use mercurial (hg clone | |
425
312b8acb65aa
Fix bad link that was confusing people. (Oops.)
Rob Landley <rob@landley.net>
parents:
410
diff
changeset
|
88 http://landley.net/hg/toybox) or click on one of the zip/gz/bz2 links |
226 | 89 at the top of the <a href=/hg/toybox>mercurial archive browser</a> page to get |
90 an archive of the appropriate version. Click | |
91 <a href="/hg/toybox?cmd=tags">tags</a> to see all the tagged release | |
92 versions ("tip" is the current development version).</p> | |
93 | |
94 <p>The maintainer's <a href=/notes.html>development log</a> and the project's | |
410
3d87f15f4c60
Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents:
385
diff
changeset
|
95 <a href=http://lists.landley.net/listinfo.cgi/toybox-landley.net>mailing |
226 | 96 list</a> are also good ways to track what's going on with the project.</p> |
97 | |
360
f7780b485e6f
Remove header/footer includes to prepare for css instead.
Rob Landley <rob@landley.net>
parents:
230
diff
changeset
|
98 <b><h2><a name="toycans" />What's the toybox logo image?</h2></b> |
227 | 99 |
100 <p>It's <a href=toycans-big.jpg>carefully stacked soda cans</a>. Specifically, | |
101 it's a bunch of the original "Coke Zero" and "Pepsi One" cans, circa 2006, | |
228 | 102 stacked to spell out the binary values of the ascii string "Toybox", with |
103 null terminator at the bottom. (The big picture's on it's side because | |
104 the camera was held sideways to get a better shot.)</p> | |
105 | |
106 <p>No, it's not photoshopped, I actually had these cans until a coworker | |
107 who Totally Did Not Get It <sup><font size=-3><a href=http://www.timesys.com>tm</a></font></sup> threw them out one day after I'd gone home, | |
108 thinking they were recycling. (I still have two of each kind, but | |
109 Pepsi One seems discontinued and Coke Zero switched its can color | |
110 from black to grey, presumably in celebration. It was fun while it lasted...)</p> | |
365
8f0b24cc7cd7
Minor web page updates (put header/footer back, add a few <hr> tags).
Rob Landley <rob@landley.net>
parents:
360
diff
changeset
|
111 |
8f0b24cc7cd7
Minor web page updates (put header/footer back, add a few <hr> tags).
Rob Landley <rob@landley.net>
parents:
360
diff
changeset
|
112 <!--#include file="footer.html" --> |