BusyBox
   HOME

TheInfoList



OR:

BusyBox is a
software suite A software suite (also known as an application suite) is a collection of computer programs (application software, or programming software) of related functionality, sharing a similar user interface and the ability to easily exchange data with eac ...
that provides several Unix utilities in a single
executable file In computer science, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instructions", as opposed to a da ...
. It runs in a variety of
POSIX The Portable Operating System Interface (POSIX; ) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines application programming interfaces (APIs), along with comm ...
environments such as
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
, Android, and
FreeBSD FreeBSD is a free-software Unix-like operating system descended from the Berkeley Software Distribution (BSD). The first version was released in 1993 developed from 386BSD, one of the first fully functional and free Unix clones on affordable ...
, although many of the tools it provides are designed to work with interfaces provided by the
Linux kernel The Linux kernel is a Free and open-source software, free and open source Unix-like kernel (operating system), kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the k ...
. It was specifically created for embedded operating systems with very limited resources. The authors dubbed it "The Swiss Army knife of
Embedded Linux The Linux, Linux Operating system is prevalent in embedded systems. As of 2024, developer surveys and industry reports find that Embedded Linux is used in 44%-46% of embedded systems. Due to its Linux range of use, versatility, its large community ...
", as the single executable replaces basic functions of more than 300 common commands. It is released as
free software Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
under the terms of the GNU General Public License v2, after controversially deciding not to move to version 3.


History


Origins

Originally written by
Bruce Perens Bruce Perens (born around 1958) is an American computer programmer and advocate in the free software movement. He created ''The Open Source Definition'' and published the first formal announcement and manifesto of open source. He co-founded the ...
in 1995 and declared complete for his intended usage in 1996, BusyBox initially aimed to put a complete bootable system on a single
floppy disk A floppy disk or floppy diskette (casually referred to as a floppy, a diskette, or a disk) is a type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined with a ...
that would serve both as a rescue disk and as an installer for the
Debian Debian () is a free and open-source software, free and open source Linux distribution, developed by the Debian Project, which was established by Ian Murdock in August 1993. Debian is one of the oldest operating systems based on the Linux kerne ...
distribution. Since that time, it has been extended to become the
de facto standard A ''de facto'' standard is a custom or convention that is commonly used even though its use is not required. is a Latin phrase (literally " of fact"), here meaning "in practice but not necessarily ordained by law" or "in practice or actuality, ...
core
user space A modern computer operating system usually uses virtual memory to provide separate address spaces or regions of a single address space, called user space and kernel space. This separation primarily provides memory protection and hardware prote ...
toolset 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 often saves substantial disk space and system memory. BusyBox was maintained by Enrique Zanardi and focused on the needs of the Debian boot-floppies installer system until early 1998, when Dave Cinege took it over 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 system An embedded system is a specialized computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is e ...
s. As LRP development slowed down in 1999, Erik Andersen, then of Lineo, Inc., took over the project and became the official maintainer between December 1999 and March 2006. During this time the Linux embedded marketplace exploded in growth, and BusyBox matured greatly, expanding both its user base and functionality. Rob Landley became the maintainer in 2005 until late 2006, then Denys Vlasenko took over as the current maintainer.


GPLv2/GPLv3 controversies

In September 2006, after heavy discussions and controversies between project maintainer Rob Landley and
Bruce Perens Bruce Perens (born around 1958) is an American computer programmer and advocate in the free software movement. He created ''The Open Source Definition'' and published the first formal announcement and manifesto of open source. He co-founded the ...
, the BusyBox project decided against adopting the GNU General Public License Version 3 (
GPLv3 The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
); the BusyBox license was clarified as being GPL-2.0-only. Since October 2006, Denys Vlasenko has taken over maintainership of BusyBox from Rob Landley, who has started
Toybox Toybox is a free and open-source software implementation of over 200 Unix command line utilities such as '' ls'', '' cp'', and '' mv''. The Toybox project was started in 2006, and became a 0BSD licensed BusyBox alternative. Toybox is used for m ...
, also as a result of the license controversies.


GPL lawsuits

