1 TODO list for busybox in no particular order. Just because something
2 is listed here doesn't mean that it is going to be added to busybox,
3 or that doing so is even a good idea. It just means that I _might_ get
4 around to it some time. If you have any good ideas, please let me know.
6 * login/sulogin/passwd/getty/etc are part of tinylogin, and so are not
7 needed or wanted in busybox (or else I'd have to link in libcrypt).
9 * Networking apps are probably going to be split out some time soon into a
10 separate package (named perhaps tiny-netkit?). This currently includes
11 hostid, hostname, mnc, and ping.
18 * Allow tar to create archives with sockets, devices, and other special files
19 * Make insmod actually work
28 * expr (maybe?) (ash builtin?)
32 -----------------------
34 Compile with debugging on, run 'nm --size-sort ./busybox'
35 and then start with the biggest things and make them smaller...
38 -----------------------
41 busybox.defs.h is too big and hard to follow.
43 I either need to add a better build system (like the Linux kernel?)
44 or I need to split up busybox.defs.h into coherent chunks (i.e.
45 busybox.defs.h just has a bunch of:
47 #include "fileutils.h"
48 #include "shellutils.h"
50 which would then have smaller sets of #defines...
51 Hmm. Needs to be carefully thought out.
53 -----------------------
56 -rw-r--r-- 1000/1000 4398 2000-01-06 21:55 uniq.c
57 -rw-r--r-- 1000/1000 1568 1999-10-20 18:08 update.c
58 -rw-r----- 0/1000 1168 2000-01-29 21:03 update.o
59 -rw-r--r-- 1000/1000 22820 2000-01-05 11:36 utility.c
60 -rw-r----- 0/1000 7372 2000-01-29 21:03 utility.o
61 tar: Skipping to next file header
62 tar: Skipping to next file header
63 tar: Archive - EOF not on block boundary
64 tar: Error is not recoverable: exiting now
67 #1 You are storing by id instead of name like normal tar. Did you realize this?
68 (or am I missing some compile option? )ctar did not do this, and I don't think
69 it's a good idea for LRP.
72 ctar did not produce the EOF error like your tar does. I believe you need to
73 pad the end of the archive with at least 2 tarsized (512byte) blocks. (I
77 There is no exclude file(s) option to tar. LRP's packaging system can not
78 function without this. Will you have the time to add this soon?
81 -----------------------
87 Today, "mv" behaved as a cp -a and my disk becomed full. It does not
88 work properly either when renaming a directory into something else
89 (it produces a lot of disk activity when doing this).
92 -----------------------
97 /bin/busybox --install -s which makes all links to commands that it
98 can support (an optionnal -s should be used for symbolic links instead
102 -----------------------
105 > Have you ever thought of doig network logging in busybox syslogd ? It
106 > would quite make sense on embedded systems... :)
108 So far I had not considered it. Basically, you wish to have
109 messages from the embedded box logged to a remote network
110 syslog box, right? I can see that this would be useful.
111 I'll add this to the TODO list,
114 -----------------------
117 In utility.c:copyFile: It uses followLinks for both source and
118 destination files... is that right for `mv'? Will need to revisit
119 the GNU, freeBSD, and MINIX versions for this... Should read the
120 Unix98 and POSIX specs also.
122 -----------------------
124 I think that the add_inode &c in utility.c needs to also stow the
125 st_dev field, and that du.c should NOT call `reset_inode_list'
126 because there can be hard links from inside one argv/ to inside
127 another argv/. du.c probably ought to have an -x switch like GNU du
131 ------------------------------------------------------------------
134 Date: Fri, 25 Feb 2000 08:23:12 +0000 (GMT)
135 From: Riley Williams <rhw@MemAlpha.CX>
136 X-Sender: rhw@moo.cus.org.uk
137 To: almesber@lrc.di.epfl.ch
138 Cc: "Albert D. Cahalan" <acahalan@cs.uml.edu>,
139 Linux Kernel <linux-kernel@vger.rutgers.edu>
140 Subject: Re: What /proc should contain [was: /proc/driver/microcode]
141 In-Reply-To: <20000224165245.A29790@lrc.di.epfl.ch>
142 Message-ID: <Pine.LNX.4.21.0002250806220.8741-100000@moo.cus.org.uk>
143 Sender: owner-linux-kernel@vger.rutgers.edu
148 >> Nope, most /proc access is does via programs written in C.
150 > That varies a lot from file to file. E.g. I haven't seen any
151 > programs that are specificly designed to read /proc/atm/* yet,
152 > and I know of only one (fuser) that reads /proc/mounts,
153 > extracting only partial information (just to pick two examples
154 > that I'm quite familiar with).
156 As a point of reference, here's a slightly tweaked analysis of the
157 programs on the system I'm reading your mail on. Basically, I ran the
163 Q> strings $Z | grep /proc | sed "s=^=$Z ="
166 Q> use /{,s}bin/* /usr/{,s}bin/* | sort -u | tee proc-usage
168 ...and then went through it removing comments and print format
169 strings. Replace /proc with /dev and you'd soon have an equivalent
170 list for that - although I can report that such is MUCH larger...
172 There are three programs therein that refer to /proc/mounts ...
178 ...and, as you stated, none that refer to /proc/atm on this system.
179 However, as this is a RedHat Linux 5.0 based system, that's not
180 necessarily an up to date reference thereto...
182 Here's the list anyway...
184 /bin/kill /proc/%d/cmdline
185 /bin/kill /proc/%d/stat
187 /bin/mount /proc/devices
188 /bin/mount /proc/filesystems
189 /bin/mount /proc/mounts
191 /bin/netstat /proc/net
192 /bin/netstat /proc/net/appletalk
193 /bin/netstat /proc/net/ax25
194 /bin/netstat /proc/net/ax25_route
195 /bin/netstat /proc/net/dev
196 /bin/netstat /proc/net/ip_masquerade
197 /bin/netstat /proc/net/ipx
198 /bin/netstat /proc/net/ipx_route
199 /bin/netstat /proc/net/netstat
200 /bin/netstat /proc/net/nr
201 /bin/netstat /proc/net/nr_neigh
202 /bin/netstat /proc/net/nr_nodes
203 /bin/netstat /proc/net/raw
204 /bin/netstat /proc/net/route
205 /bin/netstat /proc/net/rt_cache
206 /bin/netstat /proc/net/snmp
207 /bin/netstat /proc/net/tcp
208 /bin/netstat /proc/net/udp
209 /bin/netstat /proc/net/unix
211 /bin/umount /proc/devices
212 /bin/umount /proc/mounts
214 /sbin/arp /proc/net/appletalk
215 /sbin/arp /proc/net/arp
216 /sbin/arp /proc/net/ax25
217 /sbin/arp /proc/net/ipx
218 /sbin/arp /proc/net/nr
219 /sbin/arp /proc/net/unix
221 /sbin/cardctl /proc/devices
223 /sbin/cardmgr /proc/devices
225 /sbin/fdisk /proc/ide/%s/media
226 /sbin/fdisk /proc/scsi/scsi
228 /sbin/getty /proc/version
230 /sbin/ifconfig /proc/net
231 /sbin/ifconfig /proc/net/appletalk
232 /sbin/ifconfig /proc/net/ax25
233 /sbin/ifconfig /proc/net/dev
234 /sbin/ifconfig /proc/net/ipx
235 /sbin/ifconfig /proc/net/nr
236 /sbin/ifconfig /proc/net/unix
238 /sbin/ifup /proc/sys/kernel/modprobe
240 /sbin/ipchains /proc/net/ip_fwchains
241 /sbin/ipchains /proc/net/ip_fwnames
242 /sbin/ipchains /proc/net/ip_masquerade
243 /sbin/ipchains /proc/sys/net/ipv4/ip_forward
245 /sbin/ipmaddr /proc/net/dev_mcast
246 /sbin/ipmaddr /proc/net/igmp
247 /sbin/ipmaddr /proc/net/igmp6
249 /sbin/iptunnel /proc/net/dev
251 /sbin/killall5 /proc/%s/cmdline
252 /sbin/killall5 /proc/%s/exe
253 /sbin/killall5 /proc/%s/stat
254 /sbin/killall5 /proc/version
256 /sbin/klogd /proc/kmsg
258 /sbin/lsmod /proc/modules
260 /sbin/modprobe /proc/modules
262 /sbin/pidof /proc/%s/cmdline
263 /sbin/pidof /proc/%s/exe
264 /sbin/pidof /proc/%s/stat
265 /sbin/pidof /proc/version
267 /sbin/probe /proc/pci
269 /sbin/rarp /proc/net/ax25
270 /sbin/rarp /proc/net/nr
271 /sbin/rarp /proc/net/rarp
273 /sbin/rmmod /proc/modules
275 /sbin/rmmod.static /proc/modules
277 /sbin/route /proc/net/appletalk
278 /sbin/route /proc/net/ax25
279 /sbin/route /proc/net/ax25_route
280 /sbin/route /proc/net/ipx
281 /sbin/route /proc/net/ipx_route
282 /sbin/route /proc/net/nr
283 /sbin/route /proc/net/nr_neigh
284 /sbin/route /proc/net/nr_nodes
285 /sbin/route /proc/net/route
286 /sbin/route /proc/net/rt_cache
287 /sbin/route /proc/net/unix
289 /sbin/scsi_info /proc/scsi
290 /sbin/scsi_info /proc/scsi/%s
291 /sbin/scsi_info /proc/scsi/scsi
293 /sbin/slattach /proc/net/ax25
294 /sbin/slattach /proc/net/nr
296 /sbin/swapoff /proc/swaps
298 /sbin/swapon /proc/swaps
300 /sbin/uugetty /proc/version
303 /usr/bin/dig /proc/interrupts
304 /usr/bin/dig /proc/meminfo
305 /usr/bin/dig /proc/rtc
306 /usr/bin/dig /proc/self/status
307 /usr/bin/dig /proc/stat
309 /usr/bin/dnsquery /proc/
310 /usr/bin/dnsquery /proc/interrupts
311 /usr/bin/dnsquery /proc/meminfo
312 /usr/bin/dnsquery /proc/rtc
313 /usr/bin/dnsquery /proc/self/status
314 /usr/bin/dnsquery /proc/stat
316 /usr/bin/eject /proc/mounts
318 /usr/bin/emacs /proc/loadavg
320 /usr/bin/fetchmail /proc/net/dev
322 /usr/bin/free /proc/meminfo
324 /usr/bin/gmake /proc/loadavg
326 /usr/bin/gpm-root /proc/loadavg
327 /usr/bin/gpm-root /proc/meminfo
330 /usr/bin/host /proc/interrupts
331 /usr/bin/host /proc/meminfo
332 /usr/bin/host /proc/rtc
333 /usr/bin/host /proc/self/status
334 /usr/bin/host /proc/stat
336 /usr/bin/hoststat /proc/loadavg
338 /usr/bin/hwdiag /proc/cpuinfo
339 /usr/bin/hwdiag /proc/pci
340 /usr/bin/hwdiag /proc/scsi/scsi
341 /usr/bin/hwdiag /proc/version
343 /usr/bin/lsdev /proc/dma
344 /usr/bin/lsdev /proc/interrupts
345 /usr/bin/lsdev /proc/ioports
347 /usr/bin/mailq /proc/loadavg
349 /usr/bin/make /proc/loadavg
351 /usr/bin/mcookie /proc/loadavg
352 /usr/bin/mcookie /proc/stat
354 /usr/bin/newaliases /proc/loadavg
356 /usr/bin/nslookup /proc/
357 /usr/bin/nslookup /proc/interrupts
358 /usr/bin/nslookup /proc/meminfo
359 /usr/bin/nslookup /proc/rtc
360 /usr/bin/nslookup /proc/self/status
361 /usr/bin/nslookup /proc/stat
363 /usr/bin/nsupdate /proc/
364 /usr/bin/nsupdate /proc/interrupts
365 /usr/bin/nsupdate /proc/meminfo
366 /usr/bin/nsupdate /proc/rtc
367 /usr/bin/nsupdate /proc/self/status
368 /usr/bin/nsupdate /proc/stat
370 /usr/bin/pgp /proc/version
371 /usr/bin/pgpe /proc/version
372 /usr/bin/pgpk /proc/version
373 /usr/bin/pgps /proc/version
374 /usr/bin/pgpv /proc/version
376 /usr/bin/procinfo /proc/cmdline
377 /usr/bin/procinfo /proc/devices
378 /usr/bin/procinfo /proc/dma
379 /usr/bin/procinfo /proc/filesystems
380 /usr/bin/procinfo /proc/interrupts
381 /usr/bin/procinfo /proc/loadavg
382 /usr/bin/procinfo /proc/meminfo
383 /usr/bin/procinfo /proc/modules
384 /usr/bin/procinfo /proc/stat
385 /usr/bin/procinfo /proc/uptime
386 /usr/bin/procinfo /proc/version
388 /usr/bin/purgestat /proc/loadavg
390 /usr/bin/screen /proc/loadavg
392 /usr/bin/strace /proc/%d/stat
394 /usr/bin/top /proc/cpuinfo
395 /usr/bin/top /proc/meminfo
396 /usr/bin/top /proc/stat
398 /usr/bin/vmstat /proc/%s/stat
399 /usr/bin/vmstat /proc/meminfo
400 /usr/bin/vmstat /proc/stat
402 /usr/sbin/atd /proc/loadavg
404 /usr/sbin/dnskeygen /proc/
405 /usr/sbin/dnskeygen /proc/interrupts
406 /usr/sbin/dnskeygen /proc/meminfo
407 /usr/sbin/dnskeygen /proc/rtc
408 /usr/sbin/dnskeygen /proc/self/status
409 /usr/sbin/dnskeygen /proc/stat
411 /usr/sbin/fuser /proc/%d/stat
412 /usr/sbin/fuser /proc/net/%s
413 /usr/sbin/fuser /proc/net/unix
415 /usr/sbin/in.identd /proc/net/tcp
417 /usr/sbin/irpd /proc/
418 /usr/sbin/irpd /proc/interrupts
419 /usr/sbin/irpd /proc/meminfo
420 /usr/sbin/irpd /proc/rtc
421 /usr/sbin/irpd /proc/self/status
422 /usr/sbin/irpd /proc/stat
424 /usr/sbin/named /proc/
425 /usr/sbin/named /proc/interrupts
426 /usr/sbin/named /proc/meminfo
427 /usr/sbin/named /proc/rtc
428 /usr/sbin/named /proc/self/status
429 /usr/sbin/named /proc/stat
431 /usr/sbin/named-xfer /proc/
432 /usr/sbin/named-xfer /proc/interrupts
433 /usr/sbin/named-xfer /proc/meminfo
434 /usr/sbin/named-xfer /proc/rtc
435 /usr/sbin/named-xfer /proc/self/status
436 /usr/sbin/named-xfer /proc/stat
438 /usr/sbin/readprofile /proc/profile
440 /usr/sbin/rwhod /proc/loadavg
441 /usr/sbin/rwhod /proc/uptime
443 /usr/sbin/sendmail /proc/loadavg
445 /usr/sbin/setconsole /proc/openprom/options
446 /usr/sbin/setconsole /proc/openprom/options/${console}-mode
447 /usr/sbin/setconsole /proc/openprom/options/input-device
448 /usr/sbin/setconsole /proc/openprom/options/output-device
450 Best wishes from Riley.
452 * Copyright (C) 1999, Memory Alpha Systems.
453 * All rights and wrongs reserved.
455 +----------------------------------------------------------------------+
456 | There is something frustrating about the quality and speed of Linux |
457 | development, ie., the quality is too high and the speed is too high, |
458 | in other words, I can implement this XXXX feature, but I bet someone |
459 | else has already done so and is just about to release their patch. |
460 +----------------------------------------------------------------------+
461 * http://www.memalpha.cx/Linux/Kernel/
465 To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
466 the body of a message to majordomo@vger.rutgers.edu
467 Please read the FAQ at http://www.tux.org/lkml/