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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
79855f5dc085 Web page tweaks.
Rob Landley <rob@landley.net>
parents: 836
diff changeset
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
79855f5dc085 Web page tweaks.
Rob Landley <rob@landley.net>
parents: 836
diff changeset
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