annotate www/roadmap.html @ 1515:7971a3149eec draft

Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
author Rob Landley <rob@landley.net>
date Tue, 07 Oct 2014 14:11:54 -0500
parents be6b0a0204ee
children 423e04b90469
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1180
94eb7b9127d2 Change header and pages so each page has its own title.
Rob Landley <rob@landley.net>
parents: 1175
diff changeset
1 <html><head><title>toybox roadmap</title>
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
2 <!--#include file="header.html" -->
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
3 <title>Toybox Roadmap</title>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
4
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
5 <h2>Goals and use cases</h2>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
6
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
7 <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
8 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
9 for Toybox's 1.0 release.</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
10
805
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
11 <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
12 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
13 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
14 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
15 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
16
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
17 <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
18 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
19 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
20 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
21
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
22 <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
23 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
24 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
25 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
26 posix.</p>
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
27
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
28 <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
29 and progress towards implementing it.</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
30
805
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
31 <ul>
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=#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
33 <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
34 <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
35 <li><a href=#android>Android Toolbox</a></li>
1246
04c69f3c7c9e Note commands bundled with glibc but not musl.
Rob Landley <rob@landley.net>
parents: 1205
diff changeset
36 <li>Miscelaneous: <a href=#klibc>klibc</a>, <a href=#glibc>glibc</a>,
04c69f3c7c9e Note commands bundled with glibc but not musl.
Rob Landley <rob@landley.net>
parents: 1205
diff changeset
37 <a href=#sash>sash</a>, <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
38 </ul>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
39
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
40 <hr />
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
41 <a name="standards">
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
42 <h2>Use case: standards compliance.</h2>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
43
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
44 <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
45 <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
46 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
47 legislate.)</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
48
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
49 <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
50 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
51 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
52 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
53 from three sources.</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
54
736
e7694c640f36 Update link to posix in docs (open group broke their website).
Rob Landley <rob@landley.net>
parents: 693
diff changeset
55 <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
56 section</a>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
57 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
58 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
59 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
60
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
61 <h3>Problems with the standard</h3>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
62
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
63 <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
64 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
65 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
66 resources but not create them.</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
67
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
68 <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
69 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
70 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
71
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
72 <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
73 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
74 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
75 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
76 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
77
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
78 <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
79 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
80 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
81 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
82
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
83 <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
84 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
85 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
86 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
87 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
88
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
89 <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
90 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
91 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
92 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
93 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
94 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
95
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
96 <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
97 implement:</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
98
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
99 <blockquote><b>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
100 <span id=posix>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
101 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
102 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
103 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
104 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
105 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
106 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
107 who xargs zcat
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
108 </span>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
109 </b></blockquote>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
110
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
111 <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
112
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
113 <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
114 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
115 fairly low.</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
116
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
117 <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
118 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
119 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
120 they DID standardize tends to be respected.</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
121
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
122 <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
123 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
124 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
125 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
126 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
127 ignored.</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
128
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
129 <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
130 utilities</a>:</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
131
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
132 <blockquote><b>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
133 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
134 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
135 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
136 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
137 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
138 tar umount useradd userdel usermod xargs zcat
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
139 </b></blockquote>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
140
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
141 <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
142 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
143 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
144 for examples.)</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
145
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
146 <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
147 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
148 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
149 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
150
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
151 <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
152 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
153 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
154 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
155 running, which toybox doesn't know).</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
156
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
157 <p>This leaves:</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
158
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
159 <blockquote><b>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
160 <span id=lsb>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
161 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
162 gunzip gzip hostname install killall md5sum
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
163 mknod mktemp mount passwd pidof sendmail seq shutdown
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
164 su sync tar umount useradd userdel usermod zcat
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
165 </span>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
166 </b></blockquote>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
167
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
168 <hr />
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
169 <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
170 <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
171
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
172 <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
173 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
174 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
175 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
176 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
177 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
178
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
179 <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
180 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
181 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
182 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
183
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
184 <blockquote><b>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
185 <span id=development>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
186 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
187 true uname wc which yes zcat
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
188 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
189 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
190 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
191 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
192 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
193 dnsdomainname ftpd ftpget ftpput gunzip ifconfig init less
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
194 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
195 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
196 </span>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
197 </b></blockquote>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
198
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
199 <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
200 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
201 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
202 when called under the name "bash".</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
203
1515
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
204 <p>The <a href=http://landley.net/aboriginal>Aboriginal Linux</a>
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
205 self-bootstrapping build still uses the following busybox commands,
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
206 not yet supplied by toybox:</p.
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
207
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
208 <blockquote><p>
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
209 ash awk bunzip2 bzip2 dd diff expr fdisk ftpd ftpget ftpput gunzip
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
210 gzip less man pgrep ping pkill ps route sed sh sha512sum tar test tr unxz vi
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
211 wget xzcat zcat</p></blockquote>
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
212
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
213 <p>Many of those are in "pending". Most of the archive commands are needed
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
214 because busybox tar doesn't call external versions. The remaining "difficult"
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
215 commands are vi, awk, and ash.</p>
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
216
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
217 <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
218 <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
219
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
220 <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
221 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
222 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
223 called "toolbox".</p>
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
224
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
225 <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
226 <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
227 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
228
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 <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
230
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 <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
232 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
233
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
234 <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
235 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
236 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
237 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
238 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
239 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
240 cp du grep watchdogd
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 <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
244 <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
245 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
246 </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
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 <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
249 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
250 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
251 command:</p>
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
252
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
253 <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
254 alarm exists lsusb readtty rotatefb setkey syren
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
255 </b></blockquote>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
256
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
257 <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
258
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 <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
260 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
261
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 <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
263
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 <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
265 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
266 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
267
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 <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
269 <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
270 <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
271 <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
272 <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
273 <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
274 <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
275 <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
276 <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
277 <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
278 </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
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>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
281 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
282 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
283 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
284
ae3455c2989b Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents: 639
diff changeset
285 <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
286 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
287
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 <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
289 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
290 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
291
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 <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
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>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
295
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
296 <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
297 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
298 getenforce
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
299 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
300 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
301 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
302 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
303 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
304 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
305 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
306 </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
307
ae3455c2989b Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents: 639
diff changeset
308 <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
309 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
310 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
311 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
312 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
313
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 <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
315 <blockquote><b>
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
316 <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
317 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
318 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
319 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
320 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
321 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
322 umount uptime vmstat watchprops watchdogd wipe
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
323 </span>
797
36b43eafab38 Wrong closing tag in roadmap.html.
Rob Landley <rob@landley.net>
parents: 757
diff changeset
324 </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
325
ae3455c2989b Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents: 639
diff changeset
326 <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
327 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
328
ae3455c2989b Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents: 639
diff changeset
329 <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
330 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
331 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
332 </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
333
ae3455c2989b Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents: 639
diff changeset
334 <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
335
ae3455c2989b Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents: 639
diff changeset
336 <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
337 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
338 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
339 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
340 </b></blockquote>
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 <hr /><a name=klibc />
896
79855f5dc085 Web page tweaks.
Rob Landley <rob@landley.net>
parents: 836
diff changeset
343 <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
344
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
345 <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
346 <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
347 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
348 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
349 <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
350 replacement.</p>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
351
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
352 <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
353 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
354 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
355
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
356 <blockquote><p>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
357 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
358 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
359 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
360 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
361 </p></blockquote>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
362
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
363 <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
364 <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
365 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
366 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
367 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
368 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
369
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
370 <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
371 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
372 (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
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 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
375 "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
376 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
377
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
378 <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
379 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
380 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
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>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
383 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
384 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
385
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
386 <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
387
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
388 <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
389 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
390
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
391 <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
392 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
393 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
394 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
395
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
396 <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
397 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
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>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
400 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
401 (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
402 <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
403 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
404 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
405 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
406 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
407 <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
408 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
409 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
410 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
411 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
412
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
413 <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
414
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
415 <blockquote><b>
1035
6b4529a50b72 Update status and roadmap pages, and status page generator script.
Rob Landley <rob@landley.net>
parents: 896
diff changeset
416 <span id=klibc_cmd>
805
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
417 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
418 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
419
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
420 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
421 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
422 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
423 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
424 ipconfig
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
425 resume
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
426 </span>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
427 </b></blockquote>
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 <hr />
1246
04c69f3c7c9e Note commands bundled with glibc but not musl.
Rob Landley <rob@landley.net>
parents: 1205
diff changeset
430 <a name=glibc />
04c69f3c7c9e Note commands bundled with glibc but not musl.
Rob Landley <rob@landley.net>
parents: 1205
diff changeset
431 <h2>glibc</h2>
04c69f3c7c9e Note commands bundled with glibc but not musl.
Rob Landley <rob@landley.net>
parents: 1205
diff changeset
432
04c69f3c7c9e Note commands bundled with glibc but not musl.
Rob Landley <rob@landley.net>
parents: 1205
diff changeset
433 <p>Rather a lot of command line utilities come bundled with glibc:</p>
04c69f3c7c9e Note commands bundled with glibc but not musl.
Rob Landley <rob@landley.net>
parents: 1205
diff changeset
434
04c69f3c7c9e Note commands bundled with glibc but not musl.
Rob Landley <rob@landley.net>
parents: 1205
diff changeset
435 <blockquote><b>
04c69f3c7c9e Note commands bundled with glibc but not musl.
Rob Landley <rob@landley.net>
parents: 1205
diff changeset
436 catchsegv getconf getent iconv iconvconfig ldconfig ldd locale localedef
04c69f3c7c9e Note commands bundled with glibc but not musl.
Rob Landley <rob@landley.net>
parents: 1205
diff changeset
437 mtrace nscd rpcent rpcinfo tzselect zdump zic
04c69f3c7c9e Note commands bundled with glibc but not musl.
Rob Landley <rob@landley.net>
parents: 1205
diff changeset
438 </b></blockquote>
04c69f3c7c9e Note commands bundled with glibc but not musl.
Rob Landley <rob@landley.net>
parents: 1205
diff changeset
439
1251
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
440 <p>Of those, musl libc only implements ldd.</p>
1252
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
441
1251
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
442 <p>catchsegv is a rudimentary debugger, probably out of scope for toybox.</p>
1252
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
443
1251
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
444 <p>iconv has been <a href="#susv4">previously discussed</a>.</p>
1252
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
445
1251
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
446 <p>iconvconfig is only relevant if iconv is user-configurable; musl uses a
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
447 non-configurable iconv.</p>
1252
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
448
1251
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
449 <p>getconf is a posix utility which displays several variables from
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
450 unistd.h; it probably belongs in the development toolchain.</p>
1252
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
451
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
452 <p>getent handles retrieving entries from passwd-style databases
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
453 (in a rather lame way) and is trivially replacable by grep.</p>
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
454
1251
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
455 <p>locale was discussed under <a href=#susv4>posix</a>.
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
456 localedef compiles locale definitions, which musl currently does not use.</p>
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
457
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
458 <p>mtrace is a perl script to use the malloc debugging that glibc has built-in;
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
459 this is not relevant for musl, and would necessarily vary with libc. </p>
1252
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
460
1251
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
461 <p>nscd is a name service caching daemon, which is not yet relevant for musl.
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
462 rpcinfo and rpcent are related to rpc, which musl does not include.</p>
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
463
1252
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
464 <p>The remaining commands involve glibc's bundled timezone database,
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
465 which seems to be derived from the <a href=http://www.iana.org/time-zones>IANA
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
466 timezone database</a>. Unless we want to maintain our own fork of the
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
467 standards body's database like glibc does, these are of no interest,
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
468 but for completeness:</p>
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
469
1251
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
470 <p>tzselect outputs a TZ variable correponding to user input.
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
471 The documentation does not indicate how to use it in a script, but it seems
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
472 that Debian may have done so.
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
473 zdump prints current time in each of several timezones, optionally
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
474 outputting a great deal of extra information about each timezone.
1252
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
475 zic converts a description of a timezone to a file in tz format.</p>
1251
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
476
1252
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
477 <p>None of glibc's bundled commands are currently of interest to toybox.</p>
be6b0a0204ee On further analysis, none of the glibc commands are interesting.
Rob Landley <rob@landley.net>
parents: 1251
diff changeset
478
1251
6ca31490f581 roadmap: describe glibc commands.
Isaac Dunham <ibid.ag@gmail.com>
parents: 1246
diff changeset
479 </b></blockquote>
1246
04c69f3c7c9e Note commands bundled with glibc but not musl.
Rob Landley <rob@landley.net>
parents: 1205
diff changeset
480
04c69f3c7c9e Note commands bundled with glibc but not musl.
Rob Landley <rob@landley.net>
parents: 1205
diff changeset
481 <hr />
805
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
482 <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
483 <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
484
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
485 <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
486 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
487 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
488 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
489 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
490
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
491 <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
492 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
493 </p>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
494
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
495 <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
496 "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
497 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
498
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
499 <blockquote><b>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
500 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
501 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
502 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
503 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
504 </b></blockquote>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
505
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
506 <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
507 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
508 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
509 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
510 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
511
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
512 <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
513
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
514 <blockquote><b>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
515 <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
516 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
517 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
518 </span>
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
519 </b></blockquote>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
520
805
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
521 <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
522 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
523
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
524 <hr />
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
525 <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
526 <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
527
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
528 <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
529 implemented:</p>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
530
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
531 <blockquote><p>
1035
6b4529a50b72 Update status and roadmap pages, and status page generator script.
Rob Landley <rob@landley.net>
parents: 896
diff changeset
532 <span id=sbase_cmd>
805
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
533 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
534 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
535 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
536 </span>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
537 </p></blockquote>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
538
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
539 <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
540
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
541 <blockquote><p>
1035
6b4529a50b72 Update status and roadmap pages, and status page generator script.
Rob Landley <rob@landley.net>
parents: 896
diff changeset
542 <span id=sbase_cmd>
805
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
543 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
544 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
545 who
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
546 </span>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
547 </p></blockquote>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
548
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
549 <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
550 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
551
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
552 <hr />
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
553 <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
554 <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
555
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
556 <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
557 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
558 <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
559 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
560 </p>
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>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
563 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
564 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
565
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
566 <blockquote><b>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
567 <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
568 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
569 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
570 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
571 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
572 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
573 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
574 </span>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
575 </b></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>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
578 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
579 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
580 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
581 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
582 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
583 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
584 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
585 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
586 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
587 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
588
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
589 <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
590 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
591
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
592 <blockquote>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
593 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
594 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
595 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
596 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
597 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
598 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
599 </blockquote>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
600
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
601
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
602 <hr />
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
603 <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
604 <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
605
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
606 <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
607 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
608 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
609 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
610 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
611
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
612 <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
613 <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
614 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
615 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
616 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
617 --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
618 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
619
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
620 <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
621 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
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 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
625 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
626 </p></blockquote>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
627
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
628 <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
629 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
630 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
631
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
632 <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
633
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
634 <blockquote><p>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
635 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
636 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
637 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
638 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
639 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
640 umount waitdev
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
641 </p></blockquote>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
642
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
643 <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
644 "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
645 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
646 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
647
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
648 <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
649 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
650 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
651 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
652 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
653
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
654 <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
655
836
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
656 <p>Verdict: ignore</p>
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
657
805
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
658 <hr />
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
659 <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
660 <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
661
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
662 <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
663 <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
664 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
665 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
666 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
667 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
668 ball.)</p>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
669
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
670 <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
671 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
672
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
673 <blockquote><p>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
674 [ 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
675 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
676 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
677 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
678 </p></blockquote>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
679
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
680 <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
681 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
682 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
683 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
684 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
685 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
686 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
687 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
688
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
689 <blockquote><p>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
690 <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
691 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
692 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
693 </span>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
694 </p></blockquote>
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
695
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 797
diff changeset
696 <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
697
836
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
698 <p>Verdict: ignore</p>
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
699
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
700 <hr />
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
701 <a name=BsdBox />
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
702 <h2>BsdBox</h2>
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
703
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
704 <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
705
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
706 <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
707 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
708 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
709 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
710
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
711 <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
712
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
713 <p>Verdict: ignore.</p>
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
714
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
715 <hr />
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
716 <a name=slowaris />
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
717 <h2>OpenSolaris Busybox</h2>
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
718
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
719 <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
720 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
721
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
722 <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
723 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
724 OpenSolaris.</p>
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
725
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
726 <p>Verdict: ignore.</p>
97824b1523a8 Where I left off on analysis of other multicall binaries...
Rob Landley <rob@landley.net>
parents: 805
diff changeset
727
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
728 <hr />
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
729 <h2>Requests:</h2>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
730
1515
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
731 <p>The following additional commands have been requested (and often submitted)
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
732 by various users:</p>
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
733 <blockquote><b>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
734 <span id=request>
1175
0e1b95219311 A few more commands in request section of roadmap.
Rob Landley <rob@landley.net>
parents: 1035
diff changeset
735 dig 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
736 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
737 traceroute unzip usleep vconfig zip free login modinfo unshare netcat help w
1175
0e1b95219311 A few more commands in request section of roadmap.
Rob Landley <rob@landley.net>
parents: 1035
diff changeset
738 ntpd iwconfig iwlist rdate
1205
bd745ae2b115 Update status page.
Rob Landley <rob@landley.net>
parents: 1180
diff changeset
739 dos2unix unix2dos catv clear
bd745ae2b115 Update status page.
Rob Landley <rob@landley.net>
parents: 1180
diff changeset
740 pmap realpath setsid timeout truncate
bd745ae2b115 Update status page.
Rob Landley <rob@landley.net>
parents: 1180
diff changeset
741 mkswap swapon swapoff
bd745ae2b115 Update status page.
Rob Landley <rob@landley.net>
parents: 1180
diff changeset
742 count oneit fstype
bd745ae2b115 Update status page.
Rob Landley <rob@landley.net>
parents: 1180
diff changeset
743 acpi blkid eject pwdx
1515
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
744 sulogin rfkill bootchartd
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
745 arp makedevs sysctl killall5 crond crontab deluser last mkpasswd watch
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
746 ipaddr iplink iproute blockdev rpm2cpio arping brctl dumpleases fsck
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
747 tcpsvd tftpd
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
748 factor fallocate fsfreeze inotifyd lspci nbd-client partprobe strings
7971a3149eec Basic update of the roadmap and status pages. (Both need a good scrub and polish beyond this.)
Rob Landley <rob@landley.net>
parents: 1252
diff changeset
749
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
750 </span>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
751 </b></blockquote>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
752
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
753 <!-- #include "footer.html" -->
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
754