around to it some time. If you have any good ideas, please let me know.
* login/sulogin/passwd/getty/etc are part of tinylogin, and so are not
- needed or wanted in busybox (or else I'd have to link in libcrypt).
+ needed or wanted in busybox (or else I'd have to link to libcrypt).
+
+* Networking apps are probably going to be split out some time soon into a
+ separate package (named perhaps netkit-tiny?). This would remove the
+ following items from BusyBox: hostid, hostname, nc, nslookup, telnet, and
+ ping. nfs mounting and syslogd (network logging) will remain in BusyBox.
-Erik
-----------
-* mknod --help segfaults
-
-* Allow tar to create archives with sockets, devices, and other special files
-* Make insmod actually work
-* init clearly needs to support some type of minimalist /etc/inittab. I
- currently have _way_ too much policy hardcoded in the source. Adding
- support for getty has made me realize how much that sucks.
* dnsdomainname
-* traceroute/nslookup/netstat
-* rdate
+* traceroute/netstat
* hwclock
-* killall
* stty
-* wc
-* tr
-* expr (maybe?) (ash builtin?)
+* tftp
+* ftp
+* group/commonize strings, remove dups (for i18n, l10n)
+
+-----------------------
+
+Running the following:
+
+ rm -f busybox && make LDFLAGS+=-nostdlib 2>&1 | \
+ sed -ne 's/.*undefined reference to `\(.*\)..*/\1/gp' | sort | uniq
+
+reveals the list of all external (i.e. libc) things that BusyBox depends on.
+It would be a very nice thing to reduce this list to an absolute minimum, and
+then create a microLibc to provide these functions. There is no good reason
+for GNU libc to be so big. I'm sure it can be a lot better.
+
+(BTW, this is more informative if BB_FEATURE_NFSMOUNT is turned off...)
+
+Most wanted list:
+
+ [andersen@slag busybox]$ grep -l getgroups *.[ch]
+ test.c
+
+Policy violation. getgroups uses libc nss, which is unlikely
+to be present in an embedded system.
+
+-----------------------
+
+Compile with debugging on, run 'nm --size-sort ./busybox'
+and then start with the biggest things and make them smaller...
+
+-----------------------
+
+ du.c probably ought to have an -x switch like GNU du does...
+------------------------------------------------------------------