In late 2007, BusyBox also came to prominence for actively prosecuting violations of the terms of its license (the GPL) in the
United States District Court for the Southern District of New York The United States District Court for the Southern District of New York (in case citations, S.D.N.Y.) is a federal trial court whose geographic jurisdiction encompasses eight counties of the State of New York. Two of these are in New York Ci ...
.On Behalf of BusyBox Developers Andersen and Landley, SFLC Files First Ever U.S. GPL Violation Lawsuit
(Software Freedom Law Center September 20, 2007)
What was claimed to be the first US
lawsuit A lawsuit is a proceeding by one or more parties (the plaintiff or claimant) against one or more parties (the defendant) in a civil court of law. The archaic term "suit in law" is found in only a small number of laws still in effect today ...
over a GPL violation concerned use of BusyBox in an
embedded device An embedded system is a specialized computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or Electronics, electronic syst ...
. The lawsuit, case 07-CV-8205, was filed on September 20, 2007, by the
Software Freedom Law Center The Software Freedom Law Center (SFLC) is an organization that provides ''pro bono'' legal representation and related services to not-for-profit developers of free software/open source software. It was launched in February 2005 with Eben Moglen ...
(SFLC) on behalf of Andersen and Landley against Monsoon Multimedia Inc., after BusyBox code was discovered in a
firmware In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, h ...
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. On November 21, 2007, the SFLC brought two similar lawsuits on behalf of Andersen and Landley against two more companies, Xterasys (case 07-CV-10455) and High-Gain Antennas (case 07-CV-10456). The Xterasys case was settled on December 17 for release of source code used and an undisclosed payment, and the High-Gain Antennas case on March 6, 2008, for active license compliance and an undisclosed payment. On December 7, 2007, a case was brought against
Verizon Communications Verizon Communications Inc. ( ), is an American telecommunications company headquartered in New York City. It is the world's second-largest telecommunications company by revenue and its mobile network is the largest wireless carrier in the ...
over its distribution of firmware for Actiontec routers; 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. Further suits were brought on June 9, 2008, against Bell Microproducts (case 08-CV-5270) and SuperMicro (case 08-CV-5269), the Super Micro case being settled on July 23, 2008. BusyBox and Bell Microproducts also settled out of court on October 17. On December 14, 2009, a new lawsuit was filed naming fourteen defendants including
Best Buy Best Buy Co., Inc. is an American multinational consumer electronics retailer headquartered in Richfield, Minnesota. Originally founded by Richard M. Schulze and James Wheeler in 1966 as an audio specialty store called Sound of Music, it was r ...
, JVC,
Samsung Samsung Group (; stylised as SΛMSUNG) is a South Korean Multinational corporation, multinational manufacturing Conglomerate (company), conglomerate headquartered in the Samsung Town office complex in Seoul. The group consists of numerous a ...
and others. In February 2010
Samsung Samsung Group (; stylised as SΛMSUNG) is a South Korean Multinational corporation, multinational manufacturing Conglomerate (company), conglomerate headquartered in the Samsung Town office complex in Seoul. The group consists of numerous a ...
released its LN52A650 TV firmware under GPLv2, which was used later as a reference by the SamyGO community project. On about August 3, 2010, BusyBox won from Westinghouse a default judgement of triple damages of $90,000 and lawyers' costs and fees of $47,865, and possession of "presumably a lot of high-def TVs" as infringing equipment in the lawsuit
Software Freedom Conservancy Software Freedom Conservancy, Inc. (also known as "Conservancy") is an organization that provides a Nonprofit organization, non-profit home, infrastructure support, and legal support for free software, free and open source software projects. The ...
v. Best Buy, et al., the GPL infringement case noted in the paragraph above. No other developers, including original author Bruce Perens and maintainer Dave Cinege, were represented in these actions or party to the settlements. On December 15, 2009, Perens released a statement expressing his unhappiness with some aspects of the legal situation, and in particular alleged that the current BusyBox developers "appear to have removed some of the copyright statements of other BusyBox developers, and appear to have altered license statements".


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 The Single UNIX Specification (SUS) is a standard for computer operating systems, compliance with which is required to qualify for using the "UNIX" trademark. The standard specifies programming interfaces for the C language, a command-line shell, ...
(SUS) plus many others that a user would expect to see on a Linux system. BusyBox uses the
Almquist shell Almquist shell (also known as A Shell, ash and sh) is a lightweight Unix shell originally written by Kenneth Almquist in the late 1980s. Initially a clone of the System V.4 variant of the Bourne shell, it replaced the original Bourne shell in t ...
, also known as A Shell, ash and sh. An alternative for customization is the smaller 'hush' shell. "Msh" and "lash" used to be available. As it is a complete bootstrap system, it will further replace the init daemon and
udev udev (userspace ) is a device manager for the Linux kernel. As the successor of devfsd and hotplug, udev primarily manages device nodes in the directory. At the same time, udev also handles all user space events raised when hardware devices ...
(or the latter-day
systemd systemd is a software suite that provides an array of system components for Linux operating systems. The main aim is to unify service configuration and behavior across Linux distributions. Its primary component is a "system and service manage ...
) using itself to be called as ''init'' on startup and ''mdev'' at hotplug time. The BusyBox website provides a full list of the utilities implemented.


