5 stars based on
It provides minimalist replacements for most of the utilities you usually find in GNU coreutils, util-linux, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however, the options that are included provide the expected functionality and behave very much like their GNU counterparts. BusyBox has been written with size-optimization and limited resources in mind.
It is also extremely modular so you can easily include or exclude commands or features at compile time. This makes it easy to customize your embedded systems. BusyBox is extremely configurable. This allows you to include only the components you need, thereby reducing binary size. Run 'make config' or 'make menuconfig' to select the functionality that you wish to enable.
Then run 'make' to compile BusyBox using your configuration. After the compile has finished, you should use 'make install' to install BusyBox. BusyBox is a multi-call binary. A multi-call binary is an executable program that performs the same job as more than one utility program. That means there is just a single BusyBox binary, but that single binary acts like a large number of utilities.
This allows BusyBox to be smaller since all the built-in utility programs we call them applets can share code for many common operations. You can also invoke BusyBox by issuing a command as an argument on the command line. So most people will invoke BusyBox using links to the BusyBox binary.
Generally speaking, you should never need to make all these links yourself, as the BusyBox build system will do this for you when you run the 'make install' command. If you invoke BusyBox with no arguments, it will provide you with a list of the applets that have been compiled into your BusyBox binary.
Most BusyBox applets support the --help argument to provide a terse runtime description of their behavior. Read and optionally set system timebase parameters. Compress FILE s with bzip2 algorithm. When FILE is '-' or unspecified, reads standard input. A script consists of one or more "expect-send" pairs of strings, each pair is a pair of arguments. Compare files line by line and output the differences between them. Binary options volume journal the rpm reading to be converted implementation supports unified diffs only.
Disk space is printed in units of bytes. Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Lock part or all of an MTD device.
Print first 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. Run PROG on filesystem changes. Upper-case options MQS remove an object by shmkey value. Lower-case options remove an object by shmid value. View a file or list of files. The position within files can be changed, and files can be manipulated in various ways.
In the first case, jobs are sent directly to the device. It can be run by kernel as a hotplug helper. Control write access to your terminal y Allow write access to your terminal n Disallow write access to your terminal. Write an unambiguous representation, octal bytes by default, of FILE to standard output.
If no -e or -f is given, the first non-option argument is taken as the sed command to interpret. All remaining arguments are names of input files; if binary options volume journal the rpm reading to be converted input files are specified, then the standard input is read. Source files will not be modified unless -i option is given.
Other options are silently ignored; -oi -t is implied Use makemime applet to binary options volume journal the rpm reading to be converted message with attachments. Set entries into the kernel's scancode-to-keycode map, binary options volume journal the rpm reading to be converted unusual keyboards to generate usable keycodes. Run PROG in a new session. See setsid 2 for details. Pause for a time equal to the total of the args given, where each arg can have an optional suffix of s econds, m inutes, h ours, or d ays.
Search for matching processes, and then -K: If service stops, restart binary options volume journal the rpm reading to be converted once: After it stops, do not restart service exit: If they exit, runsv exits too pause, cont, hup, alarm, interrupt, quit, 1, 2, term, kill: Continuously read log data from standard input, optionally filter log messages, and write the data to one or more automatically rotated logs.
PID must be 1. Print last 10 lines of each FILE to standard output. PORT and listen for incoming connection. Run PROG for each connection. Check file types, compare values etc.
Provide a view of process activity in real time. PORT and wait for incoming packets. Run PROG for each packet, redirecting all further packets with same peer ip: With no FILE, read standard input.
GNU Libc glibc uses the Name Service Switch NSS to configure the behavior of the C library for the local environment, and to configure how it reads system data, such as passwords and group information.
BusyBox tries to avoid using any libc calls that make use of NSS. Some applets however, such as login and su, will use libc functions that require NSS. This may allow you to run your system without the need for installing any of the NSS configuration files and libraries.
As an alternative, one could use a C library such as uClibc. In addition to making your system significantly smaller, uClibc does not require the use of any NSS support files or libraries. The following people have contributed code to BusyBox whether they know it or not. If you have written code included in BusyBox, you should probably be listed here so you can obtain your bit of eternal glory. If you should be listed here, or the description of what you have done needs more detail, or is incorrect, please send in an update.