%general-entities; ]> Busybox-&busybox-version; Busybox <para>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.</para> </sect2> <sect2 role="installation"> <title>Installation of Busybox Before you build BusyBox, you may want to check the following URL for patches that the upstream maintainer of BusyBox has released to fix issues. patch -Np1 -i ../busybox-$busybox-version;{patch_name} The following patch fixes some issues that are related to the headers we are using: patch -Np1 -i ../&busybox-fixes-patch; Create the default configuration: make defconfig 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: BUSYBOX_OPTIONS="CONFIG_DMALLOC CONFIG_BUILD_AT_ONCE CONFIG_BUILD_LIBBUSYBOX CONFIG_FEATURE_SH_IS_NONE CONFIG_LOCALE_SUPPORT CONFIG_TFTP CONFIG_FTPGET CONFIG_FTPPUT CONFIG_IPCALC CONFIG_TFTP CONFIG_HUSH CONFIG_LASH CONFIG_MSH CONFIG_INETD CONFIG_DPKG CONFIG_RPM2CPIO CONFIG_RPM CONFIG_FOLD CONFIG_LOGNAME CONFIG_OD CONFIG_CRONTAB CONFIG_UUDECODE CONFIG_UUENCODE CONFIG_SULOGIN CONFIG_DC CONFIG_DEBUG_YANK_SUSv2 CONFIG_DEBUG_INIT CONFIG_DEBUG_CROND_OPTION CONFIG_FEATURE_UDHCP_DEBUG CONFIG_TASKSET CONFIG_CHATTR CONFIG_FSCK CONFIG_LSATTR CONFIG_CHPST CONFIG_SETUIDGID CONFIG_ENVUIDGID CONFIG_ENVDIR CONFIG_SOFTLIMIT CONFIG_FEATURE_2_4_MODULES" for config in $BUSYBOX_OPTIONS; do cp .config{,.orig} sed -e "s:${config}=y:${config}=n:" .config.orig > .config done BUSYBOX_OPTIONS="CONFIG_FEATURE_SH_IS_ASH CONFIG_FEATURE_TRACEROUTE_VERBOSE CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE" for config in $BUSYBOX_OPTIONS; do cp .config{,.orig} sed -e "s:# ${config} is not set:${config}=y:" .config.orig > .config done Compile the package: make ARCH=i386 CROSS_COMPILE="${CLFS_TARGET}-" CFLAGS="${BUILD}" Install the package: make ARCH=i386 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 Contents of Busybox Installed programs To be Written