#!/bin/sh umount /mnt # optional test -x "bin/busybox-$HOST" && { echo "Found bin/busybox-$HOST, using it" cp -a "bin/busybox-$HOST" bin/busybox bin/busybox --install -s bin/ # Supply missing stuff (e.g. bzip2): PATH="$PATH:$PWD/bin" # Override known-buggy host binaries: cp -af bin/od `which od` } ( #set -e -x cd busybox make defconfig # Want static build sed 's/^.*CONFIG_STATIC.*$/CONFIG_STATIC=y/' -i .config bzip2 /dev/null || { # Drats, newer Aboriginal Linux has no bzip2 sed 's/^.*CONFIG_FEATURE_COMPRESS_USAGE.*$/# CONFIG_FEATURE_COMPRESS_USAGE is not set/' -i .config } test x"`uname -m`" = x"mips" && { # Without this, I get MIPS-I binary instead of MIPS32. # No idea what's the difference, but my router wants MIPS32. sed 's/^.*CONFIG_EXTRA_CFLAGS.*$/CONFIG_EXTRA_CFLAGS="-mips32"/' -i .config } # These won't build because of toolchain/libc breakage: sed 's/^.*CONFIG_FEATURE_SYNC_FANCY.*$/# CONFIG_FEATURE_SYNC_FANCY is not set/' -i .config # no syncfs() sed 's/^.*CONFIG_FEATURE_WTMP.*$/# CONFIG_FEATURE_WTMP is not set/' -i .config sed 's/^.*CONFIG_FEATURE_UTMP.*$/# CONFIG_FEATURE_UTMP is not set/' -i .config sed 's/^.*CONFIG_FEATURE_INETD_RPC.*$/# CONFIG_FEATURE_INETD_RPC is not set/' -i .config make #V=1 || sh size busybox ./busybox || echo "Exit code: $?" if uuencode TEST /dev/null && bzip2 /dev/null; then bzip2 &1 | tee build.log mount -o remount,ro /home sync sleep 1