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.
First ensure the BusyBox source is completely clean:
make distclean
Currently we are just telling Busybox to use a generic configuration. For those for more adventurous, you can use make menuconfig, and create a custom or modified configuration for your build.
The following patch contains a default configuration for BusyBox:
patch -Np1 -i ../busybox-1.21.1-config-2.patch cp -v clfs/config .config
The following tells BusyBox to validate the configuration, and makes sure all required options are defined:
yes "" | make oldconfig
Compile the package:
make CROSS_COMPILE="${CLFS_TARGET}-"
Install the package:
make CROSS_COMPILE="${CLFS_TARGET}-" \ CONFIG_PREFIX="${CLFS}" install
If you're 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