Single binary

Typical computer programs have a separate binary (
executable In computer science, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instruction (computer science), in ...
) 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 In computing, a symbolic link (also symlink or soft link) is a file whose purpose is to point to a file or directory (called the "target") by specifying a path thereto. Symbolic links are supported by POSIX and by most Unix-like operating syste ...
or
hard link In computing, a hard link is a directory entry (in a Directory (computing), directory-based file system) that associates a name with a Computer file, file. Thus, each file must have at least one hard link. Creating additional hard links for a fil ...
for each different name) in a specific manner with appropriate arguments. BusyBox benefits from the single binary approach, as it reduces the overhead introduced by the executable file format (typically
ELF An elf (: elves) is a type of humanoid supernatural being in Germanic peoples, Germanic folklore. Elves appear especially in Norse mythology, North Germanic mythology, being mentioned in the Icelandic ''Poetic Edda'' and the ''Prose Edda'' ...
), and it allows code to be shared between multiple applications without requiring a
library A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
. This technique is similar to what is provided by the ''crunchgen'' command in
FreeBSD FreeBSD is a free-software Unix-like operating system descended from the Berkeley Software Distribution (BSD). The first version was released in 1993 developed from 386BSD, one of the first fully functional and free Unix clones on affordable ...
, the difference being that BusyBox provides simplified versions of the utilities (for example, an ls command without file sorting ability), while a crunchgen generated sum of all the utilities would offer the fully functional versions. Sharing of the common code, along with routines written with size-optimization in mind, can make a BusyBox system use much less storage space than a system built with the corresponding full versions of the utilities replaced by BusyBox. Research that compared GNU, BusyBox, asmutils and
Perl Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language". Perl was developed ...
implementations of the standard Unix commands showed that in some situations BusyBox may perform faster than other implementations, but not always.


Commands

