B u s y B o x

Older BusyBox News

- Take me back to the BusyBox web site.

- 10 April 2001 -- BusyBox 0.51 released
  BusyBox 0.51 (the "rock-solid release") is now out there. This release adds only 2 new applets: env and vi. The vi applet, contributed by Sterling Huxley, is very functional, and is only 22k. This release fixes 3 critical bugs in the 0.50 release. There were 2 potential segfaults in lash (the busybox shell) in the 0.50 release which are now fixed. Another critical bug in 0.50 which is now fixed: syslogd from 0.50 could potentially deadlock the init process and thereby break your entire system.

  There are a number of improvements in this release as well. For one thing, the wget applet is greatly improved. Dmitry Zakharov added FTP support, and Laurence Anderson make wget fully RFC compliant for HTTP 1.1. The mechanism for including utility functions in previous releases was clumsy and error prone. Now all utility functions are part of a new libbb library, which makes maintaining utility functions much simpler. And BusyBox now compiles on itanium systems (thanks to the Debian itanium porters for letting me use their system!).

  You can read the changelog for complete details. BusyBox 0.51 can be downloaded from ftp://oss.lineo.com/busybox.

  Have Fun!

- Busybox Boot-Floppy Image

  Because you asked for it, we have made available a Busybox boot floppy image. Here's how you use it:

  1. Download the image
  2. dd it onto a floppy like so: `dd if=busybox.floppy.img of=/dev/fd0 ; sync`
  3. Pop it in a machine and boot up.

  If you want to look at the contents of the initrd image, do this:

      	    mount ./busybox.floppy.img /mnt -o loop -t msdos
      	    cp /mnt/initrd.gz /tmp
      	    umount /mnt
      	    gunzip /tmp/initrd.gz
      	    mount /tmp/initrd /mnt -o loop -t minix

- 15 March 2001 -- BusyBox 0.50 released
  This release adds several new applets including ifconfig, route, pivot_root, stty, and tftp, and also fixes tons of bugs. Tab completion in the shell is now working very well, and the shell's environment variable expansion was fixed. Tons of other things were fixed or made smaller. For a fairly complete overview, see the changelog.

  lash (the busybox shell) is still with us, fixed up a bit so it now behaves itself quite nicely. It really is quite usable as long as you don't expect it to provide Bourne shell grammer. Standard things like pipes, redirects, command line editing, and environment variable expansion work great. But we have found that this shell, while very usable, does not provide an extensible framework for adding in full Bourne shell behavior. So the first order of business as we begin working on the next BusyBox release will be to merge in the new shell currently in progress at Larry Doolittle's website.

- 27 January 2001 -- BusyBox 0.49 released
  Several new applets, lots of bug fixes, cleanups, and many smaller things made nicer. Several cleanups and improvements to the shell. For a list of the most interesting changes you might want to look at the changelog.

  Special thanks go out to Matt Kraai and Larry Doolittle for all their work on this release, and for keeping on top of things while I've been out of town.

  Special Note
  BusyBox 0.49 was supposed to have replaced lash, the BusyBox shell, with a new shell that understands full Bourne shell/Posix shell grammer. Well, that simply didn't happen in time for this release. A new shell that will eventually replace lash is already under construction. This new shell is being developed by Larry Doolittle, and could use all of our help. Please see the work in progress on Larry's website and help out if you can. This shell will be included in the next release of BusyBox.

- 13 December 2000 -- BusyBox 0.48 released
  This release fixes lots and lots of bugs. This has had some very rigorous testing, and looks very, very clean. The usual tar update of course: tar no longer breaks hardlinks, tar -xzf is optionally supported, and the LRP folks will be pleased to know that 'tar -X' and 'tar --exclude' are both now in. Applets are now looked up using a binary search making lash (the busybox shell) much faster. For the new debian-installer (for Debian woody) a .udeb can now be generated.

  The curious can get a list of some of the more interesting changes by reading the changelog.

  Many thanks go out to the many many people that have contributed to this release, especially Matt Kraai, Larry Doolittle, and Kent Robotti.

