Mercurial > hg > toybox
annotate www/index.html @ 41:a43bdc6f53af
Add bloat-o-meter, make bloatcheck, and scripts/showasm.
author | Rob Landley <rob@landley.net> |
---|---|
date | Sun, 26 Nov 2006 18:47:14 -0500 |
parents | 71bfd266fce9 |
children | 423911a1c6d2 |
rev | line source |
---|---|
22
64d6e0a2f030
The web page should be in the repository, and while I'm at it let's see if I
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1 <html><title>toybox</title> |
64d6e0a2f030
The web page should be in the repository, and while I'm at it let's see if I
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
2 <body> |
64d6e0a2f030
The web page should be in the repository, and while I'm at it let's see if I
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
3 |
24
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
4 <p>Warning: lots of this page is about what I plan to do, not what I've |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
5 already done. See <a href="#status>status</a> or <a href="/notes.html>my |
30
71bfd266fce9
I got the mercurial web browser thingy set up, note it on the web page.
Rob Landley <rob@landley.net>
parents:
24
diff
changeset
|
6 development blog</a>, or <a href="/hg/toybox">browse the mercurial |
71bfd266fce9
I got the mercurial web browser thingy set up, note it on the web page.
Rob Landley <rob@landley.net>
parents:
24
diff
changeset
|
7 archive</a>.</p> |
24
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
8 |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
9 <h2><a name="what" />What is ToyBox?</h2> |
23
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
10 |
24
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
11 <p>The Toybox project is creating simple implementations of all the Linux |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
12 command line utilities. Other goals are small size (the produced binaries |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
13 should total less than a megabyte, uncompressed), speed of execution, and |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
14 correctness of implementation (which is related to standards compliance, but |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
15 isn't quite the same thing). |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
16 Click for <a href="design.html">more about the design goals</a></p> |
23
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
17 |
24
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
18 <p>Toybox has configurable levels of functionality, and should scale from tiny |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
19 embedded systems up to full general purpose desktop and development |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
20 environments. The author plans to run it on his laptop, and the |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
21 <a href=/code/firmware>Firmware Linux</a> project is trying to get a complete |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
22 Linux system to rebuild itself from source code using toybox.</p> |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
23 |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
24 <p>Toybox is <a href=license.html>Licensed under GPL version 2</a>.</p> |
23
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
25 |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
26 <p>Toybox can be built as a single "swiss army knife" executable (ala BusyBox |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
27 or Red Hat's Nash), or each command can be built as a traditional independent |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
28 executable.</p> |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
29 |
24
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
30 <h2><a name="commands" />Which commands are planned?</h2> |
23
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
31 |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
32 <b><h3>Relevant Standards</h3></b> |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
33 |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
34 <p>Most commands are implemented according to |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
35 <a href=http://www.opengroup.org/onlinepubs/009695399/idx/utilities.html>The |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
36 Single Unix Specification version 3</a>. This does not mean that Toybox is |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
37 implementing every SUSv3 utility: some such as SCCS and ed are obsolete, while |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
38 others such as c99 are outside the scope of the project. Toybox also isn't |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
39 implementing full internationalization support: it should be 8-bit clean and |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
40 handle UTF-8, but otherwise we leave this to X11 and higher layers.</p> |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
41 |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
42 <p>The other major sources of commands are the Linux man pages, and testing |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
43 the behavior of existing commands (although not generally looking at their |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
44 source code).</p> |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
45 |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
46 <b><h3>Command Shell</h3></b> |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
47 <p>The Toybox Shell aims to be a reasonable bash replacement. It implements |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
48 the "sh" and "toysh" commands, plus the built-in commands "cd" and "exit". |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
49 The following additional commands may be built into the shell (but not as |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
50 separate executables): cd, exit, if, while, for, function, fg, bg, jobs, source, |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
51 <a href="http://www.opengroup.org/onlinepubs/009695399/utilities/alias.html">alias</a>, |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
52 export, set, unset, read, trap, and exec.</p> |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
53 |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
54 <b><h3>General Purpose Commands:</h3></b> |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
55 |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
56 <p>[TODO]</p> |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
57 |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
58 <b><h3>Development tools:</h3></b> |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
59 |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
60 <p>Commands: ar, make [TODO]</p> |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
61 |
24
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
62 <b><h2><a name="status />What commands are implemented?</h2></b> |
23
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
63 |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
64 <p>Toybox is a work in progress, and nowhere near a 1.0 release. The first |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
65 commit was September 27, 2006, and work is ongoing.</p> |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
66 |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
67 <p>Partial (in progress): sh/toysh (cd, exit), df, which.</p> |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
68 |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
69 <p>Complete: hello, pwd.</p> |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
70 |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
71 <p>Infrastructure:</p> |
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
72 |
24
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
73 <ul> |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
74 <li>main: toy_list[], toy_find(), toy_exec(), main/toybox_main().</li> |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
75 <ul>lib: llist, getmountlist(), error_msg/error_exit, xmalloc(), |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
76 strlcpy(), xexec(), xopen()/xread(), xgetcwd(), xabspath(), find_in_path(), |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
77 itoa().</li> |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
78 |
c8d0f1876c40
Web site updates, and a design document.
Rob Landley <rob@landley.net>
parents:
23
diff
changeset
|
79 <b><h2><a name="download" />Download</h2></b> |
23
a5e1ebc1d6ee
Redo the index page (flesh it out about halfway), and a couple tweaks to
Rob Landley <rob@landley.net>
parents:
22
diff
changeset
|
80 |
22
64d6e0a2f030
The web page should be in the repository, and while I'm at it let's see if I
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
81 <p>This project is maintained as a mercurial archive. To get a copy of the |
30
71bfd266fce9
I got the mercurial web browser thingy set up, note it on the web page.
Rob Landley <rob@landley.net>
parents:
24
diff
changeset
|
82 current development version, either use mercurial (hg clone |
71bfd266fce9
I got the mercurial web browser thingy set up, note it on the web page.
Rob Landley <rob@landley.net>
parents:
24
diff
changeset
|
83 http://landley.net/toybox) or click on one of the zip/gz/bz2 links |
71bfd266fce9
I got the mercurial web browser thingy set up, note it on the web page.
Rob Landley <rob@landley.net>
parents:
24
diff
changeset
|
84 at the top of the <a href=/hg/toybox>mercurial archive browser</a> page to get |
71bfd266fce9
I got the mercurial web browser thingy set up, note it on the web page.
Rob Landley <rob@landley.net>
parents:
24
diff
changeset
|
85 an archive of the appropriate version. Click |
71bfd266fce9
I got the mercurial web browser thingy set up, note it on the web page.
Rob Landley <rob@landley.net>
parents:
24
diff
changeset
|
86 <a href="/hg/toybox?cmd=tags">tags</a> to the tagged release versions ("tip" |
71bfd266fce9
I got the mercurial web browser thingy set up, note it on the web page.
Rob Landley <rob@landley.net>
parents:
24
diff
changeset
|
87 is the current development version).</p> |
22
64d6e0a2f030
The web page should be in the repository, and while I'm at it let's see if I
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
88 |
64d6e0a2f030
The web page should be in the repository, and while I'm at it let's see if I
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
89 <p>My <a href=/notes.html>development log</a> is currently the best way to |
64d6e0a2f030
The web page should be in the repository, and while I'm at it let's see if I
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
90 track what's going on with this project. When I get this moved to my new |
30
71bfd266fce9
I got the mercurial web browser thingy set up, note it on the web page.
Rob Landley <rob@landley.net>
parents:
24
diff
changeset
|
91 server, I need to put up a mailing list and add toybox.landley.net as a |
71bfd266fce9
I got the mercurial web browser thingy set up, note it on the web page.
Rob Landley <rob@landley.net>
parents:
24
diff
changeset
|
92 virtual domain.</p> |