this is obsolete doc -- see http://doc.nethence.com/ instead

Preparing Busybox 

 

Introduction 

Here we need Busybox in two situations: 

- inside an initramfs for a custom rescue system 

- on a xen virtual disk for a very basic guest system 

 

Requirements 

If you're building a static version of Busybox on a Redhat system, you'll probably need this, 

rpm -q glibc-static

 

Building 

Get Busybox (http://busybox.net/downloads/), configure and compile it, 

wget http://busybox.net/downloads/busybox-1.16.2.tar.bz2
tar xjf busybox-1.16.2.tar.bz2
cd busybox-1.16.2/
make distclean
#make allyesconfig
make defconfig
mv -f .config .config.def
sed 's/# CONFIG_STATIC is not set/CONFIG_STATIC=y/' .config.def > .config
make
ldd busybox
rm -rf ../tmp/
mkdir ../tmp/
make CONFIG_PREFIX=../tmp install
cd ../

Note. busybox here is statically linked 

Note. we're not doing a setuid root against the busybox binary (we're using it as root anyway) 

 

Troubleshooting 

Note. with busybox-1.17.2 we got some errors like, 

networking/libiproute/iplink.c:336: error: 'IFLA_LINKINFO' undeclared (first use in this function)

 

Note. if you need to reinstall, simply, 

cd busybox-1.16.2/
rm -rf ../tmp/
mkdir ../tmp/
  make CONFIG_PREFIX=../tmp install
cd ../

 

References 

Busybox : http://busybox.net/