- 26 September 2000 -- BusyBox 0.47 released
  This release fixes lots of bugs (including an ugly bug in 0.46 syslogd that could fork-bomb your system). Added several new apps: rdate, wget, getopt, dos2unix, unix2dos, reset, unrpm, renice, xargs, and expr. syslogd now supports network logging. There are the usual tar updates. Most apps now use getopt for more correct option parsing. See the changelog for complete details.

- 11 July 2000 -- BusyBox 0.46 released
  This release fixes several bugs (including a ugly bug in tar, and fixes for NFSv3 mount support). Added a dumpkmap to allow people to dump a binary keymaps for use with 'loadkmap', and a completely reworked 'grep' and 'sed' which should behave better. BusyBox shell can now also be used as a login shell. See the changelog for complete details.

- 21 June 2000 -- BusyBox 0.45 released
  This release has been slow in coming, but is very solid at this point. BusyBox now supports libc5 as well as GNU libc. This release provides the following new apps: cut, tr, insmod, ar, mktemp, setkeycodes, md5sum, uuencode, uudecode, which, and telnet. There are bug fixes for just about every app as well (see the changelog for details).

  Also, some exciting infrastructure news! Busybox now has its own mailing list, publically browsable CVS tree, anonymous CVS access, and for those that are actively contributing there is even CVS write access. I think this will be a huge help to the ongoing development of BusyBox.

  Also, for the curious, there is no 0.44 release. Somehow 0.44 got announced a few weeks ago prior to its actually being released. To avoid any confusion we are just skipping 0.44.

  Many thanks go out to the many people that have contributed to this release of BusyBox (esp. Pavel Roskin)!

- 19 April 2000 -- syslogd bugfix
  Turns out that there was still a bug in busybox syslogd. For example, with the following test app:

      	#include <syslog.h>

      	int do_log(char* msg, int delay)
      	{
      	    openlog("testlog", LOG_PID, LOG_DAEMON);
      	    while(1) {
      	        syslog(LOG_ERR, "%s: testing one, two, three\n", msg);
      	        sleep(delay);
      	    }
      	    closelog();
      	    return(0);
      	};

      	int main(void)
      	{
      	    if (fork()==0)
      	        do_log("A", 2);
      	    do_log("B", 3);
      	}

  it should be logging stuff from both "A" and "B". As released in 0.43 only stuff from "A" would have been logged. This means that if init tries to log something while say ppp has the syslog open, init would block (which is bad, bad, bad).

  Karl M. Hegbloom has created a fix for the problem. Thanks Karl!

- 18 April 2000 -- BusyBox 0.43 released (finally!)
  I have finally gotten everything into a state where I feel pretty good about things. This is definitely the most stable, solid release so far. A lot of bugs have been fixed, and the following new apps have been added: sh, basename, dirname, killall, uptime, freeramdisk, tr, echo, test, and usleep. Tar has been completely rewritten from scratch. Bss size has also been greatly reduced. More details are available in the changelog. Oh, and as a special bonus, I wrote some fairly comprehensive documentation, complete with examples and full usage information.

  Many thanks go out to the fine people that have helped by submitting patches and bug reports; particularly instrumental in helping for this release were Karl Hegbloom, Pavel Roskin, Friedrich Vedder, Emanuele Caratti, Bob Tinsley, Nicolas Pitre, Avery Pennarun, Arne Bernin, John Beppu, and Jim Gleason. There were others so if I somehow forgot to mention you, I'm very sorry.

  You can grab BusyBox 0.43 tarballs here.

- 9 April 2000 -- BusyBox 0.43 pre release
  Unfortunately, I have not yet finished all the things I want to do for BusyBox 0.43, so I am posting this pre-release for people to poke at. This contains my complete rewrite of tar, which now weighs in at 5k (7k with all options turned on) and works for reading and writing tarballs (which it does correctly for everything I have been able to throw at it). Tar also (optionally) supports the "--exclude" option (mainly because the Linux Router Project folks asked for it). This also has a pre-release of the micro shell I have been writing. This pre-release should be stable enough for production use -- it just isn't a release since I have some structural changes I still want to make.

  The pre-release can be found here. Please let me know ASAP if you find any bugs.

