Mercurial > hg > toybox
annotate www/roadmap.html @ 896:79855f5dc085
Web page tweaks.
author | Rob Landley <rob@landley.net> |
---|---|
date | Fri, 10 May 2013 18:54:14 -0500 |
parents | 97824b1523a8 |
children | 6b4529a50b72 |
rev | line source |
---|---|
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1 <!--#include file="header.html" --> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
2 <title>Toybox Roadmap</title> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
3 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
4 <h2>Goals and use cases</h2> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
5 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
6 <p>We have several potential use cases for a new set of command line |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
7 utilities, and are using those to determine which commands to implement |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
8 for Toybox's 1.0 release.</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
9 |
805
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
10 <p>The most interesting standards are POSIX-2008 (also known as the Single |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
11 Unix Specification version 4) and the Linux Standard Base (version 4.1). |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
12 The main test harness including toybox in Aboriginal Linux and if that can |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
13 build itself using the result to build Linux From Scratch (version 6.8). |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
14 We also aim to replace Android's Toolbox.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
15 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
16 <p>At a secondary level we'd like to meet other use cases. We've analyzed |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
17 the commands provided by similar projects (klibc, sash, sbase, s6, embutils, |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
18 nash, and beastiebox), along with various vendor configurations of busybox, |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
19 and some end user requests.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
20 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
21 <p>Finally, we'd like to provide a good replacement for the Bash shell, |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
22 which was the first program Linux ever ran and remains the standard shell |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
23 of Linux no matter what Ubuntu says. This doesn't mean including the full |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
24 set of Bash 4.x functionality, but does involve {various,features} beyond |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
25 posix.</p> |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
26 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
27 <p>See the <a href=status.html>status page</a> for the combined list |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
28 and progress towards implementing it.</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
29 |
805
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
30 <ul> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
31 <li><a href=#susv4>POSIX-2008/SUSv4</a></li> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
32 <li><a href=#sigh>Linux "Standard" Base</a></li> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
33 <li><a href=#dev_env>Development Environment</a></li> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
34 <li><a href=#android>Android Toolbox</a></li> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
35 <li>Miscelaneous: <a href=#klibc>klibc</a>, <a href=#sash>sash</a>, |
836
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
36 <a href=#sbase>sbase</a>, <a href=#s6>s6</a>...</li> |
805
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
37 </ul> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
38 |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
39 <hr /> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
40 <a name="standards"> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
41 <h2>Use case: standards compliance.</h2> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
42 |
693
4a5a250e0633
Announce release, add anchor tags to roadmap, tweak downloads in header (new bin directory pointing to downloads/binaries/$CURRENT).
Rob Landley <rob@landley.net>
parents:
678
diff
changeset
|
43 <h3><a name=susv4 /><a href="#susv4">POSIX-2008/SUSv4</a></h3> |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
44 <p>The best standards are the kind that describe reality, rather than |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
45 attempting to impose a new one. (I.E. a good standard should document, not |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
46 legislate.)</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
47 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
48 <p>The kind of standards which describe existing reality tend to be approved by |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
49 more than one standards body, such ANSI and ISO both approving C. That's why |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
50 the IEEE POSIX committee's 2008 standard, the Single Unix Specification version |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
51 4, and the Open Group Base Specification edition 7 are all the same standard |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
52 from three sources.</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
53 |
736
e7694c640f36
Update link to posix in docs (open group broke their website).
Rob Landley <rob@landley.net>
parents:
693
diff
changeset
|
54 <p>The <a href="http://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.html">"utilities" |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
55 section</a> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
56 of these standards is devoted to the unix command line, and are the best such |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
57 standard for our purposes. (My earlier work on BusyBox was implemented with |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
58 regard to SUSv3, an earlier version of this standard.)</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
59 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
60 <h3>Problems with the standard</h3> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
61 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
62 <p>Unfortunately, these standards describe a subset of reality, lacking any |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
63 mention of commands such as init, login, or mount required to actually boot a |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
64 system. It provides ipcrm and ipcs, but not ipcmk, so you can use System V IPC |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
65 resources but not create them.</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
66 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
67 <p>These standards also contain a large number of commands that are |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
68 inappropriate for toybox to implement in its 1.0 release. (Perhaps some of |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
69 these could be reintroduced in later releases, but not now.)</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
70 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
71 <p>Starting with the full "utilities" list, we first remove generally obsolete |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
72 commands (compess ed ex pr uncompress uccp uustat uux), commands for the |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
73 pre-CVS "SCCS" source control system (admin delta get prs rmdel sact sccs unget |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
74 val what), fortran support (asa fort77), and batch processing support (batch |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
75 qalter qdel qhold qmove qmsg qrerun qrls qselect qsig qstat qsub).</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
76 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
77 <p>Some commands are for a compiler toolchain (ar c99 cflow ctags cxref gencat |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
78 iconv lex m4 make nm strings strip tsort yacc), which is outside of toybox's |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
79 mandate and should be supplied externally. (Again, some of these may be |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
80 revisited later, but not for toybox 1.0.)</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
81 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
82 <p>Some commands are part of a command shell, and cannot be implemented as |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
83 separate executables (alias bg cd command fc fg getopts hash jobs kill read |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
84 type ulimit umask unalias wait). These may be revisited as part of a built-in |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
85 toybox shell, but are not exported into $PATH via symlinks. (If you fork a |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
86 child process and have it "cd" then exit, you've accomplished nothing.)</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
87 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
88 <p>A few other commands are judgement calls, providing command-line |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
89 internationalization support (iconv locale localedef), System V inter-process |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
90 communication (ipcrm ipcs), and cross-tty communication from the minicomputer |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
91 days (talk mesg write). The "pax" utility was supplanted by tar, "mailx" is |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
92 a command line email client, and "lp" submits files for printing to... what |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
93 exactly? (cups?) The standard defines crontab but not crond.</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
94 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
95 <p>Removing all of that leaves the following commands, which toybox should |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
96 implement:</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
97 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
98 <blockquote><b> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
99 <span id=posix> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
100 at awk basename bc cal cat chgrp chmod chown cksum cmp comm cp |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
101 csplit cut date dd df diff dirname du echo env expand expr false file find |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
102 fold fuser getconf grep head id join kill link ln logger logname ls man |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
103 mkdir mkfifo more mv newgrp nice nl nohup od paste patch pathchk printf ps |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
104 pwd renice rm rmdir sed sh sleep sort split stty tabs tail tee test time |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
105 touch tput tr true tty uname unexpand uniq unlink uudecode uuencode vi wc |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
106 who xargs zcat |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
107 </span> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
108 </b></blockquote> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
109 |
693
4a5a250e0633
Announce release, add anchor tags to roadmap, tweak downloads in header (new bin directory pointing to downloads/binaries/$CURRENT).
Rob Landley <rob@landley.net>
parents:
678
diff
changeset
|
110 <h3><a name=sigh /><a href="#sigh">Linux Standard Base</a></h3> |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
111 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
112 <p>One attempt to supplement POSIX towards an actual usable system was the |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
113 Linux Standard Base. Unfortunately, the quality of this "standard" is |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
114 fairly low.</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
115 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
116 <p>POSIX allowed its standards process to be compromised |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
117 by leaving things out, thus allowing IBM mainframes and Windows NT to drive |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
118 a truck through the holes and declare themselves compilant. But it means what |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
119 they DID standardize tends to be respected.</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
120 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
121 <p>The Linux Standard Base's failure mode is different, they respond to |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
122 pressure by including special-case crap, such as allowing Red Hat to shoehorn |
736
e7694c640f36
Update link to posix in docs (open group broke their website).
Rob Landley <rob@landley.net>
parents:
693
diff
changeset
|
123 RPM on the standard even though all sorts of distros (Debian, Slackware, Arch, |
e7694c640f36
Update link to posix in docs (open group broke their website).
Rob Landley <rob@landley.net>
parents:
693
diff
changeset
|
124 Gentoo) don't use it and probably never will. This means anything in the LSB is |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
125 at best a suggestion: arbitrary portions of this standard are widely |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
126 ignored.</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
127 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
128 <p>The LSB does specify a <a href=http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/cmdbehav.html>list of command line |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
129 utilities</a>:</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
130 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
131 <blockquote><b> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
132 ar at awk batch bc chfn chsh col cpio crontab df dmesg du echo egrep |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
133 fgrep file fuser gettext grep groupadd groupdel groupmod groups |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
134 gunzip gzip hostname install install_initd ipcrm ipcs killall lpr ls |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
135 lsb_release m4 md5sum mknod mktemp more mount msgfmt newgrp od passwd |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
136 patch pidof remove_initd renice sed sendmail seq sh shutdown su sync |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
137 tar umount useradd userdel usermod xargs zcat |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
138 </b></blockquote> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
139 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
140 <p>Where posix specifies one of those commands, LSB's deltas tend to be |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
141 accomodations for broken tool versions which aren't up to date with the |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
142 standard yet. (See <a href=http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/more.html>more</a> and <a href=http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/xargs.html>xargs</a> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
143 for examples.)</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
144 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
145 <p>Since we've already committed to using our own judgement to skip bits of |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
146 POSIX, and LSB's "judgement" in this regard is purely bug workarounds to declare |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
147 various legacy tool implementations "compliant", this means we're mostly |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
148 interested in the set of tools that aren't specified in posix at all.</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
149 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
150 <p>Of these, gettext and msgfmt are internationalization, install_initd and |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
151 remove_initd aren't present on ubuntu 10.04, lpr is out of scope, and |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
152 lsb_release is a distro issue (it's a nice command, but the output of |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
153 lsb_release -a is the name and version number of the linux distro you're |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
154 running, which toybox doesn't know).</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
155 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
156 <p>This leaves:</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
157 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
158 <blockquote><b> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
159 <span id=lsb> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
160 chfn chsh dmesg egrep fgrep groupadd groupdel groupmod groups |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
161 gunzip gzip hostname install killall md5sum |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
162 mknod mktemp mount passwd pidof sendmail seq shutdown |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
163 su sync tar umount useradd userdel usermod zcat |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
164 </span> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
165 </b></blockquote> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
166 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
167 <hr /> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
168 <a name="dev_env"> |
693
4a5a250e0633
Announce release, add anchor tags to roadmap, tweak downloads in header (new bin directory pointing to downloads/binaries/$CURRENT).
Rob Landley <rob@landley.net>
parents:
678
diff
changeset
|
169 <h2><a href="#dev_env">Use case: provide a self-hosting development environment</a></h2> |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
170 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
171 <p>The following commands are enough to build the Aboriginal Linux development |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
172 environment, boot it to a shell prompt, and build Linux From Scratch 6.8 under |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
173 it. (Aboriginal Linux currently uses BusyBox for this, thus provides a |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
174 drop-in test environment for toybox. We install both implementations side |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
175 by side, redirecting the symlinks a command at a time until the older |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
176 package is no longer used, and can be removed.)</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
177 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
178 <p>This use case includes running init scripts and other shell scripts, running |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
179 configure, make, and install in each package, and providing basic command line |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
180 facilities such as a text editor. (It does not include a compiler toolchain or |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
181 C library, those are outside the scope of this project.)</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
182 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
183 <blockquote><b> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
184 <span id=development> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
185 bzcat cat cp dirname echo env patch rmdir sha1sum sleep sort sync |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
186 true uname wc which yes zcat |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
187 awk basename bzip2 chmod chown cmp cut date dd diff |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
188 egrep expr find grep gzip head hostname id install ln ls |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
189 mkdir mktemp mv od readlink rm sed sh tail tar touch tr uniq |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
190 wget whoami xargs chgrp comm gunzip less logname man split |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
191 tee test time bunzip2 chgrp chroot comm cpio dmesg |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
192 dnsdomainname ftpd ftpget ftpput gunzip ifconfig init less |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
193 logname losetup man mdev mount mountpoint nc pgrep pkill |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
194 pwd route split stat switch_root tac umount vi |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
195 </span> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
196 </b></blockquote> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
197 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
198 <p>Note: Aboriginal Linux installs bash 2.05b as #!/bin/sh and its scripts |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
199 require bash extensions not present in shells such as busybox ash. |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
200 This means that toysh needs to supply several bash extensions _and_ work |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
201 when called under the name "bash".</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
202 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
203 <hr /> |
693
4a5a250e0633
Announce release, add anchor tags to roadmap, tweak downloads in header (new bin directory pointing to downloads/binaries/$CURRENT).
Rob Landley <rob@landley.net>
parents:
678
diff
changeset
|
204 <h2><a name=android /><a href="#android">Use case: Replacing Android Toolbox</a></h2> |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
205 |
678
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
206 <p>Android has a policy against GPL in userspace, so even though BusyBox |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
207 predates Android by many years, they couldn't use it. Instead they grabbed |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
208 an old version of ash and implemented their own command line utility set |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
209 called "toolbox".</p> |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
210 |
678
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
211 <p>Toolbox doesn't have its own repository, instead it's part of Android's |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
212 <a href=https://android.googlesource.com/platform/system/core>system/core |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
213 git repository</a> (this analysis looked at commit 51ccef27cab58).</p> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
214 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
215 <h3>Toolbox commands:</h3> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
216 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
217 <p>According to core/toolbox/Android.mk the toolbox directory builds the |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
218 following commands:</p> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
219 |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
220 <blockquote><b> |
678
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
221 ls mount cat ps kill ln insmod rmmod lsmod ifconfig setconsole |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
222 rm mkdir rmdir reboot getevent sendevent date wipe sync umount |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
223 start stop notify cmp dmesg route hd dd df getprop setprop watchprops |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
224 log sleep renice printenv smd chmod chown newfs_msdos netstat ioctl |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
225 mv schedtop top iftop id uptime vmstat nandread ionice touch lsof md5 r |
805
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
226 cp du grep watchdogd |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
227 </b></blockquote> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
228 |
678
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
229 <p>If selinux is enabled, you also get:</p> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
230 <blockquote><b> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
231 getenforce setenforce chcon restorecon runcon getsebool setsebool load_policy |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
232 </b></blockquote> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
233 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
234 <p>The Android.mk file also refers to dynarray.c and toolbox.c as library |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
235 code. This leaves the following apparently unused C files in toolbox/*.c, each |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
236 of which has a command_main() function and seems to implement a standalone |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
237 command:</p> |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
238 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
239 <blockquote><b> |
678
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
240 alarm exists lsusb readtty rotatefb setkey syren |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
241 </b></blockquote> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
242 |
678
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
243 <h3>Command shell (ash)</h3> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
244 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
245 <p>The core/sh subdirectory contains a fork of ash 1.17, and sucks in |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
246 liblinenoise to provide command line history/editing.</p> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
247 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
248 <h3>Other Android core commands</h3> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
249 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
250 <p>Other than the toolbox and sh directories, the currently interesting |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
251 subdirectories in the core repository are fs_mgr, gpttool, init, |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
252 logcat, logwrapper, mkbootimg, netcfg, run-as, and sdcard.</p> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
253 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
254 <ul> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
255 <li><b>fs_mgr</b> - subset of mount</li> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
256 <li><b>gpttool</b> - subset of fdisk</li> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
257 <li><b>init</b> - Android's PID 1</li> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
258 <li><b>logcat</b> - read android log format</li> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
259 <li><b>logwrapper</b> - redirect stdio to android log</li> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
260 <li><b>mkbootimg</b> - create signed boot image</li> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
261 <li><b>netcfg</b> - network configuration (sucks in libnetutils)</li> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
262 <li><b>run-as</b> - subset of sudo</li> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
263 <li><b>sdcard</b> - FUSE wrapper to squash UID/GID/permissions to what FAT supports.</li> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
264 </ul> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
265 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
266 <p>Almost all of these reinvent an existing wheel with less functionality and a |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
267 different user interface. We may want to provide that interface, but |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
268 implementing the full commands (mount, fdisk, init, ifconfig with dhcp, |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
269 and sudo) come first.</p> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
270 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
271 <p>Although logcat/logwrapper also reinvent a wheel, Android did so in the |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
272 kernel and these provide an interface to that.</p> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
273 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
274 <p>Also, gpttool and mkbootimg are install tools, and sdcard looks like a |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
275 testing tool. These aren't a priority if android wants to use its own |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
276 bespoke code to install itself.</p> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
277 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
278 <h3>Analysis</h3> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
279 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
280 <p>For reference, combining everything listed above, we get:</p> |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
281 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
282 <blockquote><b> |
805
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
283 alarm ash cat chcon chmod chown cmp cp date dd df dmesg du exists fs_mgr |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
284 getenforce |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
285 getevent getprop getsebool gpttool grep hd id ifconfig iftop init insmod ioctl |
678
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
286 ionice kill ln load_policy log logcat logwrapper ls lsmod lsof lsusb md5 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
287 mkbootimg mkdir mount mv nandread netcfg netstat newfs_msdos notify printenv |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
288 ps r readtty reboot renice restorecon rm rmdir rmmod rotatefb route run-as |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
289 runcon schedtop sdcard sendevent setconsole setenforce setkey setprop setsebool |
805
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
290 sleep smd start stop sync syren top touch umount uptime vmstat watchdogd |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
291 watchprops wipe |
678
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
292 </b></blockquote> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
293 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
294 <p>We may eventually implement all of that, but for toybox 1.0 we need to |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
295 focus a bit. For our first pass, let's ignore selinux, strip out the "unlisted" |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
296 commands except lsusb, and grab just logcat and logwrapper from the "core" |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
297 commands (since the rest have some full/standard version providing that |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
298 functionality, which we can implement a shim interface for later).</p> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
299 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
300 <p>This means toybox should implement:</p> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
301 <blockquote><b> |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
302 <span id=toolbox> |
805
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
303 cat chmod chown cmp cp date dd df dmesg du getevent getprop grep hd id ifconfig |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
304 iftop insmod ioctl ionice kill ln log logcat logwrapper ls lsmod lsof lsusb md5 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
305 mkdir mount mv nandread |
678
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
306 netstat newfs_msdos notify printenv ps r reboot renice rm rmdir rmmod route |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
307 schedtop sendevent setconsole setprop sleep smd start stop sync top touch |
805
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
308 umount uptime vmstat watchprops watchdogd wipe |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
309 </span> |
797
36b43eafab38
Wrong closing tag in roadmap.html.
Rob Landley <rob@landley.net>
parents:
757
diff
changeset
|
310 </b></blockquote> |
678
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
311 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
312 <p>The following Toolbox commands are already covered in previous |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
313 sections of this analysis:</p> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
314 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
315 <blockquote><b> |
805
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
316 cat chmod chown cmp cp date dd df dmesg du grep id ifconfig insmod kill ln ls |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
317 lsmod mkdir mount mv ps renice rm rmdir rmmod route sleep sync top touch umount |
678
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
318 </b></blockquote> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
319 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
320 <p>Which leaves the following commands as new from Toolbox:</p> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
321 |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
322 <blockquote><b> |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
323 getevent getprop hd iftop ioctl ionice log lsof nandread netstat |
ae3455c2989b
Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents:
639
diff
changeset
|
324 newfs_msdos notify printenv r reboot schedtop sendevent setconsole |
805
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
325 setprop smd start stop top uptime vmstat watchprops watchdogd wipe |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
326 </b></blockquote> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
327 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
328 <hr /><a name=klibc /> |
896 | 329 <h2>klibc:</h2> |
805
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
330 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
331 <p>Long ago some kernel developers came up with a project called |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
332 <a href=http://en.wikipedia.org/wiki/Klibc>klibc</a>. |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
333 After a decade of development it still has no web page or HOWTO, |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
334 and nobody's quite sure if the license is BSD or GPL. It inexplicably |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
335 <a href=http://www.infoworld.com/d/data-center/perl-isnt-going-anywhere-better-or-worse-211580>requires perl to build</a>, and seems like an ideal candidate for |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
336 replacement.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
337 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
338 <p>In addition to a C library even less capable than bionic (obsoleted by |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
339 musl), klibc builds a random assortment of executables to run init scripts |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
340 with. There's no multiplexer command, these are individual executables:</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
341 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
342 <blockquote><p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
343 cat chroot cpio dd dmesg false fixdep fstype gunzip gzip halt ipconfig kill |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
344 kinit ln losetup ls minips mkdir mkfifo mknodes |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
345 mksyntax mount mv nfsmount nuke pivot_root poweroff readlink reboot resume |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
346 run-init sh sha1hash sleep sync true umount uname zcat |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
347 </p></blockquote> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
348 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
349 <p>To get that list, build klibc according to the instructions (I |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
350 <a href=http://landley.net/notes-2013.html#23-01-2013>looked at</a> version |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
351 2.0.2 and did cd klibc-*; ln -s /output/of/kernel/make/headers_install |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
352 linux; make) then <b>echo $(for i in $(find . -type f); do file $i | grep -q |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
353 executable && basename $i; done | grep -v '[.]g$' | sort -u)</b> to find |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
354 executables, then eliminated the *.so files and *.shared duplicates.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
355 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
356 <p>Some of those binaries are build-time tools that don't get installed, |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
357 which removes mknodes, mksyntax, sha1hash, and fixdep from the list. |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
358 (And sha1hash is just an unpolished sha1sum anyway.)</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
359 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
360 <p>The run-init command is more commonly called switch_root, nuke is just |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
361 "rm -rf -- $@", and minips is more commonly called "ps". I'm not doing aliases |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
362 for the oddball names.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
363 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
364 <p>Yet more stale forks of dash and gzip sucked in here (see "dubious |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
365 license terms" above), adding nothing to the other projects we've looked at. |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
366 But we still need sh, gunzip, gzip, and zcat to replace this package.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
367 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
368 <p>By the time I did the analysis toybox already had cat, chroot, dmesg, false, |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
369 kill, ln, losetup, ls, mkdir, mkfifo, readlink, rm, switch_root, sleep, sync, |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
370 true, and uname.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
371 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
372 <p>The low hanging fruit is cpio, dd, ps, mv, and pivot_root.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
373 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
374 <p>The "kinit" command is another gratuitous rename, it's init running as PID 1. |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
375 The halt, poweroff, and reboot commands work with it.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
376 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
377 <p>I've got mount and umount queued up already, fstype and nfsmount go with |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
378 those. (And probably smbmount and p9mount, but this hasn't got one. Those |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
379 are all about querying for login credentials, probably workable into the |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
380 base mount command.)</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
381 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
382 <p>The ipconfig command here has a built in dhcp client, so it's ifconfig |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
383 and dhcpcd and maybe some other stuff.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
384 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
385 <p>The resume command is... weird. It finds a swap partition and reads data |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
386 from it into a /proc file, something the kernel is capable of doing itself. |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
387 (Even though the klibc author |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
388 <a href=http://www.zytor.com/pipermail/klibc/2006-June/001748.html>attempted |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
389 to remove</a> that capability from the kernel, current kernel/power/hibernate.c |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
390 still parses "resume=" on the command line). And yet various distros seem to |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
391 make use of klibc for this> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
392 Given the history of swsusp/hibernate (and |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
393 <a href=http://lwn.net/Articles/333007>TuxOnIce</a> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
394 and <a href=http://lwn.net/Articles/242107>kexec jump</a>) I've lost track |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
395 of the current state of the art here. Ah, Documentation/power/userland-swsusp.txt |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
396 has the API docs, and <a href=http://suspend.sf.net>here's a better |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
397 tool</a>...</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
398 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
399 <p>So the list of things actually in klibc are:</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
400 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
401 <blockquote><b> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
402 <span id=klibc_cmd /> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
403 cat chroot dmesg false kill ln losetup ls mkdir mkfifo readlink rm switch_root |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
404 sleep sync true uname |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
405 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
406 cpio dd ps mv pivot_root |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
407 mount nfsmount fstype umount |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
408 sh gunzip gzip zcat |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
409 kinit halt poweroff reboot |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
410 ipconfig |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
411 resume |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
412 </span> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
413 </b></blockquote> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
414 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
415 <hr /> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
416 <a name=sash /> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
417 <h2>Stand-Alone Shell</h2> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
418 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
419 <p>Wikipedia has <a href=http://en.wikipedia.org/wiki/Stand-alone_shell>a good |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
420 summary of sash</a>, with links. The original Stand-Alone Shell project reached |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
421 a stopping point, and then <a href=http://www.baiti.net/sash>"sash plus |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
422 patches"</a> extended it a bit further. The result is a megabyte executable |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
423 that provides 40 commands.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
424 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
425 <p>Sash is a shell with built-in commands. It doesn't have a multiplexer |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
426 command, meaning "sash ls -l" doesn't work (you have to go "sash -c 'ls -l'"). |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
427 </p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
428 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
429 <p>The list of commands can be obtained via building it and doing |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
430 "echo help | ./sash | awk '{print $1}' | sed 's/^-//' | xargs echo", which |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
431 gives us:</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
432 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
433 <blockquote><b> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
434 alias aliasall ar cd chattr chgrp chmod chown cmp cp chroot dd echo ed exec |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
435 exit file find grep gunzip gzip help kill losetup losetup ln ls lsattr mkdir |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
436 mknod more mount mv pivot_root printenv prompt pwd quit rm rmdir setenv source |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
437 sum sync tar touch umask umount unalias where |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
438 </b></blockquote> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
439 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
440 <p>Plus sh because it's a shell. A dozen or so commands can only sanely be |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
441 implemented as shell builtins (alias aliasall cd exec exit prompt quit setenv |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
442 source umask unalias), where is an alias for which, and at triage time toybox |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
443 already has chgrp, chmod, chown, cmp, cp, chroot, echo, help, kill, losetup, |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
444 ln, ls, mkdir, mknod, printenv, pwd, rm, rmdir, sync, and touch.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
445 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
446 <p>This leaves:</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
447 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
448 <blockquote><b> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
449 <span id=sash_cmd> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
450 ar chattr dd ed file find grep gunzip gzip lsattr more mount mv pivot_root |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
451 sh sum tar umount |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
452 </span> |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
453 </b></blockquote> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
454 |
805
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
455 <p>(For once, this project doesn't include a fork of gzip, instead |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
456 it sucks in -lz from the host.)</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
457 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
458 <hr /> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
459 <a name=sbase /> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
460 <h2>sbase:</h2> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
461 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
462 <p>It's <a href=http://git.suckless.org/sbase>on suckless</a>. So far it's |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
463 implemented:</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
464 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
465 <blockquote><p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
466 <span id=sbase_cmd /> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
467 basename cat chmod chown cksum cmp cp date dirname echo false fold grep head |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
468 kill ln ls mc mkdir mkfifo mv nl nohup pwd rm seq sleep sort tail tee test |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
469 touch true tty uname uniq wc yes |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
470 </span> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
471 </p></blockquote> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
472 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
473 <p>And has a TODO list:</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
474 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
475 <blockquote><p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
476 <span id=sbase_cmd /> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
477 cal chgrp chvt comm cut df diff du env expand expr id md5sum nice paste |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
478 printenv printf readlink rmdir seq sha1sum split sync test tr unexpand unlink |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
479 who |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
480 </span> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
481 </p></blockquote> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
482 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
483 <p>At triage time, of the first list I still need to do: fold grep mc mv nl. Of |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
484 the second list: diff expr paste printf split test tr unexpand who.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
485 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
486 <hr /> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
487 <a name=s6 /> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
488 <h2>s6</h2> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
489 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
490 <p>The website <a href=http://skarnet.org/software/>skarnet</a> has a bunch |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
491 of small utilities as part of something called "s6". This includes the |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
492 <a href=http://skarnet.org/software/s6-portable-utils>s6-portabile-utils</a> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
493 and the <a href=http://skarnet.org/software/s6-linux-utils>s6-linux-utils</a>. |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
494 </p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
495 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
496 <p>Both packages rely on multiple bespoke external libraries without which |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
497 they can't compile. The source is completely uncommented and doesn't wrap at |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
498 80 characters. Doing a find for *.c files brings up the following commands:</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
499 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
500 <blockquote><b> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
501 <span id=s6> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
502 basename cat chmod chown chroot clock cut devd dirname echo env expr false |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
503 format-filter freeramdisk grep halt head hiercopy hostname linkname ln |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
504 logwatch ls maximumtime memoryhog mkdir mkfifo mount nice nuke pause |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
505 pivotchroot poweroff printenv quote quote-filter reboot rename rmrf sleep |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
506 sort swapoff swapon sync tail test touch true umount uniquename unquote |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
507 unquote-filter update-symlinks |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
508 </span> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
509 </b></blockquote> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
510 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
511 <p>Triage: memoryhog isn't even listed on the website nor does it have |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
512 a documentation file, clock seems like a subset |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
513 of date, devd is some sort of netlink wrapper that spawns its command line |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
514 every time it gets a message (maybe this is meant to implement part of |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
515 udev/mdev?), format-filter is sort of awk's '{print $2}' function split out |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
516 into its own command, hiercopy a subset of "cp -r", maximumtime is something |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
517 I implemented as a shell script (more/timeout.sh in Aboriginal Linux), |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
518 nuke isn't the same as klibc (this one's "kill SIG -1" only with hardwared |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
519 SIG options), pause is a program that literally waits to be killed (I |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
520 generally sleep 999999999 which is a little over 30 years), |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
521 pivotchroot is a subset of switch_root, rmrf is rm -rf...</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
522 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
523 <p>I see "nuke" resurface, and if "rmrf" wasn't also here I might think |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
524 klibc had a point.</b> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
525 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
526 <blockquote> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
527 basename cat chmod chown chroot cut dirname echo env expr false |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
528 freeramdisk grep halt head hostname linkname ln |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
529 logwatch ls mkdir mkfifo mount nice |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
530 pivotchroot poweroff printenv quote quote-filter reboot rename sleep |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
531 sort swapoff swapon sync tail test touch true umount uniquename unquote |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
532 unquote-filter update-symlinks |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
533 </blockquote> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
534 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
535 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
536 <hr /> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
537 <a name=nash /> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
538 <h2>nash:</h2> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
539 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
540 <p>Red Hat's nash was part of its "mkinitrd" package, replacement for a shell |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
541 and utilities on the boot floppy back in the 1990's (the same general idea |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
542 as BusyBox, developed independently). Red Hat discontinued nash development |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
543 in 2010, replacing it with dracut (which collects together existing packages, |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
544 including busybox).</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
545 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
546 <p>I couldn't figure out how to beat source code out of |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
547 <a href=http://pkgs.fedoraproject.org/git/mkinitrd>Fedora's current git</a> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
548 repository. The last release version that used it was Fedora Core 12 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
549 which has <a href=http://archive.fedoraproject.org/pub/archive/fedora/linux/releases/12/Fedora/source/SRPMS/mkinitrd-6.0.93-1.fc12.src.rpm>a source rpm</a> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
550 that can be unwound with "rpm2cpio mkinitrd.src.rpm | cpio -i -d -H newc |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
551 --no-absolute-filenames" and in there is a mkinitrd-6.0.93.tar.bz2 which |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
552 has the source.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
553 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
554 <p>In addition to being a bit like a command shell, the nash man page lists the |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
555 following commands:</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
556 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
557 <blockquote><p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
558 access echo find losetup mkdevices mkdir mknod mkdmnod mkrootdev mount |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
559 pivot_root readlink raidautorun setquiet showlabels sleep switchroot umount |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
560 </p></blockquote> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
561 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
562 <p>Oddly, the only occurrence of the string pivot_root in the nash source code |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
563 is in the man page, the command isn't there. (It seems to have been removed |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
564 when the underscoreless switchroot went in.)</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
565 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
566 <p>A more complete list seems to be the handlers[] array in nash.c:</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
567 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
568 <blockquote><p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
569 access buildEnv cat cond cp daemonize dm echo exec exit find kernelopt |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
570 loadDrivers loadpolicy mkchardevs mkblktab mkblkdevs mkdir mkdmnod mknod |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
571 mkrootdev mount netname network null plymouth hotplug killplug losetup |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
572 ln ls raidautorun readlink resume resolveDevice rmparts setDeviceEnv |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
573 setquiet setuproot showelfinterp showlabels sleep stabilized status switchroot |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
574 umount waitdev |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
575 </p></blockquote> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
576 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
577 <p>This list is nuts: "plymouth" is an alias for "null" which is basically |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
578 "true" (which thie above list doesn't have). Things like buildEnv and |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
579 loadDrivers are bespoke Red Hat behavior that might as well be hardwired in |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
580 to nash's main() without being called.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
581 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
582 <p>Instead of eliminating items |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
583 from the list with an explanation for each, I'm just going to cherry pick |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
584 a few: the device mapper (dm, raidautorun) is probably interesting, |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
585 hotplug (may be obsolete due to kernel changes that now load firmware |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
586 directly), and another "resume" ala klibc.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
587 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
588 <p>But mostly: I don't care about this one. And neither does Red Hat anymore.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
589 |
836
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
590 <p>Verdict: ignore</p> |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
591 |
805
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
592 <hr /> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
593 <a name=beastiebox /> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
594 <h2>Beastiebox</h2> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
595 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
596 <p>Back in 2008, the BSD guys vented some busybox-envy |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
597 <a href=http://beastiebox.sourceforge.net>on sourceforge</a>. Then stopped. |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
598 Their repository is still in CVS, hasn't been touched in years, it's a giant |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
599 hairball of existing code sucked together. (The web page says the author |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
600 is aware of crunchgen, but decided to do this by hand anyway. This is not |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
601 a collection of new code, it's a katamari of existing code rolled up in a |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
602 ball.)</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
603 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
604 <p>Combining the set of commands listed on the web page with the set of |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
605 man pages in the source gives us:</P> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
606 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
607 <blockquote><p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
608 [ cat chmod cp csh date df disklabel dmesg echo ex fdisk fsck fsck_ffs getty |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
609 halt hostname ifconfig init kill less lesskey ln login ls lv mksh more mount |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
610 mount_ffs mv pfctl ping poweroff ps reboot rm route sed sh stty sysctl tar test |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
611 traceroute umount vi wiconfig |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
612 </p></blockquote> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
613 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
614 <p>Apparently lv is the missing link ed and vi, copyright 1982-1997 (do not |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
615 want), ex is another obsolete vi mode, lesskey is "used to |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
616 specify a set of key bindings to be used with less", and csh is a shell they |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
617 sucked in, [ is an alias for test. Several more bsd-isms that don't have Linux |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
618 equivalents (even in the ubuntu "install this package" search) are |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
619 disklabel, fsck_ffs, mount_ffs, and pfctl. And wiconfig is a wavelan interface |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
620 network card driver utility. Subtracting all that and the commands toybox |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
621 already implements at triage time, we get:</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
622 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
623 <blockquote><p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
624 <span id=beastiebox_cmd> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
625 fdisk fsck getty halt ifconfig init kill less mksh more mount mv ping poweroff |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
626 ps reboot route sed sh stty sysctl tar test traceroute umount vi |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
627 </span> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
628 </p></blockquote> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
629 |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
630 <p>Not a hugely interesting list, but eh.</p> |
0db28494d17d
Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents:
797
diff
changeset
|
631 |
836
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
632 <p>Verdict: ignore</p> |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
633 |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
634 <hr /> |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
635 <a name=BsdBox /> |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
636 <h2>BsdBox</h2> |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
637 |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
638 <p>Somebody decided to do a <a href=https://wiki.freebsd.org/AdrianChadd/BsdBox>multicall binary for freebsd</a>.</p> |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
639 |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
640 <p>They based it on crunchgen, a tool that glues existing programs together |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
641 into an archive and uses the name to execute the right one. It has no |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
642 simplification or code sharing benefits whatsoever, it's basically an |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
643 archiver that produces executables.</p> |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
644 |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
645 <p>That's about where I stopped reading.</p> |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
646 |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
647 <p>Verdict: ignore.</p> |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
648 |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
649 <hr /> |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
650 <a name=slowaris /> |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
651 <h2>OpenSolaris Busybox</h2> |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
652 |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
653 <p>Somebody <a href=http://hub.opensolaris.org/bin/view/Project+busybox/>wrote |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
654 a wiki page</a> saying that Busybox for OpenSolaris would be a good idea.</p> |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
655 |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
656 <p>The corresponding "files" tab is an auto-generated stub. The project never |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
657 even got as far as suggesting commands to include before Oracle discontinued |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
658 OpenSolaris.</p> |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
659 |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
660 <p>Verdict: ignore.</p> |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
661 |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
662 <hr /> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
663 <h2>Requests:</h2> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
664 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
665 <p>The following additional commands have been requested by various users:</p> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
666 <blockquote><b> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
667 <span id=request> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
668 freeramdisk getty halt hexdump hwclock klogd modprobe ping ping6 pivot_root |
836
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
669 poweroff readahead rev sfdisk sudo syslogd taskset telnet telnetd tracepath |
97824b1523a8
Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents:
805
diff
changeset
|
670 traceroute unzip usleep vconfig zip free login modinfo unshare netcat help w |
896 | 671 ntpd |
639
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
672 </span> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
673 </b></blockquote> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
674 |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
675 <!-- #include "footer.html" --> |
3c591e7a367d
More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
676 |