8.4. Busybox-1.2.2.1

BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, 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 provides a fairly complete environment for any small or embedded system.

8.4.1. Installation of Busybox

The following patch fixes some issues that are related to the headers we are using:

patch -Np1 -i ../busybox-1.2.2.1-fixes-1.patch

Create the default configuration:

make defconfig
[Note]

Note

Below we are just telling Busybox to use the default configuration of uClibc. For those for more adventureous, you can use make menuconfig, and do a more custom build of your Busybox.

We will need to edit the configuration file, to make sure everything gets compiled and put into it's proper locations:

cp .config .config.orig
sed -e "s:# USING_CROSS_COMPILER.*:USING_CROSS_COMPILER=y:" \
    -e "/^CROSS_COMPILER_PREFIX/s:=.*:=\"${CLFS_TARGET}-\":" \
    .config.orig > .config

Compile the package:

make CROSS="${CLFS_TARGET}-" PREFIX="${CLFS}"  EXTRA_CFLAGS="${BUILD}" busybox

Install the package:

make PREFIX="${CLFS}" install

If your going to build your kernel with modules, you will need to make sure depmod.pl is available:

cp examples/depmod.pl ${CLFS}/cross-tools/bin
chmod 755 ${CLFS}/cross-tools/bin/depmod.pl

8.4.2. Contents of Busybox

Installed programs: To be Written