- 10 December 2003 -- BusyBox 1.0.0-pre4 released

  Here goes the fourth pre-release for the new BusyBox stable series. This release includes major rework to sed, lots of rework on tar, a new tiny implementation of bunzip2, a new devfsd applet, support for 2.6.x kernel modules, updates to the ash shell, sha1sum and md5sum have been merged into a common applet, the dpkg applets has been cleaned up, and tons of random bugs have been fixed. Thanks everyone for all the testing, bug reports, and patches! Once again, a big thank-you goes to Glenn McGrath (bug1) for stepping in and helping get patches merged!

  And of course, if you are reading this, you might have noticed the busybox website has been completely reworked. Hopefully things are now somewhat easier to navigate... If you see any problems, of have suggestions to make, as always, please feel free to send an email to the busybox mailing list.

  The changelog has all the details. And as usual you can download busybox here.

  Have Fun!

- 12 Sept 2003 -- BusyBox 1.0.0-pre3 released

  Here goes the third pre-release for the new BusyBox stable series. The last prerelease has held up quite well under testing, but a number of problems have turned up as the number of people using it has increased. Thanks everyone for all the testing, bug reports, and patches!

  If you have submitted a patch or a bug report to the busybox mailing list and no one has emailed you explaining why your patch was rejected, it is safe to say that your patch has somehow gotten lost or forgotten. That happens sometimes. Please re-submit your patch or bug report to the BusyBox mailing list!

  The point of the "-preX" versions is to get a larger group of people and vendors testing, so any problems that turn up can be fixed prior to the final 1.0.0 release. The main feature (besides additional testing) that is still still on the TODO list before the final BusyBox 1.0.0 release is sorting out the modutils issues. For the new 2.6.x kernels, we already have patches adding insmod and rmmod support and those need to be integrated. For 2.4.x kernels, for which busybox only supports a limited number of architectures, we may want to invest a bit more work before we cut 1.0.0. Or we may just leave 2.4.x module loading alone.

  I had hoped this release would be out a month ago. And of course, it wasn't since Erik became busy getting a release of uClibc out the door. Many thanks to Glenn McGrath (bug1) for stepping in and helping get a bunch of patches merged! I am not even going to state a date for releasing BusyBox 1.0.0 -pre4 (or the final 1.0.0). We're aiming for late September... But if this release proves as to be exceptionally stable (or exceptionally unstable!), the next release may be very soon indeed.

  The changelog has all the details. And as usual you can download busybox here.

  Have Fun!

- 30 July 2003 -- BusyBox 1.0.0-pre2 released

  Here goes another pre release for the new BusyBox stable series. The last prerelease (pre1) was given quite a lot of testing (thanks everyone!) which has helped turn up a number of bugs, and these problems have now been fixed.

  Highlights of -pre2 include updating the 'ash' shell to sync up with the Debian 'dash' shell, a new 'hdparm' applet was added, init again supports pivot_root, The 'reboot' 'halt' and 'poweroff' applets can now be used without using busybox init. an ifconfig buffer overflow was fixed, losetup now allows read-write loop devices, uClinux daemon support was added, the 'watchdog', 'fdisk', and 'kill' applets were rewritten, there were tons of doc updates, and there were many other bugs fixed.

  If you have submitted a patch and it is not included in this release and Erik has not emailed you explaining why your patch was rejected, it is safe to say that he has lost your patch. That happens sometimes. Please re-submit your patch to the BusyBox mailing list.

  The point of the "-preX" versions is to get a larger group of people and vendors testing, so any problems that turn up can be fixed prior to the final 1.0.0 release. The main feature that is still still on the TODO list before the final BusyBox 1.0.0 release is adding module support for the new 2.6.x kernels. If necessary, a -pre3 BusyBox release will happen on August 6th. Hopefully (i.e. unless some horrible catastrophic problem turns up) the final BusyBox 1.0.0 release will be ready by then...

  The changelog has all the details. As usual you can download busybox here.

  Have Fun!

- 15 July 2003 -- BusyBox 1.0.0-pre1 released

  The busybox development series has been under construction for nearly two years now. Which is just entirely too long... So it is with great pleasure that I announce the imminent release of a new stable series. Due to the huge number of changes since the last stable release (and the usual mindless version number inflation) I am branding this new stable series verison 1.0.x...

  The point of "-preX" versions is to get a larger group of people and vendors testing, so any problems that turn up can be fixed prior to the magic 1.0.0 release (which should happen later this month)... I plan to release BusyBox 1.0.0-pre2 next Monday (July 21st), and, if necessary, -pre3 on July 28th. Hopefully (i.e. unless some horrible catastrophic problem turns up) the final BusyBox 1.0.0 release should be ready by the end of July.

  If you have submitted patches, and they are not in this release and I have not emailed you explaining why your patch was rejected, it is safe to say that I have lost your patch. That happens sometimes. Please do NOT send all your patches, support questions, etc, directly to Erik. I get hundreds of emails every day (which is why I end up losing patches sometimes in the flood)... The busybox mailing list is the right place to send your patches, support questions, etc.

  I would like to especially thank Vladimir Oleynik (vodz), Glenn McGrath (bug1), Robert Griebl (sandman), and Manuel Novoa III (mjn3) for their significant efforts and contributions that have made this release possible.

  As usual you can download busybox here. You don't really need to bother with the changelog, as the changes vs the stable version are way too extensive to easily enumerate. But you can take a look if you really want too.

  Have Fun!

