BusyBox

BusyBox

Infobox Software
name = BusyBox

author = Bruce Perens
developer = Erik Andersen, Rob Landley, Denys Vlasenko


caption = Screenshot of BusyBox
latest_release_version = 1.10.2
latest_release_date = release_date|2008|05|08
operating_system = Linux
programming_language = C
genre = Independent SUSp XCU implementation
license = GNU General Public License
website = http://www.busybox.net

BusyBox is a software application which provides many standard Unix tools, much like the larger (but more capable) GNU Core Utilities. BusyBox is designed to be a small executable for use with Linux, which makes it ideal for special purpose Linux distributions and embedded devices. It has been called "The Swiss Army Knife of Embedded Linux". It is functionally equivalent to the "crunchgen" [ [http://www.freebsd.org/cgi/man.cgi?query=crunchgen "crunchgen" man page] at [http://www.freebsd.org/ freebsd.org] ] command in FreeBSD, developed by James da Silva in 1994 at the University of Maryland, College Park.

Released under the GNU General Public License, version 2 [http://www.busybox.net/license.html] , BusyBox is free software.

In late 2007, BusyBox also came to prominence for actively prosecuting alleged, and in at least one case proven, violations of its copyright under GPL in US-based courts of law.

History

Originally written by Bruce Perens in 1996, the intent of BusyBox was to put a complete bootable system on a single floppy that would be both a rescue disk and an installer for the Debian distribution. It has since then become the de facto standard for embedded Linux devices and Linux distribution installers. Since each Linux executable requires several kilobytes of overhead, having the BusyBox program combine over two hundred programs together can save considerable space.

BusyBox was maintained by Enrique Zanardi and focused on the needs of the Debian boot-floppies installer system until early 1998, when it was taken over by Dave Cinege for The Linux Router Project (LRP). Cinege made several additions, created a modularized build environment, and shifted BusyBox's focus into general high level embedded systems. As LRP development slowed down in 1999, Erik Andersen, then of Lineo, Inc., took over the project and was the official maintainer between December 1999 and March 2006. During this time the Linux embedded market place exploded in growth, and BusyBox matured greatly, expanding both its user base and functionality.

Denys Vlasenko is the current maintainer of BusyBox.

Features

BusyBox can be customized to provide a subset of over two hundred utilities. It can provide most of the utilities specified in the Single Unix Specification plus many others that a user would expect to see on a Linux system. BusyBox uses the ash shell. [http://busybox.net/cgi-bin/viewcvs.cgi/trunk/busybox/shell/Config.in?rev=11083 The 'ash' shell adds about 60k in the default configuration and is the most complete and most pedantically correct shell included with busybox. This shell is actually a derivative of the Debian 'dash' shell (by Herbert Xu), which was created by porting the 'ash' shell(written by Kenneth Almquist) from NetBSD.] [ [http://www.in-ulm.de/~mascheck/various/ash/#busybox ash variants ] ]

A full list of the utilities implemented can be found on the BusyBox site. [ [http://www.busybox.net/downloads/BusyBox.html BusyBox - The Swiss Army Knife of Embedded Linux ] ]

ingle binary

Typical computer programs have a separate binary (executable) file for each application. BusyBox is a single binary, which is a conglomerate of many applications, each of which can be accessed by calling the single BusyBox binary with various names (supported by having a symbolic link or hard link for each different name [http://www-128.ibm.com/developerworks/library/l-busybox/index.html] ) in a specific manner with appropriate arguments.

BusyBox benefits from the single binary approach as it reduces the overheads introduced by the executable file format (typically ELF), and it allows code to be shared between multiple applications without requiring a library.

Sharing of this common code, along with routines written with size-optimization in mind, enables a BusyBox system to be much smaller than a system built with the corresponding full versions of the utilities replaced by BusyBox. The research [ http://www.micsymposium.org/mics_2004/ThayerMiller.pdf Doug Thayer and Keith Miller , Four UNIX Programs in Four UNIX Collections: Seeking Consistency in an Open Source Icon ] which compared GNU, Busybox, asmutils and Perl implementations of the standard Linux commands show that in some situations BusyBox may perform faster than other implementations, but not always.

Examples

Programs included in BusyBox can be run simply by adding their name as an argument to the BusyBox executable:

:/bin/busybox ls

More commonly, the desired command names are linked (using hard or symbolic links) to the BusyBox executable; BusyBox notices the name it is called as, and runs the appropriate command, for example just

:/bin/ls

after "/bin/ls" is linked to "/bin/busybox".

Appliances

It is very common to find BusyBox used in Linux-based appliances, examples of which include:
* Actiontec GT701 DSL Modem/Router (GT701-WG Wireless DSL Modem/Router) bundled mostly with Qwest DSL.
* Actiontec M1000 DSL Modem/Router, bundled mostly with Qwest DSL.
* Actiontec MI424WR MoCA wireless router, bundled mostly with Verizon FiOS.
* Amazon Kindle book reader.
* ASUS wireless broadband router, Asus WL-500g, AM604G.
* BT Home Hub.
* Some D-Link products (e.g. the DSL-500B, DSL-504T, DSL-524T, DSL-564T, DSL-584T, DSL2500U, DSL2540U, DSL2640U, DSL-2640T, DSL-G604T, DSL-G624T, DSL-G664T and DSL-G684T routers).
* Dream Multimedia's Dreambox, a hobbyist DVB receiver.
* Some Edimax products (eg EW-7206APg Wifi Access Point).
* Emprex ME1 HD Multimedia Enclosure.
* Freebox a DSL Modem/Router distributed by Iliad, a French telecom company.
* Gamepark Holdings GP2X open-source Linux game player.
* HP Media Vault.
* IBM Hardware Management Console (HMC).
* Lacie Ethernet Big Disk 1TB. [http://www.lacie.com/us/products/product.htm?pid=10882]
* Some LevelOne [http://www.level1.com/] products (eg WBR-3460A)
* Some Linksys products, including the NSLU2 NAS and the WRT54G broadband router.
* Motorola A780.
* Mvix MX-760HD Media Player.
* Netcomm NB1 ADSL Modem.
* Netgear routers (eg. DG834G).
* Neuros OSD MPEG Video Recorder.
* Nokia 770, Nokia N800 and Nokia N810.
* Some OvisLink products, including the WL-5460AP WiFi AccessPoint and the Evo-DSL04 Modem/Router ADSL2+.
* OpenMoko
* Open Networks iConnect612 ADSL router.
* Picotux, advertised as the smallest computer running Linux in the world.
* QNAP NAS like TS-101, TS-201,...
* Qtopia Greenphone.
* Sharp Zaurus.
* Sonos Digital Music System.
* Sony Digital Video Recorders DHG-HDD250 & DHG-HDD500.
* Synology NAS
* Telindus 1130 ADSL Router.
* Thecus NAS
* Some TP-Link products (eg TD-88xx ADSL Routers).
* Western Digital My Book.
* Zipit Wireless Messenger.

A more complete list can be found on the official website (see external links below).

GPL lawsuits

What was claimed to be the first US lawsuit over a GPL violation concerned use of BusyBox in an embedded device. The lawsuit [ [http://www.softwarefreedom.org/news/2007/sep/20/busybox/ On Behalf of BusyBox Developers, SFLC Files First Ever U.S. GPL Violation Lawsuit] (Software Freedom Law Center 20 September 2007)] , case 07-CV-8205 in the United States District Court for the Southern District of New York was filed on 20 September 2007 by the Software Freedom Law Center (SFLC) on behalf of Andersen and Landley against Monsoon Multimedia Inc., after BusyBox code was discovered in a firmware upgrade and attempts to contact the company had apparently failed. The case was settled with release of the Monsoon version of the source and payment of an undisclosed amount of money to Andersen and Landley. [ [http://www.linux.com/feature/120629 Settlement reached in Busybox-Monsoon GPL case] (Bruce Byfield, Linux.com, 30 October 2007)]

On 21 November 2007, the SFLC brought two similar lawsuits on behalf of Andersen and Landley against two more companies, Xterasys (case 07-CV-10456) and High-Gain Antennas (case 07-CV-10455). [ [http://news.zdnet.co.uk/software/0,1000000121,39290971,00.htm Linux legal team sues over GPL violations] (Martin LaMonica, CNET News.com, 21 November 2007)] [ [http://www.softwarefreedom.org/news/2007/nov/20/busybox/ SFLC press release] ] The Xterasys case was settled on December 17 for release of source code used and an undisclosed payment, [ [http://www.softwarefreedom.org/news/2007/dec/17/busybox-xterasys-settlement/ SFLC press release] ] and the High-Gain Antennas case on March 6, 2008 for active license compliance and an undisclosed payment. [ [http://www.softwarefreedom.org/news/2008/mar/06/busybox-hga/ BusyBox Developers and High-Gain Antennas Agree to Dismiss GPL Lawsuit] (SFLC press release)] On 7 December 2007, a case was brought against Verizon Communications over its distribution of firmware for Actiontec routers that it distributes; [ [http://www.computerworld.com/action/article.do?command=viewArticleBasic&taxonomyName=development&articleId=9051799&taxonomyId=11&intsrc=kc_top Open-source legal group strikes again on BusyBox, suing Verizon] (Grant Gross, "Computerworld", Dec 7 2007)] [ [http://www.softwarefreedom.org/news/2007/dec/07/busybox/ SFLC press release] ] this case was settled March 17, 2008 on condition of license compliance, appointment of an officer to oversee future compliance with free software licenses, and payment of an undisclosed sum. [ [http://www.informationweek.com/news/showArticle.jhtml?articleID=206904096&subSection=News Verizon Settles Open Source Software Lawsuit] (Paul McDougell, "InformationWeek", March 17, 2008)] Further suits were brought on June 9, 2008 against Bell Microproducts (case 08-CV-5270) and Super Micro Computer (case 08-CV-5269), [ [http://www.softwarefreedom.org/news/2008/jun/10/busybox/ SFLC Files Another Round of GPL Violation Lawsuits on Behalf of BusyBox Developers] (SFLC press release)] the Super Micro case being settled on 23 July, 2008. [ [http://www.softwarefreedom.org/news/2008/jul/23/busybox-supermicro/ BusyBox Developers and Supermicro Agree to End GPL Lawsuit: Good Faith Discussions Result in Dismissal of Copyright Infringement Case] (SFLC press release)] and a default judgement was awarded to BusyBox on 10 Sept 08 that included lost profits, penalties and legal costs when Bell Microproducts failed to appear in court. [ [http://www.terekhov.de/DEFAULT-JUDGMENT.pdf] PDF of Court of Southern District of New York Default-Judgement on behalf of BusyBox signed by the judge on 10 Sept 08. (Bell Microsystems failed to appear).]

Notes

External links

* [http://www.busybox.net/ Project home page]
* [http://www.busybox.net/products.html Products known to be using BusyBox]
* [http://www.linuxjournal.com/node/4335/print Building Tiny Linux Systems with BusyBox]
* [http://www.ibm.com/developerworks/library/l-busybox/ Busybox simplifies embedded Linux systems] a developerWorks article by M. Tim Jones


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • BusyBox — Basisdaten Entwickler Denys Vlasenko Aktuelle Version …   Deutsch Wikipedia

  • Busybox — Entwickler: Denis Vlasenko Aktuelle Version: 1.13.4 (15. April 2009) Betriebssystem: Linux Kategorie: Embedded Linux …   Deutsch Wikipedia

  • BusyBox — BusyBox …   Википедия

  • Busybox — est un logiciel qui implémente un grand nombre des commandes standards sous Unix, à l instar des GNU Core Utilities. BusyBox est conçu comme un unique fichier exécutable, ce qui le rend très adapté aux distributions Linux utilisées sur les… …   Wikipédia en Français

  • Busybox — Saltar a navegación, búsqueda En computación, BusyBox es una programa que combina muchas utilidades estándares de Unix en un solo ejecutable pequeño. Es capaz de proveer la mayoría de las utilidades que están especificadas para los sistemas Unix… …   Wikipedia Español

  • BusyBox — Accueil BusyBox BusyBox est un logiciel qui implémente un grand nombre des commandes standards sous Unix, à l instar des GNU Core Utilities. BusyBox est conçu comme un unique fichier exécutable, ce qui le rend très adapté aux distributions Linux… …   Wikipédia en Français

  • Busybox — …   Википедия

  • busybox — n. panel or box with games and toys for young children, activity center …   English contemporary dictionary

  • activity center — busybox, panel containing various stimulating buttons and sounds for babies to play with …   English contemporary dictionary

  • Software Freedom Law Center — The Software Freedom Law Center (SFLC) is an organization that provides legal representation and related services to protectand advance free software / open source software. It was launched in February 2005 with Eben Moglen as Chairman. Initial… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”