The official BusyBox documentation lists an overview of the available commands and their command-line options.
List of BusyBox commands
* acpid * adduser * adjtimex * ash * ar * arp — The Address Resolution Protocol (ARP) * arping — Send ARP REQUEST to a neighbour host * ash * basename — Return non-directory portion of a pathname removing suffix. * beep * blkid — Print type, label and UUID of filesystem on a block device or image. * brctl * bunzip2 — Decompress bzip2 files. * bzcat — Decompress bzip2 files to stdout. *
bzip2 bzip2 is a free and open-source file compression program that uses the Burrows–Wheeler algorithm. It only compresses single files and is not a file archiver. It relies on separate external utilities such as tar for tasks such as handli ...
— Create bzip2 compressed files. *
cal Cal or CAL may refer to: Arts and entertainment * ''Cal'' (novel), a 1983 novel by Bernard MacLaverty * "Cal" (short story), a science fiction short story by Isaac Asimov * ''Cal'' (1984 film), an Irish drama starring John Lynch and Helen Mir ...
— Print a calendar. *
cat The cat (''Felis catus''), also referred to as the domestic cat or house cat, is a small domesticated carnivorous mammal. It is the only domesticated species of the family Felidae. Advances in archaeology and genetics have shown that the ...
— Print content of one or more files to stdout. * catv * chat * chattr — Change file attributes on a Linux file system. *
chgrp , short for change group, is a shell command for changing the group associated with a Unix-based file system file including special files such as directories. Changing the group of a file is restricted to a super-user (such as via ) or to ...
— Change group of one or more files. *
chmod is a shell command for changing access permissions and special mode flags of files (including special files such as directories). The name is short for ''change mode'' where ''mode'' refers to the permissions and flags collectively. The co ...
— Change mode of listed files. *
chown , short for change owner, is a shell command for changing the owning user of Unix-based file system files including special files such as directories. The ownership of a file may only be altered by a super-user (such as via sudo). A reg ...
— Change owner of one or more files. * chpasswd * chpst *
chroot chroot is a shell (computer), shell command (computing), command and a system call on Unix and Unix-like operating systems that changes the apparent root directory for the current running process and its Child process, children. A program that i ...
— Run command within a new root directory. * chrt * chvt * cksum — For each file, output crc32 checksum value, length and name of file. * clear — Clear the screen. * cmp — Compare the contents of two files. * comm — Select or reject lines common to two files. * cp — Copy files. *
cpio cpio is a general file archiver utility and its associated file format. It is primarily installed on Unix-like computer operating systems. The software utility was originally intended as a tape archiving program as part of the Programmer's Work ...
— Copy files into and out of a "newc" format cpio archive. * crond * crontab * cryptpw * cut — Print selected parts of lines from each FILE to standard output. * date — Set/get the current date/time. * dc * dd — Copy a file with converting and formatting. * deallocvt * delgroup * deluser * depmod * devmem * df — Print filesystem usage statistics. * dhcprelay *
diff In computing, the utility diff is a data comparison tool that computes and displays the differences between the contents of files. Unlike edit distance notions used for other purposes, diff is line-oriented rather than character-oriented, but i ...
— Compare two files. * dirname — Show directory portion of path. * dnsd * dnsdomainname *
dos2unix (sometimes named or ) is a tool to convert line breaks in a text file from Unix format (Line feed) to DOS format (carriage return + Line feed) and vice versa. When invoked as the program will convert a Unix text file to DOS format, when inv ...
— Convert newline format from dos "\r\n" to unix "\n". * dpkg * du — Show disk usage, space consumed by files and directories. * dumpkmap * dumpleases *
echo In audio signal processing and acoustics, an echo is a reflection of sound that arrives at the listener with a delay after the direct sound. The delay is directly proportional to the distance of the reflecting surface from the source and the lis ...
— Display a specified line of text. * ed * eject * env — Set the environment for command invocation, or list environment variables. * envdir * envuidgid * expand — Expand tabs to spaces according to tabstops. * expr * fakeidentd * false * fbset * fbsplash * fdflush * fdformat * fdisk * find * findfs * flash_lock * flash_unlock * fold * free * freeramdisk * fsck.minix * fsck * fsync * ftpd * ftpget * ftpput * fuser * getopt * getty *
grep grep is a command-line utility for searching plaintext datasets for lines that match a regular expression. Its name comes from the ed command g/re/p (global regular expression search and print), which has the same effect. grep was originally de ...
— Search for PATTERN in each FILE or standard input. * gunzip — Compressed file expansion. * gzip — File compression. * hd * hdparm * head * hexdump * hostid * hostname * httpd — HTTP server daemon * hush * hwclock * id * ifconfig * ifdown * ifenslave * ifplugd * ifup * inetd * inotifyd * insmod * install * ionice * ip * ipaddr * ipcalc * ipcrm * ipcs * iplink * iproute * iprule * iptunnel * kbd_mode * kill — Send a signal to a process. * killall * klogd * last * length * less * linux32 * linux64 * linuxrc * ln — Create a link named LINK_NAME or DIRECTORY to the specified TARGET. * loadfont * loadkmap * logger * login — Begin a new session on the system * logname * logread * losetup * lpd * lpq * lpr * ls — List of files or folders * lsattr * lsmod * lzmacat * lzop * lzopcat * makemime * man * md5sum * mdev — akin to udev * mesg * microcom * mkdir — Create a folder * mkdosfs * mkfifo * mkfs.minix * mkfs.vfat * mknod * mkpasswd * mkswap * mktemp * modprobe * more — View FILE or standard input one screen-full at a time * mount — Mount file systems * mountpoint * mt * mv — move file * nameif * nc — networking Swiss army knife. * netstat — Display networking information. * nice * nmeter * nohup * nslookup * ntpc * ntpsync * nvram * od * openvt * passwd * patch * pgrep * pidof — List PIDs of all processes with names that match NAMEs * ping6 * ping — Send ICMP ECHO_REQUEST packets to network hosts * pipe_progress * pivot_root * pkill * popmaildir * printenv * printf * ps — Report process status * pscan * pwd — Print working directory * raidautorun * rdate * rdev * readlink * readprofile * reformime * renice * reset * resize * rm — Erase file * rmdir — Remove directory * rmmod * route * rpm * rstats — Copyright of BusyBox * rx * script * scriptreplay * sed — Text stream editor * sendmail * seq * setarch * setconsole * setfont * sh * sha1sum — Compute and check SHA-1 message digest * sha256sum — Compute and check SHA-256 message digest * sha512sum * showkey * slattach *
sleep Sleep is a state of reduced mental and physical activity in which consciousness is altered and certain Sensory nervous system, sensory activity is inhibited. During sleep, there is a marked decrease in muscle activity and interactions with th ...
— Suspend program execution for a specified time * softlimit * sort * split * stat * strings * stty — Change and print terminal line settings * su — Execute commands with privileges of another user account * sum — Checksum and count blocks in a file * sv * switch_root * sync — Write all buffered file system blocks to disk * tac — Concatenate and print files in reverse line order *
tail The tail is the elongated section at the rear end of a bilaterian animal's body; in general, the term refers to a distinct, flexible appendage extending backwards from the midline of the torso. In vertebrate animals that evolution, evolved to los ...
— Output last of file * tar * tee — Send output to multiple files *
test Test(s), testing, or TEST may refer to: * Test (assessment), an educational assessment intended to measure the respondents' knowledge or other abilities Arts and entertainment * ''Test'' (2013 film), an American film * ''Test'' (2014 film) ...
— Built-in evaluation *
time Time is the continuous progression of existence that occurs in an apparently irreversible process, irreversible succession from the past, through the present, and into the future. It is a component quantity of various measurements used to sequ ...
*
top Top most commonly refers to: * Top, a basic term of orientation, distinguished from bottom, front, back, and sides * Spinning top, a ubiquitous traditional toy * Top (clothing), clothing designed to be worn over the torso * Mountain top, a moun ...
*
touch The somatosensory system, or somatic sensory system is a subset of the sensory nervous system. The main functions of the somatosensory system are the perception of external stimuli, the perception of internal stimuli, and the regulation of bo ...
— Update the last-modified date on the given FILE * tr — Translate or delete characters *
true True most commonly refers to truth, the state of being in congruence with fact or reality. True may also refer to: Places * True, West Virginia, an unincorporated community in the United States * True, Wisconsin, a town in the United States * ...
* tty * udhcpc — Small DHCP client * umount — Unmount file systems * uname — Display system information * uptime — Tell how long the system has been running. * uudecode * uuencode * usleep — Pause for N icroseconds* vconfig — VLAN (802.1q) configuration program * vlock — Virtual Console lock program * vi — (visual) Edit FILE * volname — Return volume name *
watch A watch is a timepiece carried or worn by a person. It is designed to maintain a consistent movement despite the motions caused by the person's activities. A wristwatch is worn around the wrist, attached by a watch strap or another type of ...
— Execute a program periodically *
watchdog Watchdog or watch dog may refer to: Animals *Guard dog, a dog that barks to alert its owners of an intruder's presence * Portuguese Watchdog, Cão de Castro Laboreiro, a dog breed * Moscow Watchdog, a breed of dog that was bred in the Soviet U ...
— Software watchdog daemon * wc — Word, line, and byte or character count *
which Which may refer to: * a relative pronoun * an English interrogative word * which (command), an operating system command * Which?, a UK charity and its magazine See also * English relative clauses Relative clauses in the English language are ...
— Shows the full path of (shell) commands *
who The World Health Organization (WHO) is a specialized agency of the United Nations which coordinates responses to international public health issues and emergencies. It is headquartered in Geneva, Switzerland, and has 6 regional offices and 15 ...
— Display who is on the system * whoami — Print effective userid * xargs — Construct argument lists and invoke utility *
yes Yes or YES may refer to: * An affirmative particle in the English language; see yes and no Education * YES Prep Public Schools, Houston, Texas, US * Young Eisner Scholars, in Los Angeles, New York City, Chicago, and Appalachia, US * Young Ep ...
— to print a string repetitively * zcat — Uncompress to stdout


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 reads argv to find the name by which it is called, and runs the appropriate command, for example just :/bin/ls after ''/bin/ls'' is linked to ''/bin/busybox''. This works because the first argument passed to a program is the name used for the program call, in this case the argument would be "/bin/ls". BusyBox would see that its "name" is "ls" and act like the "ls" program.


