annotate www/roadmap.html @ 797:36b43eafab38

Wrong closing tag in roadmap.html.
author Rob Landley <rob@landley.net>
date Thu, 31 Jan 2013 04:05:56 -0600
parents 4094f14c47a2
children 0db28494d17d
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,
736
e7694c640f36 Update link to posix in docs (open group broke their website).
Rob Landley <rob@landley.net>
parents: 693
diff changeset
12 various vendor configurations of busybox, a selected subset of the POSIX/SUSv4
639
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
736
e7694c640f36 Update link to posix in docs (open group broke their website).
Rob Landley <rob@landley.net>
parents: 693
diff changeset
34 <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
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
736
e7694c640f36 Update link to posix in docs (open group broke their website).
Rob Landley <rob@landley.net>
parents: 693
diff changeset
103 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
104 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
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>
797
36b43eafab38 Wrong closing tag in roadmap.html.
Rob Landley <rob@landley.net>
parents: 757
diff changeset
287 </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
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
757
4094f14c47a2 Update mkstatus.py, roadmap.html, and status.html.
Rob Landley <rob@landley.net>
parents: 736
diff changeset
312 poweroff rev sfdisk sudo syslogd taskset telnet telnetd tracepath traceroute
4094f14c47a2 Update mkstatus.py, roadmap.html, and status.html.
Rob Landley <rob@landley.net>
parents: 736
diff changeset
313 unzip usleep vconfig zip free login modinfo unshare netcat help w
639
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