blob: 421c402e3b2522d87b5a94cef72fa3b44cf167ec [file] [log] [blame]
Eric Andersenb186d981999-12-03 09:19:54 +00001TODO list for busybox in no particular order. Just because something
2is listed here doesn't mean that it is going to be added to busybox,
3or that doing so is even a good idea. It just means that I _might_ get
4around to it some time. If you have any good ideas, please let me know.
Eric Andersen394f7641999-11-23 21:38:12 +00005
Erik Andersen1c5b2581999-12-16 20:59:36 +00006* 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).
8
Erik Andersen31638212000-01-15 22:28:50 +00009* 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.
12
13
Eric Andersenb186d981999-12-03 09:19:54 +000014 -Erik
15
16-----------
Eric Andersenbefda6e1999-11-25 08:06:22 +000017
Erik Andersen10c341a1999-12-17 18:52:06 +000018* Make insmod actually work
Eric Andersen485b9551999-12-07 23:14:59 +000019* dnsdomainname
Erik Andersen9ffdaa62000-02-11 21:55:04 +000020* traceroute/netstat
Eric Andersenb186d981999-12-03 09:19:54 +000021* rdate
22* hwclock
Eric Andersenb186d981999-12-03 09:19:54 +000023* stty
Erik Andersene2729152000-02-18 21:34:17 +000024* cut
Eric Andersen2cb55071999-12-10 08:25:07 +000025* expr (maybe?) (ash builtin?)
Eric Andersenb186d981999-12-03 09:19:54 +000026
Erik Andersenfac10d72000-02-07 05:29:42 +000027
28
Erik Andersene2729152000-02-18 21:34:17 +000029-----------------------
30
Erik Andersen7c4b2f32000-02-29 21:49:22 +000031Compile with debugging on, run 'nm --size-sort ./busybox'
32and then start with the biggest things and make them smaller...
33
34
35-----------------------
36
Erik Andersene2729152000-02-18 21:34:17 +000037
38busybox.defs.h is too big and hard to follow.
39
Erik Andersen5661fe02000-04-05 01:00:52 +000040Perhaps I need to add a better build system (like the Linux kernel?)
Erik Andersene2729152000-02-18 21:34:17 +000041
42-----------------------
43
44
Erik Andersenfac10d72000-02-07 05:29:42 +000045There is no exclude file(s) option to tar. LRP's packaging system can not
46function without this. Will you have the time to add this soon?
47
Erik Andersene2729152000-02-18 21:34:17 +000048
49-----------------------
50
Erik Andersen27fdd082000-02-19 18:16:49 +000051Feature request:
52
53/bin/busybox --install -s which makes all links to commands that it
54 can support (an optionnal -s should be used for symbolic links instead
55 of hard links).
56
Erik Andersen3b9522f2000-02-22 17:12:00 +000057
58-----------------------
59
60
61> Have you ever thought of doig network logging in busybox syslogd ? It
62> would quite make sense on embedded systems... :)
63
64So far I had not considered it. Basically, you wish to have
65messages from the embedded box logged to a remote network
66syslog box, right? I can see that this would be useful.
67I'll add this to the TODO list,
68
Erik Andersen029011b2000-03-04 21:19:32 +000069
70-----------------------
71
72
Erik Andersen029011b2000-03-04 21:19:32 +000073 I think that the add_inode &c in utility.c needs to also stow the
74 st_dev field, and that du.c should NOT call `reset_inode_list'
75 because there can be hard links from inside one argv/ to inside
76 another argv/. du.c probably ought to have an -x switch like GNU du
77 does also...
78
79
Erik Andersen298854f2000-03-23 01:09:18 +000080------------------------------------------------------------------
81
82
83Date: Fri, 25 Feb 2000 08:23:12 +0000 (GMT)
84From: Riley Williams <rhw@MemAlpha.CX>
85X-Sender: rhw@moo.cus.org.uk
86To: almesber@lrc.di.epfl.ch
87Cc: "Albert D. Cahalan" <acahalan@cs.uml.edu>,
88 Linux Kernel <linux-kernel@vger.rutgers.edu>
89Subject: Re: What /proc should contain [was: /proc/driver/microcode]
90In-Reply-To: <20000224165245.A29790@lrc.di.epfl.ch>
91Message-ID: <Pine.LNX.4.21.0002250806220.8741-100000@moo.cus.org.uk>
92Sender: owner-linux-kernel@vger.rutgers.edu
93Precedence: bulk
94
95Hi there.
96
97 >> Nope, most /proc access is does via programs written in C.
98
99 > That varies a lot from file to file. E.g. I haven't seen any
100 > programs that are specificly designed to read /proc/atm/* yet,
101 > and I know of only one (fuser) that reads /proc/mounts,
102 > extracting only partial information (just to pick two examples
103 > that I'm quite familiar with).
104
105As a point of reference, here's a slightly tweaked analysis of the
106programs on the system I'm reading your mail on. Basically, I ran the
107following script...
108
109 Q> #!/bin/bash
110 Q> function use() {
111 Q> for Z in $* ; do
112 Q> strings $Z | grep /proc | sed "s=^=$Z ="
113 Q> done
114 Q> }
115 Q> use /{,s}bin/* /usr/{,s}bin/* | sort -u | tee proc-usage
116
117...and then went through it removing comments and print format
118strings. Replace /proc with /dev and you'd soon have an equivalent
119list for that - although I can report that such is MUCH larger...
120
121There are three programs therein that refer to /proc/mounts ...
122
123 /bin/mount
124 /bin/umount
125 /usr/bin/eject
126
127...and, as you stated, none that refer to /proc/atm on this system.
128However, as this is a RedHat Linux 5.0 based system, that's not
129necessarily an up to date reference thereto...
130
131Here's the list anyway...
132
133/bin/kill /proc/%d/cmdline
134/bin/kill /proc/%d/stat
135
136/bin/mount /proc/devices
137/bin/mount /proc/filesystems
138/bin/mount /proc/mounts
139
140/bin/netstat /proc/net
141/bin/netstat /proc/net/appletalk
142/bin/netstat /proc/net/ax25
143/bin/netstat /proc/net/ax25_route
144/bin/netstat /proc/net/dev
145/bin/netstat /proc/net/ip_masquerade
146/bin/netstat /proc/net/ipx
147/bin/netstat /proc/net/ipx_route
148/bin/netstat /proc/net/netstat
149/bin/netstat /proc/net/nr
150/bin/netstat /proc/net/nr_neigh
151/bin/netstat /proc/net/nr_nodes
152/bin/netstat /proc/net/raw
153/bin/netstat /proc/net/route
154/bin/netstat /proc/net/rt_cache
155/bin/netstat /proc/net/snmp
156/bin/netstat /proc/net/tcp
157/bin/netstat /proc/net/udp
158/bin/netstat /proc/net/unix
159
160/bin/umount /proc/devices
161/bin/umount /proc/mounts
162
163/sbin/arp /proc/net/appletalk
164/sbin/arp /proc/net/arp
165/sbin/arp /proc/net/ax25
166/sbin/arp /proc/net/ipx
167/sbin/arp /proc/net/nr
168/sbin/arp /proc/net/unix
169
170/sbin/cardctl /proc/devices
171
172/sbin/cardmgr /proc/devices
173
174/sbin/fdisk /proc/ide/%s/media
175/sbin/fdisk /proc/scsi/scsi
176
177/sbin/getty /proc/version
178
179/sbin/ifconfig /proc/net
180/sbin/ifconfig /proc/net/appletalk
181/sbin/ifconfig /proc/net/ax25
182/sbin/ifconfig /proc/net/dev
183/sbin/ifconfig /proc/net/ipx
184/sbin/ifconfig /proc/net/nr
185/sbin/ifconfig /proc/net/unix
186
187/sbin/ifup /proc/sys/kernel/modprobe
188
189/sbin/ipchains /proc/net/ip_fwchains
190/sbin/ipchains /proc/net/ip_fwnames
191/sbin/ipchains /proc/net/ip_masquerade
192/sbin/ipchains /proc/sys/net/ipv4/ip_forward
193
194/sbin/ipmaddr /proc/net/dev_mcast
195/sbin/ipmaddr /proc/net/igmp
196/sbin/ipmaddr /proc/net/igmp6
197
198/sbin/iptunnel /proc/net/dev
199
200/sbin/killall5 /proc/%s/cmdline
201/sbin/killall5 /proc/%s/exe
202/sbin/killall5 /proc/%s/stat
203/sbin/killall5 /proc/version
204
205/sbin/klogd /proc/kmsg
206
207/sbin/lsmod /proc/modules
208
209/sbin/modprobe /proc/modules
210
211/sbin/pidof /proc/%s/cmdline
212/sbin/pidof /proc/%s/exe
213/sbin/pidof /proc/%s/stat
214/sbin/pidof /proc/version
215
216/sbin/probe /proc/pci
217
218/sbin/rarp /proc/net/ax25
219/sbin/rarp /proc/net/nr
220/sbin/rarp /proc/net/rarp
221
222/sbin/rmmod /proc/modules
223
224/sbin/rmmod.static /proc/modules
225
226/sbin/route /proc/net/appletalk
227/sbin/route /proc/net/ax25
228/sbin/route /proc/net/ax25_route
229/sbin/route /proc/net/ipx
230/sbin/route /proc/net/ipx_route
231/sbin/route /proc/net/nr
232/sbin/route /proc/net/nr_neigh
233/sbin/route /proc/net/nr_nodes
234/sbin/route /proc/net/route
235/sbin/route /proc/net/rt_cache
236/sbin/route /proc/net/unix
237
238/sbin/scsi_info /proc/scsi
239/sbin/scsi_info /proc/scsi/%s
240/sbin/scsi_info /proc/scsi/scsi
241
242/sbin/slattach /proc/net/ax25
243/sbin/slattach /proc/net/nr
244
245/sbin/swapoff /proc/swaps
246
247/sbin/swapon /proc/swaps
248
249/sbin/uugetty /proc/version
250
251/usr/bin/dig /proc/
252/usr/bin/dig /proc/interrupts
253/usr/bin/dig /proc/meminfo
254/usr/bin/dig /proc/rtc
255/usr/bin/dig /proc/self/status
256/usr/bin/dig /proc/stat
257
258/usr/bin/dnsquery /proc/
259/usr/bin/dnsquery /proc/interrupts
260/usr/bin/dnsquery /proc/meminfo
261/usr/bin/dnsquery /proc/rtc
262/usr/bin/dnsquery /proc/self/status
263/usr/bin/dnsquery /proc/stat
264
265/usr/bin/eject /proc/mounts
266
267/usr/bin/emacs /proc/loadavg
268
269/usr/bin/fetchmail /proc/net/dev
270
271/usr/bin/free /proc/meminfo
272
273/usr/bin/gmake /proc/loadavg
274
275/usr/bin/gpm-root /proc/loadavg
276/usr/bin/gpm-root /proc/meminfo
277
278/usr/bin/host /proc/
279/usr/bin/host /proc/interrupts
280/usr/bin/host /proc/meminfo
281/usr/bin/host /proc/rtc
282/usr/bin/host /proc/self/status
283/usr/bin/host /proc/stat
284
285/usr/bin/hoststat /proc/loadavg
286
287/usr/bin/hwdiag /proc/cpuinfo
288/usr/bin/hwdiag /proc/pci
289/usr/bin/hwdiag /proc/scsi/scsi
290/usr/bin/hwdiag /proc/version
291
292/usr/bin/lsdev /proc/dma
293/usr/bin/lsdev /proc/interrupts
294/usr/bin/lsdev /proc/ioports
295
296/usr/bin/mailq /proc/loadavg
297
298/usr/bin/make /proc/loadavg
299
300/usr/bin/mcookie /proc/loadavg
301/usr/bin/mcookie /proc/stat
302
303/usr/bin/newaliases /proc/loadavg
304
305/usr/bin/nslookup /proc/
306/usr/bin/nslookup /proc/interrupts
307/usr/bin/nslookup /proc/meminfo
308/usr/bin/nslookup /proc/rtc
309/usr/bin/nslookup /proc/self/status
310/usr/bin/nslookup /proc/stat
311
312/usr/bin/nsupdate /proc/
313/usr/bin/nsupdate /proc/interrupts
314/usr/bin/nsupdate /proc/meminfo
315/usr/bin/nsupdate /proc/rtc
316/usr/bin/nsupdate /proc/self/status
317/usr/bin/nsupdate /proc/stat
318
319/usr/bin/pgp /proc/version
320/usr/bin/pgpe /proc/version
321/usr/bin/pgpk /proc/version
322/usr/bin/pgps /proc/version
323/usr/bin/pgpv /proc/version
324
325/usr/bin/procinfo /proc/cmdline
326/usr/bin/procinfo /proc/devices
327/usr/bin/procinfo /proc/dma
328/usr/bin/procinfo /proc/filesystems
329/usr/bin/procinfo /proc/interrupts
330/usr/bin/procinfo /proc/loadavg
331/usr/bin/procinfo /proc/meminfo
332/usr/bin/procinfo /proc/modules
333/usr/bin/procinfo /proc/stat
334/usr/bin/procinfo /proc/uptime
335/usr/bin/procinfo /proc/version
336
337/usr/bin/purgestat /proc/loadavg
338
339/usr/bin/screen /proc/loadavg
340
341/usr/bin/strace /proc/%d/stat
342
343/usr/bin/top /proc/cpuinfo
344/usr/bin/top /proc/meminfo
345/usr/bin/top /proc/stat
346
347/usr/bin/vmstat /proc/%s/stat
348/usr/bin/vmstat /proc/meminfo
349/usr/bin/vmstat /proc/stat
350
351/usr/sbin/atd /proc/loadavg
352
353/usr/sbin/dnskeygen /proc/
354/usr/sbin/dnskeygen /proc/interrupts
355/usr/sbin/dnskeygen /proc/meminfo
356/usr/sbin/dnskeygen /proc/rtc
357/usr/sbin/dnskeygen /proc/self/status
358/usr/sbin/dnskeygen /proc/stat
359
360/usr/sbin/fuser /proc/%d/stat
361/usr/sbin/fuser /proc/net/%s
362/usr/sbin/fuser /proc/net/unix
363
364/usr/sbin/in.identd /proc/net/tcp
365
366/usr/sbin/irpd /proc/
367/usr/sbin/irpd /proc/interrupts
368/usr/sbin/irpd /proc/meminfo
369/usr/sbin/irpd /proc/rtc
370/usr/sbin/irpd /proc/self/status
371/usr/sbin/irpd /proc/stat
372
373/usr/sbin/named /proc/
374/usr/sbin/named /proc/interrupts
375/usr/sbin/named /proc/meminfo
376/usr/sbin/named /proc/rtc
377/usr/sbin/named /proc/self/status
378/usr/sbin/named /proc/stat
379
380/usr/sbin/named-xfer /proc/
381/usr/sbin/named-xfer /proc/interrupts
382/usr/sbin/named-xfer /proc/meminfo
383/usr/sbin/named-xfer /proc/rtc
384/usr/sbin/named-xfer /proc/self/status
385/usr/sbin/named-xfer /proc/stat
386
387/usr/sbin/readprofile /proc/profile
388
389/usr/sbin/rwhod /proc/loadavg
390/usr/sbin/rwhod /proc/uptime
391
392/usr/sbin/sendmail /proc/loadavg
393
394/usr/sbin/setconsole /proc/openprom/options
395/usr/sbin/setconsole /proc/openprom/options/${console}-mode
396/usr/sbin/setconsole /proc/openprom/options/input-device
397/usr/sbin/setconsole /proc/openprom/options/output-device
398
399Best wishes from Riley.
400
401 * Copyright (C) 1999, Memory Alpha Systems.
402 * All rights and wrongs reserved.
403
404+----------------------------------------------------------------------+
405| There is something frustrating about the quality and speed of Linux |
406| development, ie., the quality is too high and the speed is too high, |
407| in other words, I can implement this XXXX feature, but I bet someone |
408| else has already done so and is just about to release their patch. |
409+----------------------------------------------------------------------+
410 * http://www.memalpha.cx/Linux/Kernel/
411
412
413-
414To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
415the body of a message to majordomo@vger.rutgers.edu
416Please read the FAQ at http://www.tux.org/lkml/
417