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!
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!
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!
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!
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!
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
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
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!
The changelog has all the details. As usual BusyBox 0.60.1 can be downloaded from http://busybox.net/downloads.
Have Fun!
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!
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!
(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.)
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!
Because you asked for it, we have made available a Busybox boot floppy image. Here's how you use it:
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
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.
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.
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.
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)!
#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!
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.
The pre-release can be found here. Please let me know ASAP if you find any bugs.
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.