- 26 October 2002 -- BusyBox 0.60.5 released

  I am very pleased to announce that the BusyBox 0.60.5 (stable) is now available for download. This is a bugfix release for the stable series to address all the problems that have turned up since the last release. Unfortunately, the previous release had a few nasty bugs (i.e. init could deadlock, gunzip -c tried to delete source files, cp -a wouldn't copy symlinks, and init was not always providing controlling ttys when it should have). I know I said that the previous release would be the end of the 0.60.x series. Well, it turns out I'm a liar. But this time I mean it (just like last time ;-). This will be the last release for the 0.60.x series -- all further development work will be done for the development busybox tree. Expect the development version to have its first real release very very soon now...

  The changelog has all the details. As usual you can download busybox here.

  Have Fun!

- 18 September 2002 -- BusyBox 0.60.4 released

  I am very pleased to announce that the BusyBox 0.60.4 (stable) is now available for download. This is primarily a bugfix release for the stable series to address all the problems that have turned up since the last release. This will be the last release for the 0.60.x series. I mean it this time -- all further development work will be done on the development busybox tree, which is quite solid now and should soon be getting its first real release.

  The changelog has all the details. As usual you can download busybox here.

  Have Fun!

- 27 April 2002 -- BusyBox 0.60.3 released

  I am very pleased to announce that the BusyBox 0.60.3 (stable) is now available for download. This is primarily a bugfix release for the stable series. A number of problems have turned up since the last release, and this should address most of those problems. This should be the last release for the 0.60.x series. The development busybox tree has been progressing nicely, and will hopefully be ready to become the next stable release.

  The changelog has all the details. As usual you can download busybox here.

  Have Fun!

- 6 March 2002 -- busybox.net now has mirrors!

  Busybox.net is now much more available, thanks to the fine folks at http://i-netinnovations.com/ who are providing hosting for busybox.net and uclibc.org. In addition, we now have two mirrors: http://busybox.linuxmagic.com/ in Canada and http://busybox.csservers.de/ in Germany. I hope this makes things much more accessible for everyone!

- 3 January 2002 -- Welcome to busybox.net!

  Thanks to the generosity of a number of busybox users, we have been able to purchase busybox.net (which is where you are probably reading this). Right now, busybox.net and uclibc.org are both living on my home system (at the end of my DSL line). I apologize for the abrupt move off of busybox.lineo.com. Unfortunately, I no longer have the access needed to keep that system updated (for example, you might notice the daily snapshots there stopped some time ago).

  Busybox.net is currently hosted on my home server, at the end of a DSL line. Unfortunately, the load on them is quite heavy. To address this, I'm trying to make arrangements to get busybox.net co-located directly at an ISP. To assist in the co-location effort, Mark Whitley (author of busybox sed, cut, and grep) has donated his NetWinder computer for hosting busybox.net and uclibc.org. Once this system is co-located, the current speed problems should be completely eliminated. Hopefully, too, some of you will volunteer to set up some mirror sites, to help to distribute the load a bit.

  Since some people expressed concern over BusyBox donations, let me assure you that no one is getting rich here. All BusyBox and uClibc donations will be spent paying for bandwidth and needed hardware upgrades. For example, Mark's NetWinder currently has just 64Meg of memory. As demonstrated when google spidered the site the other day, 64 Megs in not enough, so I'm going to be ordering 256Megs of ram and a larger hard drive for the box today. So far, donations received have been sufficient to cover almost all expenses. In the future, we may have co-location fees to worry about, but for now we are ok. A HUGE thank-you goes out to everyone that has contributed!
  -Erik

- 20 November 2001 -- BusyBox 0.60.2 released

  We am very pleased to announce that the BusyBox 0.60.2 (stable) is now released to the world. This one is primarily a bugfix release for the stable series, and it should take care of most everyone's needs till we can get the nice new stuff we have been working on in CVS ready to release (with the wonderful new buildsystem). The biggest change in this release (beyond bugfixes) is the fact that msh (the minix shell) has been re-worked by Vladimir N. Oleynik (vodz) and so it no longer crashes when told to do complex things with backticks.

  This release has been tested on x86, ARM, and powerpc using glibc 2.2.4, libc5, and uClibc, so it should work with just about any Linux system you throw it at. See the changelog for most of the details. The last release was very solid for people, and this one should be even better.

  As usual BusyBox 0.60.2 can be downloaded from http://www.busybox.net/downloads.

  Have Fun.
  -Erik

- 18 November 2001 -- Help us buy busybox.net!
  Click here to help buy busybox.net!
  I've contacted the current owner of busybox.net and he is willing to sell the domain name -- for $250. He also owns busybox.org but will not part with it... I will then need to pay the registry fee for a couple of years and start paying for bandwidth, so this will initially cost about $300. I would like to host busybox.net on my home machine (codepoet.org) so I have full control over the system, but to do that would require that I increase the level of bandwidth I am paying for. Did you know that so far this month, there have been over 1.4 Gigabytes of busybox ftp downloads? I don't even know how much CVS bandwidth it requires. For the time being, Lineo has continued to graciously provide this bandwidth, despite the fact that I no longer work for them. If I start running this all on my home machine, paying for the needed bandwidth will start costing some money.

  I was going to pay it all myself, but my wife didn't like that idea at all (big surprise). It turns out <insert argument where she wins and I don't> she has better ideas about what we should spend our money on that don't involve busybox. She suggested I should ask for contributions on the mailing list and web page. So...

  I am hoping that if everyone could contribute a bit, we could pick up the busybox.net domain name and cover the bandwidth costs. I know that busybox is being used by a lot of companies as well as individuals -- hopefully people and companies that are willing to contribute back a bit. So if everyone could please help out, that would be wonderful!

- 23 August 2001 -- BusyBox 0.60.1 released
  This is a relatively minor bug fixing release that fixes up the bugs that have shown up in the stable release in the last few weeks. Fortunately, nothing too serious has shown up. This release only fixes bugs -- no new features, no new applets. So without further ado, here it is. Come and get it.

  The changelog has all the details. As usual BusyBox 0.60.1 can be downloaded from http://busybox.net/downloads.

  Have Fun!

- 2 August 2001 -- BusyBox 0.60.0 released
  I am very pleased to announce the immediate availability of BusyBox 0.60.0. I have personally tested this release with libc5, glibc, and uClibc on x86, ARM, and powerpc using linux 2.2 and 2.4, and I know a number of people using it on everything from ia64 to m68k with great success. Everything seems to be working very nicely now, so getting a nice stable bug-free(tm) release out seems to be in order. This releases fixes a memory leak in syslogd, a number of bugs in the ash and msh shells, and cleans up a number of things.

  Those wanting an easy way to test the 0.60.0 release with uClibc can use User-Mode Linux to give it a try by downloading and compiling buildroot.tar.gz. You don't have to be root or reboot your machine to run test this way. Preconfigured User-Mode Linux kernel source is also on busybox.net.

  Another cool thing is the nifty BusyBox Tutorial contributed by K Computing. This requires a ShockWave plugin (or standalone viewer), so you may want to grab the the GPLed shockwave viewer from here to view the tutorial.

  Finally, In case you didn't notice anything odd about the version number of this release, let me point out that this release is not 0.53, because I bumped the version number up a bit. This reflects the fact that this release is intended to form a new stable BusyBox release series. If you need to rely on a stable version of BusyBox, you should plan on using the stable 0.60.x series. If bugs show up then I will release 0.60.1, then 0.60.2, etc... This is also intended to deal with the fact that the BusyBox build system will be getting a major overhaul for the next release and I don't want that to break products that people are shipping. To avoid that, the new build system will be released as part of a new BusyBox development series that will have some not-yet-decided-on odd version number. Once things stabilize and the new build system is working for everyone, then I will release that as a new stable release series.

  The changelog has all the details. As usual BusyBox 0.60.0 can be downloaded from http://busybox.net/downloads.

  Have Fun!

- 7 July 2001 -- BusyBox 0.52 released
  I am very pleased to announce the immediate availability of BusyBox 0.52 (the "new-and-improved rock-solid release"). This release is the result of many hours of work and has tons of bugfixes, optimizations, and cleanups. This release adds several new applets, including several new shells (such as hush, msh, and ash).

  The changelog covers some of the more obvious details, but there are many many things that are not mentioned, but have been improved in subtle ways. As usual, BusyBox 0.52 can be downloaded from http://busybox.net/downloads.

  Have Fun!

- 10 April 2001 - Graph of Busybox Growth
  The illustrious Larry Doolittle has made a PostScript chart of the growth of the Busybox tarball size over time. It is available for downloading / viewing right here.

  (Note that while the number of applets in Busybox has increased, you can still configure Busybox to be as small as you want by selectively turning off whichever applets you don't need.)

- 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 http://busybox.net/downloads.

  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.