BusyBox 1.9.1. (svn, patches, how to add a patch)
This is a bugfix-only release, with fixes to fsck, iproute, mdev, mkswap, msh, nameif, stty, test, zcip.
hush has `command` expansion re-enabled for NOMMU, although it is inherently unsafe (by virtue of NOMMU's use of vfork instead of fork). The plan is to make this less likely to bite people in future versions.
BusyBox 1.9.0. (svn, patches, how to add a patch)
Sizes of busybox-1.8.2 and busybox-1.9.0 (with almost full config, static uclibc build):
text data bss dec hex filename 792796 978 9724 803498 c42aa busybox-1.8.2 783803 683 7508 791994 c15ba busybox-1.9.0
Top 10 stack users:
busybox-1.8.2: busybox-1.9.0: input_tab 10428 echo_dg 4116 umount_main 8252 bb_full_fd_action 4112 rtnl_talk 8240 discard_dg 4096 xrtnl_dump_filter 8240 echo_stream 4096 sendMTFValues 5316 discard_stream 4096 mainSort 4700 find_list_entry2 4096 mkfs_minix_main 4288 readlink_main 4096 grave 4260 ipaddr_list_or_flush 3900 unix_do_one 4156 iproute_list_or_flush 3680 parse_prompt 4132 insmod_main 3152
lash is deleted from this release. hush can be configured down to almost the same size, but it is significantly less buggy. It even works on NOMMU machines (interactive mode and backticks are not working on NOMMU, though). "lash" applet is still available, but it runs hush.
init has some changes in this release, please report if it causes problems for you.
Changes since previous release:
BusyBox 1.8.2. (svn, patches, how to add a patch)
BusyBox 1.7.4. (svn, patches, how to add a patch)
These are bugfix-only releases. 1.8.2 contains fixes for inetd, lash, tar, tr, and build system. 1.7.4 contains a fix for inetd.
BusyBox 1.8.1. (svn, patches, how to add a patch)
This is a bugfix-only release, with fixes to login (PAM), modprobe, syslogd, telnetd, unzip.
BusyBox 1.8.0. (svn, patches, how to add a patch)
Note: this is probably the very last release with lash. It will be dropped. Please migrate to hush.
Applets which had many changes since 1.7.x:
httpd:
top:
Build system improvements: libbusybox mode restored (it was lost in transition to new makefiles).
Code and data size in comparison with 1.7.3:
Equivalent .config, i386 uclibc static builds: text data bss dec hex filename 768123 1055 10768 779946 be6aa busybox-1.7.3/busybox 759693 974 9420 770087 bc027 busybox-1.8.0/busybox
New applets:
Other changes since previous release (abridged):
BusyBox 1.7.3. (svn, patches, how to add a patch)
This is a bugfix-only release, with fixes to ash, httpd, inetd, iptun, logger, login, tail.
BusyBox 1.7.2. (svn, patches, how to add a patch)
This is a bugfix-only release, with fixes to install, find, login, httpd, runsvdir, chcon, setfiles, fdisk and line editing.
BusyBox 1.7.1. (svn, patches, how to add a patch)
This is a bugfix-only release, with fixes to cp, runsv, tar, busybox --install and build system.
BusyBox 1.7.0. (svn, patches, how to add a patch)
Applets which had many changes since 1.6.x:
httpd:
udhcp[cd]:
top, ps, killall, pidof:
Build system improvements: doesn't link against libraries we don't need, generates verbose link output and map file, allows for custom link scripts (useful for removing extra padding, among other things).
Code and data size in comparison with 1.6.1:
Equivalent .config, i386 glibc dynamic builds: text data bss dec hex filename 672671 2768 16808 692247 a9017 busybox-1.6.1/busybox 662948 2660 13528 679136 a5ce0 busybox-1.7.0/busybox 662783 2631 13416 678830 a5bae busybox-1.7.0/busybox.customld Same .config built against static uclibc: 765021 1059 11020 777100 bdb8c busybox-1.7.0/busybox_uc
Code/data shrink done in applets: crond, hdparm, dd, cal, od, nc, expr, uuencode, test, slattach, diff, ping, tr, syslogd, hwclock, zcip, find, pidof, ash, uudecode, runit/*, in libbb.
New applets:
Unfortunately, not much work is done on shells. This was mostly stalled by lack of time (read: laziness) on my part to learn how to adapt existing qemu-runnable image for a NOMMU architechture (available on qemu website) for local testing of cross-compiled busybox on my machine.
Other changes since previous release (abridged):
BusyBox 1.6.1. (svn, patches, how to add a patch)
This is a bugfix-only release, with fixes to echo, hush, and wget.
BusyBox 1.6.0. (svn, patches, how to add a patch)
Since this is a x.x.0 release, it probably does not deserve "stable" label. Please help making 1.6.1 stable by testing 1.6.0.
Note that hush shell had many changes and (hopefully) is much improved now, but there is a possibility that it regressed in some obscure cases. Please report any such cases.
lash users please note: lash is going to be deprecated in busybox 1.7.0 and removed in the more distant future. Please migrate to hush.
Memory usage has decreased, but we can do better still
Other changes since previous release:
BusyBox 1.5.1. (patches, how to add a patch)
This is a bugfix-only release, with fixes to hdparm, hush, ifupdown, ps and sed.
BusyBox 1.5.0. (patches, how to add a patch)
Since this is a x.x.0 release, it probably does not deserve "stable" label. Please help making 1.5.1 stable by testing 1.5.0.
Notable changes since previous release:
This release includes only trivial fixes accumulated since 1.4.1.
This release includes only trivial fixes accumulated since 1.4.0.
Since this is a x.x.0 release, it probably is a bit less "stable" than usual.
Changes since previous release:
This release includes only one trivial fix accumulated since 1.3.1
Closing 2006 with new release. It includes only trivial fixes accumulated since 1.3.0
This release has CONFIG_DESKTOP option which enables features needed for busybox usage on desktop machine. For example, find, chmod and chown get several less frequently used options, od is significantly bigger but matches GNU coreutils, etc. Intended to eventually make busybox a viable alternative for "standard" utilities for slightly adventurous desktop users.
Changes since previous release:
Note that GnuPG key used to sign this release is different. 1.2.2.1 is also signed post-factum now. Sorry for the mess.
Added compile-time warning that static linking against glibc produces buggy executables.
It's a bit overdue, but here is BusyBox 1.2.2.
This release has dozens of fixes backported from the ongoing development branch. There are a couple of bugfixes to sed, two fixes to documentation generation (BusyBox.html shouldn't have USE() macros in it anymore), fix umount to report the right errno on failure and to umount block devices by name with newer kernels, fix mount to handle symlinks properly, make mdev delete device nodes when called for hotplug remove, fix a segfault in traceroute, a minor portability fix to md5sum option parsing, a build fix for httpd with old gccs, an options parsing tweak to hdparm, make test fail gracefully when getgroups() returns -1, fix a race condition in modprobe when two instances run at once (hotplug does this), make "tar xf foo.tar dir/dir" extract all subdirectories, make our getty initialize the terminal more like mingetty, an selinux build fix, an endianness fix in ping6, fix for zcip defending addresses, clean up some global variables in gzip to save memory, fix sulogin -tNNN, a help text tweak, several warning fixes and build fixes, fixup dnsd a bit, and a partridge in a pear tree.
As Linux Weekly News noted, this is my (Rob's) last release of BusyBox. The new maintainer is Denis Vlasenko, I'm off to do other things.
The email address gpl@busybox.net is now the recommended way to contact the Software Freedom Law Center to report BusyBox license violations.
Since nobody seems to have objected too loudly over the weekend, I might as well point you all at Busybox 1.2.1, a bugfix-only release with no new features.
It has three shell fixes (two to lash: going "var=value" without saying "export" should now work, plus a missing null pointer check, and one to ash when redirecting output to a file that fills up.) Fix three embarassing thinkos in the new dmesg command. Two build tweaks (dependencies for the compressed usage messages and running make in the libbb subdirectory). One fix to tar so it can extract git-generated tarballs (rather than barfing on the pax extensions). And a partridge in a pear... Ahem.
But wait, there's more! A passwd changing fix so an empty gecos field doesn't trigger a false objection that the new passwd contains the gecos field. Make all our setuid() and setgid() calls check the return value in case somebody's using per-process resource limits that prevent a user from having too many processes (and thus prevent a process from switching away from root, in which case the process will now _die_ rather than continue with root privileges). A fix to adduser to make sure that /etc/group gets updated. And a fix to modprobe to look for modules.conf in the right place on 2.6 kernels.
The -devel branch has been stabilized and the result is Busybox 1.2.0. Lots of stuff changed, I need to work up a decent changelog over the weekend.
I'm still experimenting with how long is best for the development cycle, and since we've got some largeish projects queued up I'm going to try a longer one. Expect 1.3.0 in December. (Expect 1.2.1 any time we fix enough bugs. :)
Update: Here are the first few bug fixes that will go into 1.2.1.
BusyBox 1.1.3 is another bugfix release. It makes passwd use salt, fixes a memory freeing bug in ls, fixes "build all sources at once" mode, makes mount -a not abort on the first failure, fixes msh so ctrl-c doesn't kill background processes, makes patch work with patch hunks that don't have a timestamp, make less's text search a lot more robust (the old one could segfault), and fixes readlink -f when built against uClibc.
Expect 1.2.0 sometime next month, which won't be a bugfix release.
You can now download BusyBox 1.1.2, a bug fix release consisting of 11 patches backported from the development branch: Some build fixes, several fixes for mount and nfsmount, a fix for insmod on big endian systems, a fix for find -xdev, and a fix for comm. Check the file "changelog" in the tarball for more info.
The next new development release (1.2.0) is slated for June. A 1.1.3 will be released before then if more bug fixes crop up. (The new plan is to have a 1.x.0 new development release every 3 months, with 1.x.y stable bugfix only releases based on that as appropriate.)
One issue Erik Andersen wanted to resolve when handing off BusyBox maintainership to Rob Landley was license enforcement. BusyBox and uClibc's existing license enforcement efforts (pro-bono representation by Erik's father's law firm, and the Hall of Shame), haven't scaled to match the popularity of the projects. So we put our heads together and did the obvious thing: ask Pamela Jones of Groklaw for suggestions. She referred us to the fine folks at softwarefreedom.org.
As a result, we're pleased to announce that the Software Freedom Law Center has agreed to represent BusyBox and uClibc. We join a number of other free and open source software projects (such as X.org, Wine, and Plone in being represented by a fairly cool bunch of lawyers, which is not a phrase you get to use every day.
The new maintainer is Rob Landley, and the new release is BusyBox 1.1.1. Expect a "what's new" document in a few days. (Also, Erik and I have have another announcement pending...)
Update: Rather than put out an endless stream of 1.1.1.x releases, the various small fixes have been collected together into a patch, and new fixes will be appended to that as needed. Expect 1.1.2 around June.
The new stable release is BusyBox 1.1.0. It has a number of improvements, including several new applets. (It also has a few rough spots, but we're trying out a "release early, release often" strategy to see how that works. Expect 1.1.1 sometime in March.)
The development branch of busybox is stable enough for wider testing, so you can now download, the first prerelease of 1.1.0. This prerelease includes a lot of new functionality: new applets, new features, and extensive rewrites of several existing applets. This prerelease should be noticeably more standards compliant than earlier versions of busybox, although we're still working out the bugs.
A new stable release (BusyBox 1.01) is now available for download, containing over a hundred small fixes that have cropped up since the 1.00 release.
Bug reports sometimes get lost when posted to the mailing list. The developers of BusyBox are busy people, and have only so much they can keep in their brains at a time. In my case, I'm lucky if I can remember my own name, much less a bug report posted last week... To prevent your bug report from getting lost, if you find a bug in BusyBox, please use the shiny new Bug and Patch Tracking System to post all the gory details.
The same applies to patches... Regardless of whether your patch is a bug fix or adds spiffy new features, please post your patch to the Bug and Patch Tracking System to make certain it is properly considered.
When you take a careful look at nearly every embedded Linux device or software distribution shipping today, you will find a copy of BusyBox. With countless routers, set top boxes, wireless access points, PDAs, and who knows what else, the future for Linux and BusyBox on embedded devices is looking very bright.
It is therefore with great satisfaction that I declare each and every device already shipping with BusyBox is now officially out of date. The highly anticipated release of BusyBox 1.00 has arrived!
Over three years in development, BusyBox 1.00 represents a tremendous improvement over the old 0.60.x stable series. Now featuring a Linux KernelConf based configuration system (as used by the Linux kernel), Linux 2.6 kernel support, many many new applets, and the development work and testing of thousands of people from around the world.
If you are already using BusyBox, you are strongly encouraged to upgrade to BusyBox 1.00. If you are considering developing an embedded Linux device or software distribution, you may wish to investigate if using BusyBox is right for your application. If you need help getting started using BusyBox, if you wish to donate to help cover expenses, or if you find a bug and need help reporting it, you are invited to visit the BusyBox FAQ.
As usual you can download busybox here.
Have Fun!
Here goes release candidate 3...
The changelog has all the details. And as usual you can download busybox here.
Have Fun!
Here goes release candidate 2...
The changelog has all the details. And as usual you can download busybox here.
Have Fun!
Here goes release candidate 1... This fixes all (most?) of the problems that have turned up since -pre10. In particular, loading and unloading of kernel modules with 2.6.x kernels should be working much better.
I really want to get BusyBox 1.0.0 released soon and I see no real reason why the 1.0.0 release shouldn't happen with things pretty much as is. BusyBox is in good shape at the moment, and it works nicely for everything that I'm doing with it. And from the reports I've been getting, it works nicely for what most everyone else is doing with it as well. There will eventually be a 1.0.1 anyway, so we might as well get on with it. No, BusyBox is not perfect. No piece of software ever is. And while there is still plenty that can be done to improve things, most of that work is waiting till we can get a solid 1.0.0 release out the door....
Please do not bother to send in patches adding cool new features at this time. Only bug-fix patches will be accepted. If you have submitted a bug-fixing patch 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 been lost or forgotten. That happens sometimes. Please re-submit your bug-fixing patch to the BusyBox mailing list, and be sure to put "[PATCH]" at the beginning of the email subject line!
The changelog has all the details. And as usual you can download busybox here.
Have Fun!
On a less happy note, My 92 year old grandmother (my dad's mom) passed away yesterday (June 19th). The funeral will be Thursday in a little town about 2 hours south of my home. I've checked and there is absolutely no way I could be back in time for the funeral if I attend OLS and give my presentation as scheduled.
As such, it is with great reluctance and sadness that I have come to the conclusion I will have to make my appologies and skip OLS this year.
Ok, I lied. It turns out that -pre9 will not be the final BusyBox pre-release. With any luck however -pre10 will be, since I really want to get BusyBox 1.0.0 released very soon. As usual, please do not bother to send in patches adding cool new features at this time. Only bug-fix patches will be accepted. It would also be very helpful if people could continue to review the BusyBox documentation and submit improvements.
The changelog has all the details. And as usual you can download busybox here.
Have Fun!
Here goes the final BusyBox pre-release... This is your last chance for bug fixes. With luck this will be released as BusyBox 1.0.0 later this week. Please do not bother to send in patches adding cool new features at this time. Only bug-fix patches will be accepted. It would also be very helpful if people could help review the BusyBox documentation and submit improvements. I've spent a lot of time updating the documentation to make it better match reality, but I could really use some assistance in checking that the features supported by the various applets match the features listed in the documentation.
I had hoped to get this released a month ago, but another release on 1 March 2004 has kept me busy...
The changelog has all the details. And as usual you can download busybox here.
Have Fun!
Here goes yet another BusyBox pre-release... Please do not bother to send in patches supplying new features at this time. Only bug-fix patches will be accepted. If you have a cool new feature you would like to see supported, or if you have an amazing new applet you would like to submit, please wait and submit such things later. We really want to get a release out we can all be proud of. We are still aiming to finish off the -pre series in February and move on to the final 1.0.0 release... So if you spot any bugs, now would be an excellent time to send in a fix to the busybox mailing list. It would also be very helpful if people could help review the BusyBox documentation and submit improvements. It would be especially helpful if people could check that the features supported by the various applets match the features listed in the documentation.
The changelog has all the details. And as usual you can download busybox here.
Have Fun!
There was a bug in -pre6 that broke argument parsing for a number of applets, since a variable was not being zeroed out properly. This release is primarily intended to fix that one problem. In addition, this release fixes several other problems, including a rewrite by mjn3 of the code for parsing the busybox.conf file used for suid handling, some shell updates from vodz, and a scattering of other small fixes. We are still aiming to finish off the -pre series in February and move on to the final 1.0.0 release... If you see any problems, of have suggestions to make, as always, please feel free to email the busybox mailing list.
The changelog has all the details. And as usual you can download busybox here.
Have Fun!
Here goes the next pre-release for the new BusyBox stable series. This release adds a number of size optimizations, updates udhcp, fixes up 2.6 modutils support, updates ash and the shell command line editing, and the usual pile of bug fixes both large and small. Things appear to be settling down now, so with a bit of luck and some testing perhaps we can finish off the -pre series in February and move on to the final 1.0.0 release... If you see any problems, of have suggestions to make, as always, please feel free to email the busybox mailing list.
People who rely on the daily BusyBox snapshots should be aware that snapshots of the old busybox 0.60.x series are no longer available. Daily snapshots are now only available for the BusyBox 1.0.0 series and now use the naming scheme "busybox-<date>.tar.bz2". Please adjust any build scripts using the old naming scheme accordingly.
The changelog has all the details. And as usual you can download busybox here.
Have Fun!
Here goes the next pre-release for the new BusyBox stable series. The most obvious thing in this release is a fix for a terribly stupid bug in mount that prevented it from working properly unless you specified the filesystem type. This release also fixes a few compile problems, updates udhcp, fixes a silly bug in fdisk, fixes ifup/ifdown to behave like the Debian version, updates devfsd, updates the 2.6.x modutils support, add a new 'rx' applet, removes the obsolete 'loadacm' applet, fixes a few tar bugs, fixes a sed bug, and a few other odd fixes.
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!
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!
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!
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!
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.