mirror of
https://github.com/topjohnwu/ndk-busybox.git
synced 2024-11-25 04:39:48 +00:00
83 lines
3.2 KiB
Plaintext
83 lines
3.2 KiB
Plaintext
# vi: set sw=4 ts=4:
|
|
|
|
=head1 NAME
|
|
|
|
BusyBox - The Swiss Army Knife of Embedded Linux
|
|
|
|
=head1 SYNTAX
|
|
|
|
BusyBox <function> [arguments...] # or
|
|
|
|
<function> [arguments...] # if symlinked
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
BusyBox combines tiny versions of many common UNIX utilities into a single
|
|
small executable. 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. To create a working system, just add /dev, /etc, and a Linux kernel.
|
|
BusyBox provides a fairly complete POSIX environment for any small or embedded
|
|
system.
|
|
|
|
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. This will install the 'bin/busybox' binary, in the target directory
|
|
specified by PREFIX. PREFIX can be set when configuring BusyBox, or you can
|
|
specify an alternative location at install time (i.e., with a command line
|
|
like 'make PREFIX=/tmp/foo install'). If you enabled any applet installation
|
|
scheme (either as symlinks or hardlinks), these will also be installed in
|
|
the location pointed to by PREFIX.
|
|
|
|
=head1 USAGE
|
|
|
|
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. For example, entering
|
|
|
|
/bin/busybox ls
|
|
|
|
will also cause BusyBox to behave as 'ls'.
|
|
|
|
Of course, adding '/bin/busybox' into every command would be painful. So most
|
|
people will invoke BusyBox using links to the BusyBox binary.
|
|
|
|
For example, entering
|
|
|
|
ln -s /bin/busybox ls
|
|
./ls
|
|
|
|
will cause BusyBox to behave as 'ls' (if the 'ls' command has been compiled
|
|
into BusyBox). 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.
|
|
|
|
=head1 COMMON OPTIONS
|
|
|
|
Most BusyBox commands support the B<--help> argument to provide a terse runtime
|
|
description of their behavior. If the CONFIG_FEATURE_VERBOSE_USAGE option has
|
|
been enabled, more detailed usage information will also be available.
|
|
|
|
=head1 COMMANDS
|
|
|
|
Currently defined functions include:
|
|
|