Appliances and reception

BusyBox is used by several operating systems running on
embedded system An embedded system is a specialized computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is e ...
s and is an essential component of distributions such as
OpenWrt OpenWrt (from ''open wireless router'') is an open-source project for embedded operating systems based on Linux kernel, Linux, primarily used on Embedded system, embedded devices to Router (computing), route network traffic. The main components ...
,
OpenEmbedded OpenEmbedded (OE) is a build automation framework and cross-compile environment used to create Linux distributions for embedded devices. The framework is developed by the OpenEmbedded community, which was formally established in 2003. OpenEmbed ...
(including the Yocto Project) and
Buildroot Buildroot is a set of Makefiles and Patch (Unix), patches that simplifies and automates the process of building a complete and bootable Linux environment for an embedded system, while using Cross compiler, cross-compilation to allow building for ...
. The Sharp Zaurus utilizes BusyBox extensively for ordinary
Unix-like A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
tasks performed on the system's shell. BusyBox is also an essential component of
VMware ESXi VMware ESXi (formerly ESX) is an Enterprise software, enterprise-class, Native hypervisor, type-1 hypervisor developed by VMware, a subsidiary of Broadcom, for deploying and Server (computing), serving Hardware virtualization, virtual computers. ...
, Tiny Core Linux, SliTaz 5(Rolling), and Alpine Linux, all of which are not embedded distributions. It is necessary for several root applications on Android and is also preinstalled with some "1 Tap Root" solutions such as Kingo Root.


