blob: 7237ab736cd6ee45a951799daa885b57911658af [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
Erik Andersen94f5e0b2000-05-01 19:10:52 +00007 needed or wanted in busybox (or else I'd have to link to libcrypt).
Erik Andersen1c5b2581999-12-16 20:59:36 +00008
Eric Andersenc5cd4702001-01-24 18:47:30 +00009* We _were_ going to split networking apps into a new package called
10 netkit-tiny. Per discussions on the mailing list, this isn't going
Eric Andersen8ec10a92001-01-27 09:33:39 +000011 to happen. False alarm. Sorry about the confusion.
12
Eric Andersenb0aca922001-05-03 17:35:48 +000013* The default busybox shell, lash, is really too weak for serious use,
14 although it is possible to run many simple systems with it. BusyBox
15 0.52 now contains a rewritten shell, hush, which understands most
16 Bourne grammar, with only about a 4 Kbyte binary size penalty. You can
17 engage hush at pre-compile time by "ln -sf hush.c sh.c; touch hush.c".
18 Hush is young, and has plenty of bugs to shake out, so think twice before
19 using it for production systems. We welcome bug reports and patches.
Erik Andersen31638212000-01-15 22:28:50 +000020
Eric Andersenb186d981999-12-03 09:19:54 +000021 -Erik
22
23-----------
Eric Andersenbefda6e1999-11-25 08:06:22 +000024
Eric Andersen235f66d2000-12-13 18:07:38 +000025Possible apps to include some time:
26
Eric Andersenb186d981999-12-03 09:19:54 +000027* hwclock
Mark Whitley0a027e62000-05-08 23:25:59 +000028* group/commonize strings, remove dups (for i18n, l10n)
Erik Andersenfac10d72000-02-07 05:29:42 +000029
Eric Andersen98e599c2001-02-14 18:47:33 +000030-----------
31
Eric Andersenb0aca922001-05-03 17:35:48 +000032With sysvinit, reboot, poweroff and halt all used a named pipe,
33/dev/initctl, to communicate with the init process. Busybox
34currently uses signals to communicate with init. This makes
35busybox incompatible with sysvinit. We should probably use
36a named pipe as well so we can be compatible.
Eric Andersen98e599c2001-02-14 18:47:33 +000037
Erik Andersene2729152000-02-18 21:34:17 +000038-----------------------
39
Eric Andersen98e599c2001-02-14 18:47:33 +000040Run the following:
Erik Andersenf378fce2000-05-01 19:27:17 +000041
Erik Andersen12d1b372000-05-01 19:50:37 +000042 rm -f busybox && make LDFLAGS+=-nostdlib 2>&1 | \
43 sed -ne 's/.*undefined reference to `\(.*\)..*/\1/gp' | sort | uniq
Erik Andersenf378fce2000-05-01 19:27:17 +000044
Eric Andersen77d92682001-05-23 20:32:09 +000045reveals the list of all external (i.e., libc) things that BusyBox depends on.
Eric Andersen235f66d2000-12-13 18:07:38 +000046It would be a very nice thing to reduce this list to an absolute minimum, to
Eric Andersenc5cd4702001-01-24 18:47:30 +000047reduce the footprint of busybox, especially when staticly linking with
48libraries such as uClibc.
Erik Andersenf378fce2000-05-01 19:27:17 +000049
Eric Andersen235f66d2000-12-13 18:07:38 +000050-----------------------
51
Erik Andersen7c4b2f32000-02-29 21:49:22 +000052Compile with debugging on, run 'nm --size-sort ./busybox'
53and then start with the biggest things and make them smaller...
54
Erik Andersen7c4b2f32000-02-29 21:49:22 +000055-----------------------
56
Eric Andersencaffb6e2000-09-25 21:28:07 +000057 du.c probably ought to have an -x switch like GNU du does...
Erik Andersen029011b2000-03-04 21:19:32 +000058
John Beppu5d817682001-04-17 17:09:34 +000059-----------------------
60
61xargs could use a -l option
62
Erik Andersen298854f2000-03-23 01:09:18 +000063------------------------------------------------------------------