- 28 March 2000 -- Andersen Baby Boy release
  I am pleased to announce that on Tuesday March 28th at 5:48pm, weighing in at 7 lbs. 12 oz, Micah Erik Andersen was born at LDS Hospital here in Salt Lake City. He was born in the emergency room less then 5 minutes after we arrived -- and it was such a relief that we even made it to the hospital at all. Despite the fact that I was driving at an amazingly unlawful speed and honking at everybody and thinking decidedly unkind thoughts about the people in our way, my wife (inconsiderate of my feelings and complete lack of medical training) was lying down in the back seat saying things like "I think I need to start pushing now" (which she then proceeded to do despite my best encouraging statements to the contrary).

  Anyway, I'm glad to note that despite the much-faster-than-we-were-expecting labor, both Shaunalei and our new baby boy are doing wonderfully.

  So now that I am done with my excuse for the slow release cycle... Progress on the next release of BusyBox has been slow but steady. I expect to have a release sometime during the first week of April. This release will include a number of important changes, including the addition of a shell, a re-write of tar (to accommodate the Linux Router Project), and syslogd can now accept multiple concurrent connections, fixing lots of unexpected blocking problems.

- 11 February 2000 -- BusyBox 0.42 released
  This is the most solid BusyBox release so far. Many, many bugs have been fixed. See the changelog for details. Of particular interest, init will now cleanly unmount filesystems on reboot, cp and mv have been rewritten and behave much better, and mount and umount no longer leak loop devices. Many thanks go out to Randolph Chung, Karl M. Hegbloom, Taketoshi Sano, and Pavel Roskin for their hard work on this release of BusyBox. Please pound on it and let me know if you find any bugs.

- 19 January 2000 -- BusyBox 0.41 released
  This release includes bugfixes to cp, mv, logger, true, false, mkdir, syslogd, and init. New apps include wc, hostid, logname, tty, whoami, and yes. New features include loop device support in mount and umount, and better TERM handling by init. The changelog can be found here.

- 7 January 2000 -- BusyBox 0.40 released
  This release includes bugfixes to init (now includes inittab support), syslogd, head, logger, du, grep, cp, mv, sed, dmesg, ls, kill, gunzip, and mknod. New apps include sort, uniq, lsmod, rmmod, fbset, and loadacm. In particular, this release fixes an important bug in tar which in some cases produced serious security problems. As always, the changelog can be found here.

- 11 December 1999 -- BusyBox Website
  I have received permission from Bruce Perens (the original author of BusyBox) to set up this site as the new primary website for BusyBox. This website will always contain pointers to the latest and greatest, and will also contain the latest documentation on how to use BusyBox, what it can do, what arguments its apps support, etc.

- 10 December 1999 -- BusyBox 0.39 released
  This release includes fixes to init, reboot, halt, kill, and ls, and contains the new apps ping, hostname, mkfifo, free, tail, du, tee, and head. A full changelog can be found here.

- 5 December 1999 -- BusyBox 0.38 released
  This release includes fixes to tar, cat, ls, dd, rm, umount, find, df, and make install, and includes new apps syslogd/klogd and logger.

Important Links

- Take me back to http://busybox.lineo.com/.

- Free Software from Bruce Perens
  The original idea for BusyBox, and all versions up to 0.26 were written by Bruce Perens. This is his BusyBox website.

- Freshmeat AppIndex record for BusyBox

- Other cool embedded software.

- opensource.lineo.com.

- Lineo is sponsoring BusyBox development.

Mail all comments, insults, suggestions and bribes to Erik Andersen The Busybox logo is copyright 1999,2000, Erik Andersen. |  |  |  |  |