annotate www/roadmap.html @ 693:4a5a250e0633

Announce release, add anchor tags to roadmap, tweak downloads in header (new bin directory pointing to downloads/binaries/$CURRENT).
author Rob Landley <rob@landley.net>
date Tue, 13 Nov 2012 16:13:45 -0600
parents ae3455c2989b
children e7694c640f36
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
1 <!--#include file="header.html" -->
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
2 <title>Toybox Roadmap</title>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
3
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
4 <h2>Goals and use cases</h2>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
5
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
6 <p>We have several potential use cases for a new set of command line
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
7 utilities, and are using those to determine which commands to implement
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
8 for Toybox's 1.0 release.</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
9
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
10 <p>Our current candidate list combines the commands toybox already implements,
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
11 the development environment command list, the toolbox standard commands,
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
12 various vendor configurations of busybox, a selected subset of the SUSv4
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
13 standard, a couple of the less-insane bits of LSB, a few outright requests,
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
14 plus additional to-be-determined shell functionality.</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
15
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
16 <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
17 and progress towards implementing it.</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
18
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
19 <hr />
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
20 <a name="standards">
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
21 <h2>Use case: standards compliance.</h2>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
22
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
23 <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
24 <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
25 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
26 legislate.)</p>
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>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
29 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
30 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
31 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
32 from three sources.</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
33
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
34 <p>The <a href="http://opengroup.org/onlinepubs/9699919799/idx/utilities.html">"utilities"
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
35 section</a>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
36 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
37 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
38 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
39
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
40 <h3>Problems with the standard</h3>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
41
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
42 <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
43 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
44 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
45 resources but not create them.</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
46
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
47 <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
48 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
49 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
50
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
51 <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
52 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
53 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
54 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
55 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
56
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
57 <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
58 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
59 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
60 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
61
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
62 <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
63 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
64 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
65 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
66 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
67
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
68 <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
69 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
70 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
71 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
72 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
73 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
74
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
75 <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
76 implement:</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 <blockquote><b>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
79 <span id=posix>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
80 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
81 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
82 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
83 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
84 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
85 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
86 who xargs zcat
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
87 </span>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
88 </b></blockquote>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
89
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
90 <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
91
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
92 <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
93 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
94 fairly low.</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>POSIX allowed its standards process to be compromised
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
97 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
98 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
99 they DID standardize tends to be respected.</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
100
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
101 <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
102 pressure by including special-case crap, such as allowing Red Hat to shoehorn
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
103 RPM on the standard even though all sorts of distros (from Debian to Slackware)
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
104 don't use it and probably never will. This means anything in the LSB is
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
105 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
106 ignored.</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
107
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
108 <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
109 utilities</a>:</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
110
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
111 <blockquote><b>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
112 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
113 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
114 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
115 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
116 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
117 tar umount useradd userdel usermod xargs zcat
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
118 </b></blockquote>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
119
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
120 <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
121 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
122 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
123 for examples.)</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
124
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
125 <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
126 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
127 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
128 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
129
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
130 <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
131 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
132 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
133 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
134 running, which toybox doesn't know).</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
135
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
136 <p>This leaves:</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
137
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
138 <blockquote><b>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
139 <span id=lsb>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
140 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
141 gunzip gzip hostname install killall md5sum
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
142 mknod mktemp mount passwd pidof sendmail seq shutdown
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
143 su sync tar umount useradd userdel usermod zcat
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
144 </span>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
145 </b></blockquote>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
146
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
147 <hr />
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
148 <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
149 <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
150
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
151 <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
152 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
153 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
154 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
155 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
156 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
157
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
158 <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
159 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
160 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
161 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
162
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
163 <blockquote><b>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
164 <span id=development>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
165 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
166 true uname wc which yes zcat
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
167 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
168 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
169 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
170 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
171 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
172 dnsdomainname ftpd ftpget ftpput gunzip ifconfig init less
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
173 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
174 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
175 </span>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
176 </b></blockquote>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
177
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
178 <p>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
179 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
180 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
181 when called under the name "bash".</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
182
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
183 <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
184 <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
185
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
186 <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
187 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
188 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
189 called "toolbox".</p>
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
190
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
191 <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
192 <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
193 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
194
ae3455c2989b Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents: 639
diff changeset
195 <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
196
ae3455c2989b Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents: 639
diff changeset
197 <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
198 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
199
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
200 <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
201 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
202 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
203 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
204 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
205 mv schedtop top iftop id uptime vmstat nandread ionice touch lsof md5 r
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
206 </b></blockquote>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
207
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
208 <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
209 <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
210 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
211 </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
212
ae3455c2989b Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents: 639
diff changeset
213 <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
214 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
215 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
216 command:</p>
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
217
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
218 <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
219 alarm exists lsusb readtty rotatefb setkey syren
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
220 </b></blockquote>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
221
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
222 <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
223
ae3455c2989b Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents: 639
diff changeset
224 <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
225 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
226
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 <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
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 <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
230 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
231 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
232
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 <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
234 <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
235 <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
236 <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
237 <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
238 <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
239 <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
240 <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
241 <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
242 <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
243 </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
244
ae3455c2989b Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents: 639
diff changeset
245 <p>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
246 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
247 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
248 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
249
ae3455c2989b Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents: 639
diff changeset
250 <p>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
251 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
252
ae3455c2989b Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents: 639
diff changeset
253 <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
254 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
255 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
256
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>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
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>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
260
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
261 <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
262 alarm ash cat chcon chmod chown cmp date dd df dmesg exists fs_mgr getenforce
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 getevent getprop getsebool gpttool hd id ifconfig iftop init insmod 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
264 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
265 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
266 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
267 runcon schedtop sdcard sendevent setconsole setenforce setkey setprop setsebool
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 sleep smd start stop sync syren top touch umount uptime vmstat watchprops wipe
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 </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
270
ae3455c2989b Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents: 639
diff changeset
271 <p>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
272 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
273 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
274 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
275 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
276
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 <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
278 <blockquote><b>
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
279 <span id=toolbox>
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
280 cat chmod chown cmp date dd df dmesg getevent getprop hd id ifconfig iftop
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 insmod ioctl ionice kill ln log logcat logwrapper ls lsmod lsof lsusb md5 mkdir
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 mount mv nandread
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 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
284 schedtop sendevent setconsole setprop sleep smd start stop sync top touch
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 umount uptime vmstat watchprops wipe
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
286 </span>
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
287 <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
288
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 <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
290 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
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 <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
293 cat chmod chown cmp date dd df dmesg id ifconfig insmod kill ln ls lsmod
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 mkdir mount mv ps renice rm rmdir rmmod route sleep sync top touch 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
295 </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
296
ae3455c2989b Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents: 639
diff changeset
297 <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
298
ae3455c2989b Update roadmap/status with new toolbox analysis based on android system/core git repo.
Rob Landley <rob@landley.net>
parents: 639
diff changeset
299 <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
300 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
301 newfs_msdos notify printenv r reboot schedtop sendevent 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
302 setprop smd start stop top uptime vmstat watchprops wipe
639
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
303 </b></blockquote>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
304
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
305 <hr />
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
306 <h2>Requests:</h2>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
307
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
308 <p>The following additional commands have been requested by various users:</p>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
309 <blockquote><b>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
310 <span id=request>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
311 freeramdisk getty halt hexdump hwclock klogd modprobe ping ping6 pivot_root
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
312 poweroff sfdisk sudo syslogd taskset telnet telnetd tracepath traceroute unzip
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
313 usleep vconfig zip free login modinfo unshare netcat help
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
314 </span>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
315 </b></blockquote>
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
316
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
317 <!-- #include "footer.html" -->
3c591e7a367d More web page roadmap/status update stuff.
Rob Landley <rob@landley.net>
parents:
diff changeset
318