64 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| TODO list for busybox in no particular order. Just because something
 | |
| is listed here doesn't mean that it is going to be added to busybox,
 | |
| or that doing so is even a good idea. It just means that I _might_ get
 | |
| 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 to libcrypt).
 | |
| 
 | |
| * We _were_ going to split networking apps into a new package called 
 | |
|     netkit-tiny.  Per discussions on the mailing list, this isn't going
 | |
|     to happen.  False alarm.  Sorry about the confusion.  
 | |
| 
 | |
| * The default busybox shell, lash, is really too weak for serious use,
 | |
|     although it is possible to run many simple systems with it.  BusyBox
 | |
|     0.52 now contains a rewritten shell, hush, which understands most
 | |
|     Bourne grammar, with only about a 4 Kbyte binary size penalty.  You can
 | |
|     engage hush at pre-compile time by "ln -sf hush.c sh.c; touch hush.c".
 | |
|     Hush is young, and has plenty of bugs to shake out, so think twice before
 | |
|     using it for production systems.  We welcome bug reports and patches.
 | |
| 
 | |
|  -Erik
 | |
| 
 | |
| -----------
 | |
| 
 | |
| Possible apps to include some time:
 | |
| 
 | |
| * hwclock
 | |
| * group/commonize strings, remove dups (for i18n, l10n)
 | |
| 
 | |
| -----------
 | |
| 
 | |
| With sysvinit, reboot, poweroff and halt all used a named pipe, 
 | |
| /dev/initctl, to communicate with the init process.  Busybox
 | |
| currently uses signals to communicate with init.  This makes
 | |
| busybox incompatible with sysvinit.  We should probably use
 | |
| a named pipe as well so we can be compatible.
 | |
| 
 | |
| -----------------------
 | |
| 
 | |
| Run 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, to
 | |
| reduce the footprint of busybox, especially when staticly linking with
 | |
| libraries such as uClibc.
 | |
| 
 | |
| -----------------------
 | |
| 
 | |
| 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...
 | |
| 
 | |
| -----------------------
 | |
| 
 | |
| xargs could use a -l option
 | |
| 
 | |
| ------------------------------------------------------------------
 |