site  contact  subhomenews

Busybox 1.27.2 compiled statically

January 25, 2018 — BarryK

The last time that i compiled Busybox statically, it was version 1.25.1, using Landley's Aboriginal Linux, chrootable root-filesystem. That was late 2016, and i have been using that up until now.

I wanted to enable some more applets in Busybox, 'nsenter', 'dnsd' and 'inetd', so went through the exercise again.

I downloaded the latest stable source, version 2017.02.09, of Buildroot, from here:

https://buildroot.org/download.html

This defaults to using Busybox 1.27.2. I added my own 'busybox.config', and jamesbond's 'guess_fstype' applet patch.

Then ran:

# make menuconfig
# make uclibc-menuconfig
# make busybox-menuconfig
# make

I didn't change much. Chose target of x86_64 nocona CPU, and for uClibc turned on 'wchar' and 'locale' support.

There were a couple of fails. I had to replace /usr/include/limits.h in the host system (EasyOS Pyro64 0.7) with limits.h from Xerus64.

Then Busybox compile failed and I had to disable 'nfs' support for the 'mount' applet. I can live with that. It is probably something lacking in the uClibc configure options.

Anyway, got there. If any pup builders want the latest Busybox, statically compiled, with lots of applets, here is the PET (728KB):

http://distro.ibiblio.org/easyos/amd64/packages/pet/pet_packages-pyro/busybox-1.27.2-patched-static-br-amd64.pet

EDIT 2018-02-09:

I reverted to the 1.25.1 busybox PET. Testing the above, something seemed not quite right (got a hang at bootup). When building with "make menuconfig", using the .config from 1.25.1, an incredible number of configure options were flagged as no longer valid, and maybe something has changed to cause the problem. I might have to advance the version number more gradually, and maybe go back to Landley's Aboriginal Linux as a precaution.

Another thing. The motivation to upgrade was to enable some more applets, including 'dnsd' (domain name server), however, it (dnsd) doesn't work. Really weird, but I did a search with google and it seems that "nobody" actually uses it. I have successfully used 'bind' and 'dnsmasq', so I think that I know what I am doing, regarding dns servers. The busybox dnsd does not respond to the port.

Tags: easy, quirky