contrib/mkimage-busybox.sh
b1953bab
 #!/usr/bin/env bash
c74408d7
 # Generate a very minimal filesystem based on busybox-static,
 # and load it into the local docker under the name "busybox".
 
51f707cf
 echo >&2
 echo >&2 'warning: this script is deprecated - see mkimage.sh and mkimage/busybox-static'
 echo >&2
 
c74408d7
 BUSYBOX=$(which busybox)
 [ "$BUSYBOX" ] || {
     echo "Sorry, I could not locate busybox."
     echo "Try 'apt-get install busybox-static'?"
     exit 1
 }
 
 set -e
287e604a
 ROOTFS=${TMPDIR:-/var/tmp}/rootfs-busybox-$$-$RANDOM
c74408d7
 mkdir $ROOTFS
 cd $ROOTFS
 
 mkdir bin etc dev dev/pts lib proc sys tmp
 touch etc/resolv.conf
 cp /etc/nsswitch.conf etc/nsswitch.conf
 echo root:x:0:0:root:/:/bin/sh > etc/passwd
 echo root:x:0: > etc/group
 ln -s lib lib64
 ln -s bin sbin
 cp $BUSYBOX bin
 for X in $(busybox --list)
 do
     ln -s busybox bin/$X
 done
 rm bin/init
 ln bin/busybox bin/init
 cp /lib/x86_64-linux-gnu/lib{pthread,c,dl,nsl,nss_*}.so.* lib
 cp /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 lib
 for X in console null ptmx random stdin stdout stderr tty urandom zero
 do
     cp -a /dev/$X dev
 done
 
8e43db95
 tar --numeric-owner -cf- . | docker import - busybox
cc2558bf
 docker run -i -u root busybox /bin/echo Success.