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 tiny-netkit?). This currently includes
- hostid, hostname, mnc, and ping.
-
+ 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 (when it supports network logging)
+ will remain in BusyBox.
-Erik
-----------
+Bugs that need fixing:
+
+ - 'ln -n' has been disabled for this release, till we can fix a memory
+ corruption bug.
+ - fix 'cp' (or test suite script) so that it passes the last item in
+ the test suite.
+ - ps dirent race bug (need to stat the file before attempting chdir)
+ - Make 'ln -s /tmp/file .' work the way GNU ln does (i.e. makes a link to
+ /tmp/file in the current directory, rather then trying and failing to create
+ a symlink named "." in the current working directory).
+ - Prune sfdisk, graft in std fdisk instead
+
+
+We will rework these to use libc regex functions instead (as per the mailing
+list discussion):
+ - 'grep foo$ file' doesn't work
+ - 'grep *foo file' segfaults
+
+
+-----------
+
+Linux 2.4.x kernels
+
+BusyBox 0.46 currently will not work with the Linux 2.4.x kernels.
+I know of the following problems:
+
+1) BusyBox NFS support is broken with 2.4.x (needs to be adjusted for NFSv3 and
+ kernel header changes).
+
+As long as I have BB_FEATURE_NFSMOUNT turned off, everything compiles cleanly
+for me with linux2.4.0test2. I use Debian potato (gcc 2.95.2, GNU libc 2.1.3).
+Of course, as noted above, compiling != working.
+
+-----------
+
* Make insmod actually work
* dnsdomainname
* traceroute/netstat
* rdate
* hwclock
* stty
-* cut
* expr
+* wget (or whatever I call it)
+* tftp
+* ftp
+* group/commonize strings, remove dups (for i18n, l10n)
+* consider making a unified option parser (if it can be done
+ modular, small, etc.)
+
+-----------------------
+
+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...
-
-----------------------
-
busybox.defs.h is too big and hard to follow.
Perhaps I need to add a better build system (like the Linux kernel?)
-----------------------
-
Feature request:
/bin/busybox --install -s which makes all links to commands that it
can support (an optionnal -s should be used for symbolic links instead
of hard links).
-
-----------------------
------------------------------------------------------------------
+An interesting email listing some apps that use /proc. BusyBox
+tries to avoid /proc as mush as is possible, so this stuff is
+interesting (to me at least):
+
Date: Fri, 25 Feb 2000 08:23:12 +0000 (GMT)
From: Riley Williams <rhw@MemAlpha.CX>