<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <HTML> <HEAD> <TITLE>BusyBox</TITLE> </HEAD> <body text="#000000" alink="#660000" link="#660000" bgcolor="#dee2de" vlink="#660000"> <basefont face="lucida, helvetica, arial" size="3"> <CENTER> <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=2> <TR> <td bgcolor="#000000"> <FONT FACE="lucida, helvetica" COLOR="#ccccc0"> <B>B u s y B o x</B> </FONT> </TD> </TR> </TABLE> <a href="/"><IMG SRC="images/busybox2.jpg" alt="BusyBox" border="0" width="360" height="230"</a><BR> <TABLE WIDTH=95% CELLSPACING=1 CELLPADDING=4 BORDER=1> <!-- Begin Older News section --> <TR><TD BGCOLOR="#ccccc0" ALIGN=center> <A NAME="news"> <BIG><B> Older BusyBox News</A> </B></BIG> </A> </TD></TR> <TR><TD BGCOLOR="#eeeee0"> <ul> <p> <li> <b>Take me back to the <a href="/">BusyBox</a> web site.</b> <hr> <li> <b>3 January 2002 -- Welcome to busybox.net!</b> <p>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).</p> <p>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, <a href= "http://www.codepoet.org/~markw">Mark Whitley</a> (author of busybox sed, cut, and grep) has donated his <a href= "http://www.netwinder.org/">NetWinder</a> 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.</p> <p><!-- <center> Click here to help support busybox.net! <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_xclick"> <input type="hidden" name="business" value="andersen@codepoet.org"> <input type="hidden" name="item_name" value="Support Busybox"> <input type="hidden" name="image_url" value="https://codepoet-consulting.com/images/busybox2.jpg"> <input type="hidden" name="no_shipping" value="1"> <input type="image" src="images/donate.png" border="0" name="submit" alt="Make donation using PayPal"> </form> </center> --> 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 <b>HUGE thank-you</b> goes out to everyone that has contributed!<br> -Erik</p> </li> <li> <b>20 November 2001 -- BusyBox 0.60.2 released</b> <p>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.</p> <p>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 <a href= "downloads/Changelog">changelog</a> for <small>most of</small> the details. The last release was <em>very</em> solid for people, and this one should be even better.</p> <p>As usual BusyBox 0.60.2 can be downloaded from <a href= "downloads">http://www.busybox.net/downloads</a>.</p> <p>Have Fun.<br> -Erik</p> </li> <li> <b>18 November 2001 -- Help us buy busybox.net!</b> <!-- Begin PayPal Logo --> <center> Click here to help buy busybox.net! <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_xclick"> <input type="hidden" name="business" value="andersen@codepoet.org"> <input type="hidden" name="item_name" value="Support Busybox"> <input type="hidden" name="image_url" value="https://busybox.net/images/busybox2.jpg"> <input type="hidden" name="no_shipping" value="1"> <input type="image" src="images/donate.png" border="0" name="submit" alt="Make donation using PayPal"> </form> </center> <!-- End PayPal Logo --> 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 <em>know</em> 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. <p> 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... <p> 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! <p> <li> <b>23 August 2001 -- BusyBox 0.60.1 released</b> <br> 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 <em>too</em> 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. <p> The <a href="downloads/Changelog">changelog</a> has all the details. As usual BusyBox 0.60.1 can be downloaded from <a href="downloads">http://busybox.net/downloads</a>. <p>Have Fun! <p> <li> <b>2 August 2001 -- BusyBox 0.60.0 released</b> <br> I am very pleased to announce the immediate availability of BusyBox 0.60.0. I have personally tested this release with libc5, glibc, and <a href="http://uclibc.org/">uClibc</a> 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. <p> Those wanting an easy way to test the 0.60.0 release with uClibc can use <a href="http://user-mode-linux.sourceforge.net/">User-Mode Linux</a> to give it a try by downloading and compiling <a href="ftp://busybox.net/buildroot.tar.gz">buildroot.tar.gz</a>. 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. <p> Another cool thing is the nifty <a href="downloads/tutorial/index.html"> BusyBox Tutorial</a> contributed by K Computing. This requires a ShockWave plugin (or standalone viewer), so you may want to grab the the GPLed shockwave viewer from <a href="http://www.swift-tools.com/Flash/flash-0.4.10.tgz">here</a> to view the tutorial. <p> Finally, In case you didn't notice anything odd about the version number of this release, let me point out that this release is <em>not</em> 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. <p> The <a href="downloads/Changelog">changelog</a> has all the details. As usual BusyBox 0.60.0 can be downloaded from <a href="downloads">http://busybox.net/downloads</a>. <p>Have Fun! <p> <li> <b>7 July 2001 -- BusyBox 0.52 released</b> <br> 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 <em>many</em> 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). <p> The <a href="downloads/Changelog">changelog</a> 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 <a href="downloads">http://busybox.net/downloads</a>. <p>Have Fun! <p> <li> <b>10 April 2001 - Graph of Busybox Growth </b> <br> 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 <a href= "busybox-growth.ps"> right here</a>. <p> (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.) <p> <li> <b>10 April 2001 -- BusyBox 0.51 released</b> <br> 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. <p> 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!). <p> You can read the <a href="downloads/Changelog">changelog</a> for complete details. BusyBox 0.51 can be downloaded from <a href="downloads">http://busybox.net/downloads</a>. <p>Have Fun! <p> <li> <b>Busybox Boot-Floppy Image</b> <p>Because you asked for it, we have made available a <a href= "downloads/busybox.floppy.img"> Busybox boot floppy image</a>. Here's how you use it: <ol> <li> <a href= "downloads/busybox.floppy.img"> Download the image</a> <li> dd it onto a floppy like so: <tt> dd if=busybox.floppy.img of=/dev/fd0 ; sync </tt> <li> Pop it in a machine and boot up. </ol> <p> If you want to look at the contents of the initrd image, do this: <pre> 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 </pre> <li> <b>15 March 2001 -- BusyBox 0.50 released</b> <br> 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 <a href="downloads/Changelog">changelog</a>. <p> 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 <a href="http://doolittle.faludi.com/~larry/parser.html">Larry Doolittle's website</a>. <p> <li> <b>27 January 2001 -- BusyBox 0.49 released</b> <br> 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 <a href="downloads/Changelog">changelog</a>. <p> 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. <p> <em>Special Note</em><br> 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 <a href="http://doolittle.faludi.com/~larry/parser.html">Larry's website</a> and help out if you can. This shell will be included in the next release of BusyBox. <p> <li> <b>13 December 2000 -- BusyBox 0.48 released</b> <br> 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. <p> The curious can get a list of some of the more interesting changes by reading the <a href="downloads/Changelog">changelog</a>. <p> Many thanks go out to the many many people that have contributed to this release, especially Matt Kraai, Larry Doolittle, and Kent Robotti. <p> <p> <li> <b>26 September 2000 -- BusyBox 0.47 released</b> <br> 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 <a href="downloads/Changelog">changelog</a> for complete details. <p> <li> <b>11 July 2000 -- BusyBox 0.46 released</b> <br> 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 <a href="downloads/Changelog">changelog</a> for complete details. <p> <li> <b>21 June 2000 -- BusyBox 0.45 released</b> <br> 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 <a href="downloads/Changelog">changelog</a> for details). <p> Also, some exciting infrastructure news! Busybox now has its own <a href="lists/busybox/">mailing list</a>, publically browsable <a href="/cgi-bin/cvsweb/busybox/">CVS tree</a>, anonymous <a href="cvs_anon.html">CVS access</a>, and for those that are actively contributing there is even <a href="cvs_write.html">CVS write access</a>. I think this will be a huge help to the ongoing development of BusyBox. <p> 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. <p> Many thanks go out to the many people that have contributed to this release of BusyBox (esp. Pavel Roskin)! <p> <li> <b>19 April 2000 -- syslogd bugfix</b> <br> Turns out that there was still a bug in busybox syslogd. For example, with the following test app: <pre> #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); } </pre> 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). <p> Karl M. Hegbloom has created a fix for the problem. Thanks Karl! <p> <li> <b>18 April 2000 -- BusyBox 0.43 released (finally!)</b> <br> 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 <a href="downloads/Changelog">changelog</a>. Oh, and as a special bonus, I wrote some fairly comprehensive <em>documentation</em>, complete with examples and full usage information. <p> 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. <p> You can grab BusyBox 0.43 tarballs <a href="downloads">here</a>. <p> <li> <b>9 April 2000 -- BusyBox 0.43 pre release</b> <br> 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. <p> The pre-release can be found <a href="downloads">here</a>. Please let me know ASAP if you find <em>any</em> bugs. <p> <li> <b>28 March 2000 -- Andersen Baby Boy release</b> <br> 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). <p> 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. <p> 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. <p> <li> <b>11 February 2000 -- BusyBox 0.42 released</b> <br> This is the most solid BusyBox release so far. Many, many bugs have been fixed. See the <a href="downloads/Changelog">changelog</a> 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. <p> <li> <b>19 January 2000 -- BusyBox 0.41 released</b> <br> 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 <a href="downloads/Changelog">here</a>. <p> <li> <b>7 January 2000 -- BusyBox 0.40 released</b> <br> 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 <a href="downloads/Changelog">here</a>. <p> <li> <b>11 December 1999 -- BusyBox Website</b> <br> 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. <p> <li> <b>10 December 1999 -- BusyBox 0.39 released</b> <br> 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 <a href="downloads/Changelog">here</a>. <p> <li> <b>5 December 1999 -- BusyBox 0.38 released</b> <br> This release includes fixes to tar, cat, ls, dd, rm, umount, find, df, and make install, and includes new apps syslogd/klogd and logger. </ul> <!-- Begin Links section --> <TR><TD BGCOLOR="#ccccc0" ALIGN=center> <A NAME="links"> <BIG><B> Important Links</A> </B></BIG> </A> </TD></TR> <TR><TD BGCOLOR="#eeeee0"> <ul> <li> <a href="/">Take me back to http://busybox.net/</a>. <p> <li> <A HREF="http://perens.com/FreeSoftware/"> Free Software from Bruce Perens</A><br> The original idea for BusyBox, and all versions up to 0.26 were written by <A HREF="mailto:bruce@perens.com">Bruce Perens</a>. This is his BusyBox website. <p> <li> <A HREF="http://freshmeat.net/appindex/1999/04/11/923859921.html"> Freshmeat AppIndex record for BusyBox</A> <p> </ul> <!-- End of Table --> </TD></TR> </TABLE> </P> <!-- Footer --> <HR> <TABLE WIDTH="100%"> <TR> <TD> <font size="-1" face="arial, helvetica, sans-serif"> Mail all comments, insults, suggestions and bribes to <a href="mailto:andersen@codepoet.org">Erik Andersen</a><BR> The Busybox logo is copyright 1999-2002, Erik Andersen. </font> </TD> <TD> <a href="http://www.vim.org"><img border=0 width=88 height=32 src="images/anim.written.in.vi.gif" alt="This site created with the vi editor"></a> </TD> <TD> <a href="http://www.gimp.org/"><img border=0 width=88 height=38 src="images/gfx_by_gimp.gif" alt="Graphics by GIMP"></a> </TD> <TD> <a href="http://www.linuxtoday.com"><img width=90 height=36 src="images/ltbutton2.jpg" alt="Linux Today"></a> </TD> <TD> <p><a href="http://slashdot.org"><img width=90 height=36 src="images/sdsmall.gif" alt="Slashdot"></a> </TD> <TD> <a href="http://freshmeat.net"><img width=90 height=36 src="images/fm.mini.jpg" alt="Freshmeat"></a> </TD> </TR> </TABLE> </BODY> </HTML>