annotate www/about.html @ 385:bf7eea85f46c

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