3ef2ab8bb1b260722da14983114659a40703f442
[oweals/busybox.git] / docs / busybox.net / index.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> 
2
3 <HTML>
4 <HEAD>
5 <TITLE>BusyBox</TITLE>
6 </HEAD>
7
8 <body text="#000000" alink="#660000" link="#660000" bgcolor="#dee2de" vlink="#660000">
9
10 <basefont face="lucida, helvetica, arial" size="3">
11
12
13 <CENTER>
14       <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=2>
15             <TR>
16                 <td bgcolor="#000000">
17                   <FONT FACE="lucida, helvetica" COLOR="#ccccc0">
18                       <B>B&nbsp;u&nbsp;s&nbsp;y&nbsp;B&nbsp;o&nbsp;x</B>
19                   </FONT>
20                 </TD>
21             </TR>
22       </TABLE>
23       <a href="/"><IMG SRC="images/busybox2.jpg" alt="BusyBox" border="0" width="360" height="230"></a><BR>
24
25
26 <!-- Begin Introduction section -->
27
28
29 <TABLE WIDTH="95%" CELLSPACING=1 CELLPADDING=4 BORDER=1>
30 <TR><TD BGCOLOR="#ccccc0" ALIGN=center>
31     <A NAME="intro"> <BIG><B>
32     The Swiss Army Knife of Embedded Linux
33     </B></BIG></A>
34 </TD></TR>
35 <TR><TD BGCOLOR="#eeeee0">
36
37 BusyBox combines tiny versions of many common UNIX utilities into a single
38 small executable. It provides minimalist replacements for most of the utilities
39 you usually find in fileutils, shellutils, findutils, textutils, grep, gzip,
40 tar, etc. BusyBox provides a fairly complete POSIX environment for any small or
41 embedded system. The utilities in BusyBox generally have fewer options than
42 their full featured GNU cousins; however, the options that are included provide
43 the expected functionality and behave very much like their GNU counterparts.
44 <p>
45 BusyBox has been written with size-optimization and limited resources in mind.
46 It is also extremely modular so you can easily include or exclude commands (or
47 features) at compile time. This makes it easy to customize your embedded
48 systems. To create a working system, just add /dev, a kernel, and a shell.
49 For a really minimal system, you can even use the busybox shell (not Bourne compatible, but very small and quite usable), and the busybox vi editor.
50 <p>
51
52 BusyBox is now maintained by 
53 <a href="http://codepoet.org/andersen/erik/erik.html">
54 Erik Andersen</a>, and its ongoing development is being sponsored by 
55 <a href="http://www.lineo.com/">Lineo</a>. 
56 <p>
57 BusyBox is licensed under the 
58 <a href="http://www.gnu.org/copyleft/gpl.html">GNU GENERAL PUBLIC LICENSE</a>
59 <p>
60
61
62 <h3> Screenshot </h3>
63
64 <p> Because everybody loves screenshots, a screenshot of BusyBox 
65 is now available <a href="screenshot.html"> right here</a>
66
67
68 <H3>Mailing List Information</h3>
69 BusyBox now has a <a href="http://opensource.lineo.com/lists/busybox/">mailing list</a>!
70 To subscribe, go and visit <a href="http://opensource.lineo.com/mailman/listinfo/busybox">this page</a>.
71
72 <!-- Begin Latest News section -->
73
74 <TR><TD BGCOLOR="#ccccc0" ALIGN=center>
75     <A NAME="news">
76     <BIG><B>
77     Latest News
78     </B></BIG>
79     </A>
80 </TD></TR>
81 <TR><TD BGCOLOR="#eeeee0">
82
83 <ul>
84
85     <li> <b>10 April 2001 -- BusyBox 0.51 released</b>
86     <br>
87
88              BusyBox 0.51 (the "rock-solid release") is now out there.  This
89              release adds only 2 new applets: env and vi.  The vi applet,
90              contributed by Sterling Huxley, is very functional, and is only
91              22k.  This release fixes 3 critical bugs in the 0.50 release.
92              There were 2 potential segfaults in lash (the busybox shell) in
93              the 0.50 release which are now fixed.  Another critical bug in
94              0.50 which is now fixed: syslogd from 0.50 could potentially
95              deadlock the init process and thereby break your entire system.
96              <p>
97
98              There are a number of improvements in this release as well.  For
99              one thing, the wget applet is greatly improved.  Dmitry Zakharov
100              added FTP support, and Laurence Anderson make wget fully RFC
101              compliant for HTTP 1.1.  The mechanism for including utility
102              functions in previous releases was clumsy and error prone.  Now
103              all utility functions are part of a new libbb library, which makes
104              maintaining utility functions much simpler.  And BusyBox now
105              compiles on itanium systems (thanks to the Debian itanium porters
106              for letting me use their system!).
107              <p>
108              You can read the 
109              <a href="ftp://oss.lineo.com/busybox/Changelog">changelog</a> for
110              complete details.  BusyBox 0.51 can be downloaded from 
111              <a href="ftp://oss.lineo.com/busybox">ftp://oss.lineo.com/busybox</a>.
112              <p>Have Fun!
113              <p>
114
115     <li> <b>Busybox Boot-Floppy Image</b>
116
117     <p>Because you asked for it, we have made available a <a href=
118     "ftp://opensource.lineo.com/busybox/busybox.floppy.img"> Busybox boot floppy
119     image</a>. Here's how you use it:
120
121     <ol>
122
123             <li> <a href= "ftp://opensource.lineo.com/busybox/busybox.floppy.img">
124             Download the image</a>
125
126             <li> dd it onto a floppy like so: <tt> dd if=busybox.floppy.img
127             of=/dev/fd0 ; sync </tt>
128
129             <li> Pop it in a machine and boot up.
130
131     </ol>
132
133     <p> If you want to look at the contents of the initrd image, do this:
134
135     <pre>
136             mount ./busybox.floppy.img /mnt -o loop -t msdos        
137             cp /mnt/initrd.gz /tmp                          
138             umount /mnt           
139             gunzip /tmp/initrd.gz
140             mount /tmp/initrd /mnt -o loop -t minix
141     </pre>
142
143
144     <li> <b>15 March 2001 -- BusyBox 0.50 released</b>
145     <br>
146
147              This release adds several new applets including ifconfig, route, pivot_root, stty,
148              and tftp, and also fixes tons of bugs.  Tab completion in the
149              shell is now working very well, and the shell's environment variable
150              expansion was fixed.   Tons of other things were fixed or made
151              smaller.  For a fairly complete overview, see the 
152              <a href="ftp://oss.lineo.com/busybox/Changelog">changelog</a>.
153              <p>
154              lash (the busybox shell) is still with us, fixed up a bit so it
155              now behaves itself quite nicely.  It really is quite usable as
156              long as you don't expect it to provide Bourne shell grammer.
157              Standard things like pipes, redirects, command line editing, and
158              environment variable expansion work great.  But we have found that
159              this shell, while very usable, does not provide an extensible
160              framework for adding in full Bourne shell behavior.  So the first order of
161              business as we begin working on the next BusyBox release will be to merge in the new shell
162              currently in progress at 
163              <a href="http://doolittle.faludi.com/~larry/parser.html">Larry Doolittle's website</a>.   
164              <p>
165
166
167     <li> <b>27 January 2001 -- BusyBox 0.49 released</b>
168     <br>
169
170              Several new applets, lots of bug fixes, cleanups, and many smaller 
171              things made nicer.  Several cleanups and improvements to the shell.
172              For a list of the most interesting changes 
173              you might want to look at the <a href="ftp://oss.lineo.com/busybox/Changelog">changelog</a>. 
174              <p>
175              Special thanks go out to Matt Kraai and Larry Doolittle for all their
176              work on this release, and for keeping on top of things while I've been 
177              out of town.
178              <p>
179              <em>Special Note</em><br>
180
181              BusyBox 0.49 was supposed to have replaced lash, the BusyBox
182              shell, with a new shell that understands full Bourne shell/Posix shell grammer.
183              Well, that simply didn't happen in time for this release.  A new
184              shell that will eventually replace lash is already under
185              construction.  This new shell is being developed by Larry
186              Doolittle, and could use all of our help.  Please see the work in
187              progress on <a href="http://doolittle.faludi.com/~larry/parser.html">Larry's website</a> 
188              and help out if you can.  This shell will be included in the next 
189              release of BusyBox.
190              <p>
191
192     <li> <b>13 December 2000 -- BusyBox 0.48 released</b>
193     <br>
194
195              This release fixes lots and lots of bugs.  This has had some very
196              rigorous testing, and looks very, very clean.  The usual tar
197              update of course: tar no longer breaks hardlinks, tar -xzf is
198              optionally supported, and the LRP folks will be pleased to know
199              that 'tar -X' and 'tar --exclude' are both now in.  Applets are
200              now looked up using a binary search making lash (the busybox
201              shell) much faster.  For the new debian-installer (for Debian
202              woody) a .udeb can now be generated.  
203              <p>
204              The curious can get a list of some of the more interesting changes by reading 
205              the <a href="ftp://oss.lineo.com/busybox/Changelog">changelog</a>. 
206              <p>
207              Many thanks go out to the many many people that have contributed to 
208              this release, especially Matt Kraai, Larry Doolittle, and Kent Robotti.
209              <p>
210
211
212     <li> <b>Old News</b>
213     <br>
214              For the old news, visit <a href="http://busybox.lineo.com/oldnews.html">the old news page</a>.
215 </ul>
216
217
218 <!-- Begin Download section -->
219
220 <TR><TD BGCOLOR="#ccccc0" ALIGN=center>
221     <A NAME="download"><BIG><B>
222     Download
223     </B></BIG></A>
224 </TD></TR>
225 <TR><TD BGCOLOR="#eeeee0">
226 <ul>
227
228         <li> Source for the latest release can always be downloaded from 
229         <a href="ftp://oss.lineo.com/busybox">ftp://oss.lineo.com/busybox</a>.
230
231         <li> A new snapshot of the source is made daily and is available as a GNU
232         gzipped tarball <a href="busybox.tar.gz"> right here</a>.
233
234         <li> BusyBox now has its own publically browsable
235         <a href="http://opensource.lineo.com/cgi-bin/cvsweb/busybox/">CVS tree</a>,  
236         anonymous
237         <a href="http://opensource.lineo.com/cvs_anon.html">CVS access</a>, and
238         for those that are actively contributing there is even 
239         <a href="http://opensource.lineo.com/cvs_write.html">CVS write access</a>.
240
241 </ul>
242
243
244 <!-- Begin Docs section -->
245
246 <TR><TD BGCOLOR="#ccccc0" ALIGN=center>
247     <A NAME="docs"><BIG><B>
248     Documentation
249     </B></BIG></A>
250 </TD></TR>
251 <TR><TD BGCOLOR="#eeeee0">
252 Current documentation for BusyBox includes: 
253 <ul>
254     <li> <a href="ftp://oss.lineo.com/busybox/BusyBox.html">BusyBox.html</a>.
255                 This is a list of the all the available commands in BusyBox with 
256                 complete usage information and examples of how to use each app.  I 
257                 have spent a <em>lot</em> of time updating these docs and trying to 
258                 make them fairly comprehensive.  If you find any errors (factual, 
259                 grammatical, whatever) please let me know.
260     <li> <a href="ftp://oss.lineo.com/busybox/README">README</a>.
261                 This is the README file included in the busybox source release.
262     <li> <a href="http://bugs.lineo.com/db/pa/lbusybox.html">BusyBox Bugs</a>.
263                 Need to report a bug?  Need to check if a bug has been filed?
264     <li> If you need more help, the BusyBox
265     <a href="http://opensource.lineo.com/lists/busybox/">mailing list</a> is
266     a good place to start.
267 </ul>
268
269
270 <!-- Begin Links section -->
271
272 <TR><TD BGCOLOR="#ccccc0" ALIGN=center>
273     <A NAME="links">
274     <BIG><B>
275     Important Links
276     </B></BIG>
277     </A>
278 </TD></TR>
279 <TR><TD BGCOLOR="#eeeee0">
280
281 <ul> 
282
283     <li>  <A HREF="http://perens.com/FreeSoftware/">
284     Free Software from Bruce Perens</A><br>
285     The original idea for BusyBox, and all versions up to 0.26 were written 
286     by <A HREF="mailto:bruce@perens.com">Bruce Perens</a>.  This is his BusyBox website.
287     <p>
288
289     <li>  <A HREF="http://freshmeat.net/projects/busybox/">
290     Freshmeat AppIndex record for BusyBox</A>
291     <p>
292     <li><a href="http://tinylogin.lineo.com/">TinyLogin</a>
293         is a nice embedded tool for handling authentication, changing passwords,
294         and similar tasks which nicely complements BusyBox.
295     <p>
296
297     <li><a href="http://cvs.uclinux.org/uClibc.html">uClibc</a>
298         is a C library for embedded systems.  You can actually statically link
299         a "Hello World" application under x86 that only takes 4k (as opposed to
300         200k under GNU libc).  It can do dynamic linking too and works nicely with
301         BusyBox to create very small embedded systems.
302     <p>
303
304     <li> <a href="http://opensource.lineo.com/software.html">Other cool embedded software</a>.
305     <p>
306
307     <li> <a href="http://opensource.lineo.com/">opensource.lineo.com</a>.
308     <p>
309
310     <li> <A HREF="http://www.lineo.com/">Lineo</A> is sponsoring BusyBox development.
311     <p>
312
313 </ul>
314
315
316 <!-- Begin Projects section -->
317
318 <TR><TD BGCOLOR="#ccccc0" ALIGN=center>
319     <A NAME="projects"><BIG><B>
320     Products/Projects Using BusyBox
321     </B></BIG></A>
322 </TD></TR>
323 <TR><TD BGCOLOR="#eeeee0">
324
325 <p> I know of the following products and/or projects that use BusyBox --
326 listed in the order I happen to add them to the web page:
327
328 <ul>
329     <li> <a href="http://www.lineo.com/products/embedix_linux/">Lineo Embedix Linux</a>
330     <li> <a href="http://cvs.debian.org/boot-floppies/">Debian installer (boot floppies) project</a>
331     <li> <a href="http://www.linuxrouter.org/">Linux Router Project </a>
332     <li> <a href="http://linux-embedded.org/">LEM</a>
333     <li> <a href="http://www.toms.net/rb/">tomsrtbt</a>
334     <li> <a href="http://www.stormix.com/">Stormix Installer</a>
335     <li> <a href="http://www.emacinc.com/linux2_sbc.htm">EMAC Linux 2.0 SBC</a>
336     <li> <a href="http://www.trinux.org/">Trinux</a>
337     <li> <a href="http://oddas.sourceforge.net/">ODDAS project</a>
338     <li> <a href="http://www.kerbango.com/">The Kerbango Internet Radio</a>
339     <li> <a href="http://www.linuxmagic.com/vpn/">LinuxMagic VPN Firewall</a>
340     <li> <a href="http://byld.sourceforge.net/">Build Your Linux Disk</a>
341     <li> <a href="http://homepages.ihug.co.nz/~ichi/baslinux.html">BasicLinux</a>
342     <li> <a href="http://ibiblio.org/pub/Linux/system/recovery">Zdisk</a>
343     <li> <a href="http://www.adtran.com">AdTran - VPN/firewall VPN Linux Distribution</a> 
344     <li> <a href="http://mkcdrec.ota.be/">mkCDrec - make CD-ROM recovery</a>
345     <li> <a href="http://recycle.lbl.gov/~ldoolitt/bse/">Linux on nanoEngine</a>
346     <li> <a href="http://www.zelow.no/floppyfw/"> Floppyfw</a>
347
348     <li> <a href="http://midori.transmeta.com/"> Midori Linux</a> - <a href=
349         "http://www.wired.com/news/technology/0,1282,42399,00.html"> Article on
350         Midori Linux</a> on <a href= "http://www.wired.com"> Wired</a>. Quote from
351         Erik at the top of <a href=
352         "http://www.wired.com/news/technology/0,1282,42399-2,00.html"> this
353         page</a>
354
355 </ul>
356
357 <p> Do you use BusyBox?  I'd love to know about it and I'd be happy to link to
358 you.
359
360
361
362 <!-- End of Table -->
363
364 </TD></TR>
365 </TABLE>
366
367
368
369 <!-- Footer -->
370 <HR>
371 <TABLE WIDTH="100%">
372     <TR>
373         <TD>
374             <font size="-1" face="arial, helvetica, sans-serif">
375             Mail all comments, insults, suggestions and bribes to 
376             <a href="mailto:andersen@lineo.com">Erik Andersen</a><BR>
377             The Busybox logo is copyright 1999,2000,2001, Erik Andersen.
378             </font>
379         </TD>
380
381         <TD>
382             <a href="http://www.vim.org"><img border=0 width=88 height=32
383             src="images/anim.written.in.vi.gif" 
384             alt="This site created with the vi editor"></a>
385         </TD>
386
387         <TD>
388             <a href="http://www.gimp.org/"><img border=0 width=88 height=38
389             src="images/gfx_by_gimp.gif" alt="Graphics by GIMP"></a>
390         </TD>
391
392         <TD>
393             <a href="http://www.linuxtoday.com"><img width=90 height=36
394             src="images/ltbutton2.jpg" alt="Linux Today"></a>
395         </TD>
396
397         <TD>
398             <p><a href="http://slashdot.org"><img width=90 height=36
399             src="images/sdsmall.gif" alt="Slashdot"></a>
400         </TD>
401
402         <TD>
403             <a href="http://freshmeat.net"><img width=90 height=36
404             src="images/fm.mini.jpg" alt="Freshmeat"></a>
405         </TD>
406
407     </TR>
408 </TABLE>
409
410
411 </CENTER>
412 </BODY>
413 </HTML>
414