Controversy over Toybox

Toybox Toybox is a free and open-source software implementation of over 200 Unix command line utilities such as '' ls'', '' cp'', and '' mv''. The Toybox project was started in 2006, and became a 0BSD licensed BusyBox alternative. Toybox is used for m ...
was started early 2006 under the GPL-2.0-only license by former BusyBox maintainer Rob Landley as a result of the controversies around GPLv3/GPLv2 discussions. At the end of 2011 it was relicensed under the BSD-2-Clause license after the project went dormant. In March 2013, it was relicensed again under the 0BSD license. On January 11, 2012, Tim Bird, a
Sony is a Japanese multinational conglomerate (company), conglomerate headquartered at Sony City in Minato, Tokyo, Japan. The Sony Group encompasses various businesses, including Sony Corporation (electronics), Sony Semiconductor Solutions (i ...
employee, suggested creating an alternative to BusyBox which would not be under the GNU General Public License. He suggested it be based on the dormant Toybox. In January 2012 the proposal of creating a
BSD license BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lic ...
d alternative to the GPL licensed BusyBox project drew harsh criticism from Matthew Garrett for taking away the only relevant tool for copyright enforcement of the
Software Freedom Conservancy Software Freedom Conservancy, Inc. (also known as "Conservancy") is an organization that provides a Nonprofit organization, non-profit home, infrastructure support, and legal support for free software, free and open source software projects. The ...
group. The starter of BusyBox based lawsuits, Rob Landley, responded that this was intentional as he came to the conclusion that the lawsuits resulted not in the hoped for positive outcomes and he wanted to stop them ''"in whatever way I see fit"''.


See also

*
Toybox Toybox is a free and open-source software implementation of over 200 Unix command line utilities such as '' ls'', '' cp'', and '' mv''. The Toybox project was started in 2006, and became a 0BSD licensed BusyBox alternative. Toybox is used for m ...
, a similar project with different licensing policy *
GNU Core Utilities The GNU Core Utilities or coreutils is a collection of GNU software that implements many standard, Unix-based shell commands. The utilities generally provide POSIX compliant interface when the environment variable is set, but otherwise offers ...
* util-linux,
iproute2 iproute2 is a collection of userspace utilities for controlling and monitoring various aspects of networking in the Linux kernel, including routing, network interfaces, tunnels, traffic control, and network-related device drivers. Project ...
, ethtool * The Heirloom Toolchest, a collection of standard Unix utilities derived from original Unix material *
Linux on embedded systems The Linux, Linux Operating system is prevalent in embedded systems. As of 2024, developer surveys and industry reports find that Embedded Linux is used in 44%-46% of embedded systems. Due to its Linux range of use, versatility, its large community ...
* Linux for mobile devices


References


Further reading

* *


External links

* {{DEFAULTSORT:Busybox Command shells Software related to embedded Linux Free computer programming tools Free software programmed in C Unix software