Linux preempt-rt

Check our new training course

Real-Time Linux with PREEMPT_RT

Check our new training course
with Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

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).

* Networking apps are going to be split out to a new package called netkit-tiny
    before the next release of Busybox.  This will remove the following items
    from BusyBox: hostid, hostname, nc, nslookup, telnet, and ping.  nfs
    mounting and syslogd (network logging) will remain in BusyBox.



Possible apps to include some time:

* hwclock
* stty
* group/commonize strings, remove dups (for i18n, l10n)


The Busybox lash shell needs to be taught Bourne shell grammer.  This
is planned for the next release of Busybox.  Look out ash, we are coming
for you...


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, to
reduce the footprint of busybox when staticly linking with libraries such as


Currently, busybox bypasses libc NSS.  Some folks might want that,
so perhaps adding in the option to choose whether to go to libc for
things like getpwnam() or whether to use the busybox version might 
be nice.


Most wanted list:

    [andersen@slag busybox]$ grep -l getgroups *.[ch]

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...