build-bootenv

reproducible boot environment with LVM2 and cryptsetup
git clone https://ccx.te2000.cz/git/build-bootenv
Log | Files | Refs | Submodules

commit c41b6470fd9bcd863a69e834619038ef6e62a0e7
parent 75cd325f5446220c1869f67686dd54787717756e
Author: Jan Pobříslo <ccx@te2000.cz>
Date:   Sun,  3 Jan 2021 05:02:01 +0100

Seems to build reproducibly now, custom busybox and pv scripts.

Diffstat:
Mbuild | 32+++++++++++++++++++++++++++++---
Achecksums.sha512 | 411+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aclean | 14++++++++++++++
Asabotage-env | 2++
Asabotage-install.config | 81+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asabotage-pkg/busybox | 125+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asabotage-pkg/pv | 21+++++++++++++++++++++
7 files changed, 683 insertions(+), 3 deletions(-)

diff --git a/build b/build @@ -6,14 +6,40 @@ JOBS=$(grep '^processor' /proc/cpuinfo | wc -l) if test 1 -gt $JOBS; then JOBS=1 fi +PKGS="busybox lvm cryptsetup pv" + +# musl-cross-make + awk -vPWD="$PWD" '{gsub(/@@PWD@@/,PWD); print}' musl-cross-make.config.mak >musl-cross-make/config.mak.new || exit $? mv musl-cross-make/config.mak.new musl-cross-make/config.mak || exit $? make -C musl-cross-make -j$JOBS -l$JOBS || exit $? make -C musl-cross-make install || exit $? + +# build sabotabe packages + awk -vPWD="$PWD" -vJOBS="$JOBS" '{gsub(/@@PWD@@/,PWD); gsub(/@@JOBS@@/,JOBS); print}' sabotage.config >sabotage/config.new || exit $? mv sabotage/config.new sabotage/config || exit $? -PATH=$PWD/sabotage/KEEP/bin:$PWD/local/bin:$PWD/local/x86_64-linux-musl/bin:$PATH -export CONFIG=$PWD/sabotage/config +. ./sabotage-env mkdir -p sabotage-image || exit $? sabotage/utils/setup-rootfs.sh || exit $? -butch install busybox lvm cryptsetup +cp -a sabotage-pkg/* sabotage/pkg/ || exit $? +butch reproduce $PKGS || exit $? +if ! ( cd sabotage-image && sha512sum -c ../checksums.sha512 ) ; then + echo >&2 "Failed to reproducibly build necessary packages!" + exit 1 +fi + +# prepare boot-image + +rmdir -rf boot-image || exit $? +mkdir -p boot-image/opt || exit $? +awk -vPWD="$PWD" -vJOBS="$JOBS" '{gsub(/@@PWD@@/,PWD); gsub(/@@JOBS@@/,JOBS); print}' sabotage-install.config >sabotage/install-config.new || exit $? +mv sabotage/install-config.new sabotage/install-config || exit $? +for pkg in $PKGS; do + cp -a sabotage-image/opt/$pkg boot-image/opt/ || exit $? +done +env CONFIG=$PWD/sabotage/install-config butch relink $PKGS || exit $? + +# remove empty directories +rmdir boot-image/boot boot-image/libexec boot-image/sbin boot-image/var || exit $? +ln -s . boot-image/boot || exit $? diff --git a/checksums.sha512 b/checksums.sha512 @@ -0,0 +1,411 @@ +e9e906acc73b99c58bda10836f1d61a20c6e0f8af06b229cbfc6256cfed60f2bfa3af8b8a659c381414c4588d340743a8f5732a2761ef7ea3a8fe55130e1edd6 opt/busybox/bin/busybox +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/[ +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/[[ +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/acpid +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/add-shell +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/addgroup +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/adduser +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/adjtimex +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ash +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/awk +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/base64 +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/basename +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/bbconfig +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/beep +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/blkdiscard +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/blkid +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/blockdev +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/bunzip2 +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/bzcat +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/bzip2 +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/cal +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/cat +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/chat +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/chattr +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/chgrp +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/chmod +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/chown +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/chpasswd +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/chpst +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/chroot +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/chvt +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/cksum +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/clear +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/cmp +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/comm +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/conspy +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/cp +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/cpio +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/crond +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/crontab +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/cryptpw +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/cttyhack +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/cut +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/date +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/dd +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/deallocvt +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/delgroup +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/deluser +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/depmod +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/devmem +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/df +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/diff +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/dirname +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/dmesg +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/dnsd +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/dnsdomainname +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/dos2unix +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/du +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/dumpkmap +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/echo +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ed +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/egrep +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/env +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/envdir +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/envuidgid +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/expand +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/expr +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/fakeidentd +ec5be98723cd85f163896ae6f2cdbf5b1ec20fc76ad67f4ee3e1f418429b9438fec3776f30c22527cde2190ea0db02fac487d315ec007b2a6023f2d10fb1feb7 opt/busybox/bin/false +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/fatattr +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/fbset +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/fdflush +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/fdformat +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/fdisk +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/fgconsole +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/fgrep +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/find +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/findfs +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/flock +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/fold +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/free +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/freeramdisk +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/fstrim +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/fsync +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ftpd +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ftpget +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ftpput +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/fuser +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/getopt +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/getty +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/grep +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/groups +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/gunzip +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/gzip +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/halt +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/hd +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/head +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/hexdump +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/hostid +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/hostname +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/hwclock +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/i2cdetect +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/i2cdump +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/i2cget +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/i2cset +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/id +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ifconfig +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ifdown +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ifenslave +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ifup +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/inetd +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/init +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/inotifyd +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/insmod +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/install +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ionice +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/iostat +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ip +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ipaddr +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ipcalc +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ipneigh +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/iproute +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/iprule +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/iptunnel +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/kbd_mode +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/kill +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/killall +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/killall5 +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/less +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/linux32 +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/linux64 +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/linuxrc +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ln +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/loadfont +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/loadkmap +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/login +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/logname +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/losetup +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/lpd +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/lpq +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/lpr +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ls +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/lsattr +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/lsmod +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/lsof +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/lspci +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/lsusb +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/lzcat +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/lzma +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/lzop +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/lzopcat +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/makedevs +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/makemime +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/md5sum +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/mdev +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/mesg +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/microcom +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/mkdir +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/mkdosfs +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/mke2fs +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/mkfifo +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/mkfs.ext2 +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/mkfs.vfat +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/mknod +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/mkpasswd +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/mkswap +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/mktemp +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/modinfo +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/modprobe +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/more +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/mount +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/mountpoint +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/mpstat +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/mv +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/nbd-client +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/nc +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/netstat +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/nice +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/nmeter +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/nohup +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/nsenter +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ntpd +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/od +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/openvt +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/passwd +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/pgrep +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/pidof +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ping +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ping6 +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/pipe_progress +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/pkill +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/pmap +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/popmaildir +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/poweroff +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/powertop +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/printenv +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/printf +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ps +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/pscan +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/pstree +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/pwd +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/pwdx +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/raidautorun +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/rdate +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/rdev +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/readlink +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/readprofile +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/realpath +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/reboot +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/reformime +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/remove-shell +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/renice +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/reset +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/resize +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/rev +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/rfkill +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/rm +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/rmdir +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/rmmod +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/route +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/rtcwake +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/run-parts +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/runsv +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/runsvdir +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/rx +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/script +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/scriptreplay +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/sed +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/sendmail +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/seq +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/setconsole +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/setfont +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/setkeycodes +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/setlogcons +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/setserial +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/setsid +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/setuidgid +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/sha1sum +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/sha256sum +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/sha3sum +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/sha512sum +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/showkey +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/shuf +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/slattach +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/sleep +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/smemcap +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/softlimit +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/sort +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/split +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/start-stop-daemon +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/stat +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/strings +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/stty +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/sulogin +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/sum +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/sv +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/svc +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/svlogd +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/swapoff +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/swapon +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/switch_root +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/sync +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/sysctl +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/tac +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/tail +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/tar +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/tcpsvd +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/tee +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/telnet +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/test +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/tftp +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/time +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/timeout +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/top +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/touch +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/tr +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/traceroute +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/traceroute6 +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/truncate +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/tty +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ttysize +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/tunctl +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/tune2fs +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ubimkvol +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ubirename +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ubirmvol +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ubirsvol +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/ubiupdatevol +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/udhcpc +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/udpsvd +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/uevent +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/umount +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/uname +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/unexpand +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/uniq +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/unix2dos +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/unlink +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/unlzma +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/unlzop +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/unshare +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/unxz +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/unzip +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/uptime +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/usleep +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/uudecode +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/uuencode +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/vconfig +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/vi +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/vlock +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/volname +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/watch +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/watchdog +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/wc +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/wget +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/which +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/whoami +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/whois +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/xargs +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/xz +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/xzcat +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/yes +0ba78ed3489f83a26b832c6d609fe1c622dbee071505393b831c155e67cd5b537414a24bd375fd611a0982b498910e6cd629ccf251860662385b62ea0421723f opt/busybox/bin/zcat +86c51cc79c8f4322f1ebe03ca8b0e07fbae01c4156386580173d1fc6daff2a11faf6b86032b7ac444cc0dadb664b36bd91e8c034d65eed1f4c89d192c58e0cdc opt/busybox/bin/true +3e56d1ef6ca750a5ba5fc71e7be70b50bc7d79675e0518d78cdc0d204439b7aeeea2e8f7cb311f583283afd5d19957c7d4dc3d405d16e993e1f535c83a2dcf8a opt/cryptsetup/lib/libcryptsetup.a +bc23811daac3c7eccc57e6c8efff3df80ef7afa9f39542e3ab36e10242945072a99fbdeb48639e9d61f86c79560a1f2097ef57c47435ee72ddadd5a6d00928da opt/cryptsetup/lib/pkgconfig/libcryptsetup.pc +a955b84a4ff6553ef40016bbcd7a80b84cd45a59fb3d27435fac24f5c2e593d83aa4a767ba2e72a345a1bd46661cf89149e5119112adad7789cbd7214ea32571 opt/cryptsetup/include/libcryptsetup.h +3a2134ba6f549c7ca2a275275c0fc82c339a3f25bfcf9ed6723a186d134ca228189a9898521c74d78ea7f8633b204720cf54b486d3742291930e83e81a9fe457 opt/cryptsetup/bin/cryptsetup +db052a75d090c2bcce53d1a6b8c7b951def243847de21ee27e54d6b780a7711339521be5053711d618bb817a79d131ff351f82fe70584a23a8eb35665acae6c6 opt/cryptsetup/bin/veritysetup +9ee198350202aa8544847c12bd84db81358c7ba0bebf28b747c6c3f296bc441e945c946b51d82db545c26db79441000e71bd8f5e4f9d7935c713045e7fcde34d opt/cryptsetup/share/man/man8/cryptsetup.8.xz +9b4377a34ff3b04d0243e573b052a4e9119c93a11f916b77f7d2e0f9f3fbd3e75e0b605ceeb7508d47aee8f483a4d49b5e6ed4eda84b4ec52b90a1fad16c2209 opt/cryptsetup/share/man/man8/veritysetup.8.xz +e429c0782bc6aff465f47eaa70371a1259e44f4b4042ee77de49692fbe7751524cd4f3128ebbb61453b7dfd9dd85aaf0203e209e317b12101b23ab1ed74c1017 opt/lvm/etc/lvm/lvm.conf +4b3b0b425ed91b9d075a9ec16cac1547065ce7fe27401cd1ec8b3b799249926a8bd2a92c09e55ab7b76d06ab8c0d93df8fff40b32c85b75f9913384aabd2f3d4 opt/lvm/etc/lvm/lvmlocal.conf +38d87c6d79c70c2a793c0400f56e9854578321c11de3c823809ebe33aa10f8e2bc8d24fa03185ecc3ad840f429441a4cdc24bdaeb84f807ee3bd2af96a176c45 opt/lvm/etc/lvm/profile/command_profile_template.profile +035809a23cb5bf94b25b97d7c0866b9a0182eae6d24792bffa32d36b34773572c9ac19d66f095f3b0349ff1fe1776c3e84ffb46f3fc27f848c0b413229c4ec08 opt/lvm/etc/lvm/profile/metadata_profile_template.profile +38155af5cf6c15d8057ae886fb9b3779e13364211125d0d707dd30a4c4cf4ce5298c59aef6281846b55747626e7f55d6e34e2452d0a06effb1ebaac4b609870d opt/lvm/etc/lvm/profile/cache-mq.profile +45aed6017d864f24a9a0f199b398db5284f34ed71e81f17c41ebf0093e9a8c590e92fa825bc423afafad5fea534b152a088786ae8c25cc42dda38dd9605ffd55 opt/lvm/etc/lvm/profile/cache-smq.profile +04ca3406686423e601ba14c3fca200fe1cfb5bfcf683e8e50a289006156415a2168fac519b37bc355afddfc2842277a949c048b75cc5c20eabe446392eb039cb opt/lvm/etc/lvm/profile/thin-generic.profile +121a2a030c16e1b2286a8e4219a809e4c407b97b9dbabea54471069022fe7b93a1f25e53b944c007c6845eb861f7d0cdb0d2cb64509a284dc955c542cc3965f8 opt/lvm/etc/lvm/profile/thin-performance.profile +fda68a5c1b3432dac6e8702c2c7c2296cea486795b72195b4f73b28e47189b9f74f4575743f91251e518b20b7d730b2524b0a0b666e207d305b870afa09850df opt/lvm/etc/lvm/profile/lvmdbusd.profile +1e19265151506dd0048d4bf084054cff60e68232de3a69d21941a0dcf0720e4c418acfb30985f2620d11b1b77c1405677041d4d05f21f94a74bae0f8d6dd6b47 opt/lvm/lib/libdevmapper.so.1.02 +e32616720466559a75463eb51953691ddfecfcadcaf162977d4e0f1bbcb4257dcea6b8f743f0f9534e69ff4762da70b639744048d5b5f49576f046481fd40980 opt/lvm/lib/libdevmapper.a +f90036924837ee2e587cf7bccbabb3d1ad02578dfe4ef19f8523c2f2e9d18c4c43cb807a333c11fc8cdcf3948873db95faaf1539374c0795eb7fe6e70eb3fe12 opt/lvm/include/libdevmapper.h +e8f6e7f48ed41dde976fd22713681fec0467fc2763b5ce38f215fa64e96d9317decd1da353d3bb6fb94ff9cb8f309e070f25099d49e37356032eddd4292df393 opt/lvm/bin/lvmdump +ddddf5ebee998600f667ef88dc798d3da8f28e26af850d016c2b302ba60a801cf2366b72d01b32e75ebf7249d6c70f2b0cb6a2d3f04f16c21586353246b052b7 opt/lvm/bin/lvmconf +252c6db8d15b04619c224d92134b12c6d53c1862785ad2ef53d46adc82994528bbb5592cae759c4bf2181ee81e6164b59914db7bcca183c86c0af03e50ab3683 opt/lvm/bin/fsadm +a1dd236953f870a32f7d4157ef4882d82797098964dc5d4e02c2af87f197882b794fa4f67e23eb2d4dcd53d720cb7a79c6ad80338e2d58d899d6acbf7a3a5bb2 opt/lvm/bin/blkdeactivate +8766eb6def3aeff91f7d78177526cdf1cab591b4258be69bdf794c8f10e1c253c3b31cd52dd6797a0e211d4c70969f6c811adf2c9f6262490fb563367827074a opt/lvm/bin/lvm +2e7eadc08d395c0cba67052d2710df2eb01cde9502c6c71cd2d86e72a5fdaf588356f4a4adf30d45a8462698ee8be1fd44158b2eb6b88c9a3b15cad9d84a0f98 opt/lvm/bin/dmsetup +ed68bda3ad3bee5a3bb1deabddbce4afa86cad271d51ebfaedfb4a5964e293278ff579c4db8b14c23127868babdd01b74bf343eae14bcea83dbe9f6803aac1cb opt/lvm/share/man/man5/lvm.conf.5.xz +522771bc030a476da87a0c7424a2e2a8dcc9365a150b094ffabbaccb86303862fe27c75fda8b3d0aad8569d669ee5dfd7de77088ebc01eaf1fcb08ddfb4c9d01 opt/lvm/share/man/man7/lvmcache.7.xz +eca97ccba270ea394c3809c6155bde2885ddf9d16f6b8855c16c4844ee1798d415283c363fb56d19770224d28caa4ce4416fe17fd17115ecd14d306bedc78f14 opt/lvm/share/man/man7/lvmraid.7.xz +45c9a1775578865b2ce0ecf3697432da1f51a24ce2f1045cf3694166a31a6004f00b45d880ce74481176c090f9b53cc0e505b82df9156da00c2ecedeedf5d9b0 opt/lvm/share/man/man7/lvmreport.7.xz +78a82e94d71135d49d216adfe0903dc1ff6f803ca4eb74a66a583af252646822b5f06073e1d5b9a102eb9b63ce545a7d41583f90ab5c9914650d03b52c95bd5f opt/lvm/share/man/man7/lvmsystemid.7.xz +037d8fee3e10b795d7edf2ee94856a8800f313b0c95d2fa34c61e99572f40647a89eafc969f28e5eccd76e6e30a8e5cf4694c542e0cc8cc67689a043f59fd5a3 opt/lvm/share/man/man7/lvmthin.7.xz +da61684440fc3b4eb1a48943c8f4caa3aca10bb65715ff8a38d561bb01198af5b1f7797453229cdde2b5350b24be09c7cefb028ebcd7b5f05a13374485dd4212 opt/lvm/share/man/man8/vgimport.8.xz +4a83f625cd4ea83afecccd7a5a5cd2913e239f26943ed85b29fe6ec25532a960f024fe2f41e0ccd38d37338e8fcf7f9edeb4cd4f6afe80e338bbd4831d493b3a opt/lvm/share/man/man8/vgimportclone.8.xz +9aaa4c3f4fe90c012d90944f4e03607bb29a80d99608e2d35e0c1f74b7b12eb256ce22170b2448db8d3d0ffb4d8dde538c9fc3ec24a8a267b9b076e7bae319b7 opt/lvm/share/man/man8/vgmerge.8.xz +afb86549d276cb2449af2e9ad68188c5bbc7aeeef0cba4ecb9225dea0bd718c0245927089ba5c2265923836b7e1a4497ef0568c738ac44978327f16fca98fee8 opt/lvm/share/man/man8/vgmknodes.8.xz +e49f17da16b72fbae40747e082dd8f752e986dfca3920e85bd33a125a6b797cb88fba83a94ec170a5b7570cf5211067d546c1d650ec9adecc194f527ad3fd79b opt/lvm/share/man/man8/vgreduce.8.xz +bf8b7414b59143b4ff072ee0b7f8c226247a5ed4cd9edd6eb1a919fa351f586fc54fccac7fa0816a3e7bd336a164f7cad771f36d9fb4c2f938f1bffff48b8074 opt/lvm/share/man/man8/vgremove.8.xz +36533af56d01e0c338275b186debdfc1311264fdb3ee1dd4e41c77e1d112db97df3c45acef8668ada880c91dd8354b40aa88cb4c1cd70f1e8889a76b20abbe2a opt/lvm/share/man/man8/vgrename.8.xz +21432e347321c7e5d194b85f6bfc0262f2d14789cd103595081c5bb571caf50330f402c5282f9358635a36f2293b1b1aabc8ad46c253dc6f8e06db3d75057999 opt/lvm/share/man/man8/vgs.8.xz +8a98129e3dbc2a2fd4f571555bba53b592c9e6a165424dc0f2a2f353ba19a35271663336841aece70b5488e1fe9a3e261b4cfb13fc2820fcb995b2e5fc1c66f4 opt/lvm/share/man/man8/vgsplit.8.xz +9e5e23cf2417c992150b78c057b7ecc1e84be2ec6d97af3a1a411c1ab5351e9fd678f7a1c72018e9f443537c8f200ec8015e9bcd74d7ab6c5c74c2ef09567667 opt/lvm/share/man/man8/blkdeactivate.8.xz +eab8d67582d9571b9edc30c16faf3daad392d9923e32245171a1d25b18436095554741ce46b127e8007ec7b48f9ff4e8edb5be8fa689667ef4aadb3cad60d2e6 opt/lvm/share/man/man8/dmsetup.8.xz +d82b964f451620dd3b3b8033fa219e88b67a07ca2f49a332ece0353b2f02c2d68a9d5494c02eab7537aae96cccd6af3901e65d8371ff4a2f01981ee687cebb14 opt/lvm/share/man/man8/dmstats.8.xz +23498d374599e1dbe026c7103afae9e001bada61115d343c67cbf96c4613fe8947bf6e2c09a384fa6784c4e9063d3ab6d28e074cd20d7e4d70dcea96bbf13f94 opt/lvm/share/man/man8/fsadm.8.xz +46912e32eb5ec0ed715a36ebbf5745ecc37e2f1dcd0ed93f1ce548c151b3bf4a300a738dfa17c2e2bbcf5a0d4432cdecea81eea0c3d3cb1cc4e2a5f4c03ca200 opt/lvm/share/man/man8/lvchange.8.xz +e8139df763a7b842c9fc66b80e3f0a9de340b1c0ade74c2bd23e53e13961313a87222195633abf507c57a43a45fd641151292b8edf6938a024389f7bf0581d4c opt/lvm/share/man/man8/lvconvert.8.xz +d282f18bd0913b559acb37499dfc58dbd3b692ca6b7e52158ff9c03d98c120e81995e8856d006714ad0122a884fdc77b0febe2bc690c18984ccb3f411af12dd9 opt/lvm/share/man/man8/lvcreate.8.xz +d8cf573e7e4f31850fbf75ce4bf9809e4a5ca474268ed9b988bde08ca47127f61093d61decc940f17b56eede55c463afad1f31bcaeb41aff049fa54d03d2db82 opt/lvm/share/man/man8/lvdisplay.8.xz +dea0f185f9f0c5df52d817f2e63fe675929e38a9673611f7f668a229c4a17012d1abdf31f05be3d71dbe5a3d43c62b2bcfb5f4f81486127ce16b354fbe94396e opt/lvm/share/man/man8/lvextend.8.xz +3ad3a6e8144987b50c833f37fad8c1f9f6c697c3813bd338ef5b484d74c74598bb1c4d336a14ffdce178e321b3e62920b581c175ac70b4136f443eb7551cee19 opt/lvm/share/man/man8/lvm-config.8.xz +3ad3a6e8144987b50c833f37fad8c1f9f6c697c3813bd338ef5b484d74c74598bb1c4d336a14ffdce178e321b3e62920b581c175ac70b4136f443eb7551cee19 opt/lvm/share/man/man8/lvm-dumpconfig.8.xz +62043b96d2c75e582f7546ce8fe4f576d72a786ee785841b9393891f0d0aad9b0e19fb7d5fb0930224acad8d474a265e3ca5e76928e7f7596351a6bd148e81fd opt/lvm/share/man/man8/lvm-fullreport.8.xz +91bd7cce79383b92e0032dbb5d3da2a80a3514b72a147bc365b5780b76bafba21d6c7040d72bcffa594ff873e70becede7a16075396001f8a14b383fde8af36b opt/lvm/share/man/man8/lvm-lvpoll.8.xz +4bd912fdfc85db327d26e561c75928d0ec544e226826792c6af56c2afc6afe5452d1c7dfb5f888cee0a4fed2a07f5116d0aa3510c1ce6e5e3491508dd65a05a4 opt/lvm/share/man/man8/lvm.8.xz +68ddc629397473332a6410d1746ecbfebf52a5983b5483c600d8ccb3c196eb688394139a65873191d73341dad9f6afbb6432f5a40ec7e8ba36b51f7c2db52fc6 opt/lvm/share/man/man8/lvmchange.8.xz +979a9a756c691efb6e91542ebfe5d4c9ddf4abb41c5864da73062f99fdca99791d86e7a5eeff7df4025fd421187c1a1211fa94ead3816aa708aeacea3f52da43 opt/lvm/share/man/man8/lvmconf.8.xz +eb3ee90296528e4ffbba449be666231f22001de1903bb6b689c97eb26b8da205db7231f513ec0c0fc7f430a130c42b1d76362055f14a5c6ec31362c45aaffc20 opt/lvm/share/man/man8/lvmconfig.8.xz +c77bb6c6656c4ba038b768f492f75f5c1b8a94d5e207c355e92752022acae8e9bb092dcad0d53645ded023e9e0df203266aa28e4ed13273b4c8fe24d56c3cff0 opt/lvm/share/man/man8/lvmdiskscan.8.xz +bb8252777518af4960a206d7807cc8ad25ccd7fb5feb49b8b9e4a348bf56b1ecf067be04ca14f8972cc7bedefe679b6cf1335f7dc8bf39029de2aae501f40605 opt/lvm/share/man/man8/lvmdump.8.xz +641522934f157ce6e49d14ac7baa923181c08a86adc7a6475544a98b015e9b170ad6629435c029dbb0d203f242c63aa80e3ddbdac1edb61f578df8ff6a8102fa opt/lvm/share/man/man8/lvmsadc.8.xz +339b3b5d5d18aa8a462e96e8a0bce66566c9b987b888e061f732c75575b927f4782a6e74ab93ac75e9503dd92749f11d165d1318776588e3a92647b448f32c6e opt/lvm/share/man/man8/lvmsar.8.xz +3d5efe82151362eaacf5ed5c19e3205178f02dfca262887149e4aed0d8ba6dba955ccb33cde5e4ad0f087eb6dadb124d086f7021ad99401b9ce259da3c111672 opt/lvm/share/man/man8/lvreduce.8.xz +2b0ebd586456a90a5f6b2a0a2a009e870f9c4f75ba737f7706bbc96ad68e23b8043864a75aaf77b52331799b51e925f551c1e290cbd1a525349c2e02da0faf84 opt/lvm/share/man/man8/lvremove.8.xz +a522e2546ecdef33ce20de74af43e53c7c558930d0f51caac5b2d7b325b0c56a247894e5518337a7a4acbc6e567ed44b31f9ca307c40ef7a7ba8c85d334cd759 opt/lvm/share/man/man8/lvrename.8.xz +54648cc3e7e313041beea92403821b0481bc336ddd17a36de881f42bb7a41c3dee027144125be8429c384f1dc0bbc256100006d281ece196483332aa11138cca opt/lvm/share/man/man8/lvresize.8.xz +a46662b68ff7088975c9e8a0d953becd8dc3828bcb198ac9496f25972676482c7a066a0522e3fb2c931ea7ddaa8896f3290d0aae9044a8abb0a35c21dd16a65d opt/lvm/share/man/man8/lvs.8.xz +883e1b80b7107c560f912261cc0c99523f5301d0e032c1a3a7b6da6e940eb2b6a38c940e681fff9f9e1020143d86edd38b4fb662924993cab3473926953068e7 opt/lvm/share/man/man8/lvscan.8.xz +5d4d6bc2d3bd283d4f0e22ef556b7f580f7bef3f44d09457e7a8bbe259886516cbd92c4836202327f7fd3c2d4aba1342dc7fd398a25d82e51d54258cc8c8eb70 opt/lvm/share/man/man8/pvchange.8.xz +dcce4456a91485afc358d8bf71a6f3f5f0c194971cb8ccb6f4f2ca783ccccc9ea12395ce9640f80704d493798e38b4e1cb77935d5f4715e6ef7c69dccdf579ff opt/lvm/share/man/man8/pvck.8.xz +fa31384e746caa7017a71d7799ae4eb1237e3048cde45693ed8b089d0a5810775039653cfc5e5d3768512fec83397869196b8ad170622724ae24d1f326dc0a13 opt/lvm/share/man/man8/pvcreate.8.xz +6a9b49a9291d579ecf61997561fe312d15ab4d152bf01dbd681817fc73eba50483ea59ebd3e4aa59420ed4784714813ab79e800621df40403dc2fe1bb9bc2809 opt/lvm/share/man/man8/pvdisplay.8.xz +fe22c4ef8eae3d763ceef1eb659a46a785f1e0d4d78b2466c294ab79051211f6e9520cb4cdb6a8c1ef9e4d950d40dc04f2ba5f751276bca9986f2147f352563d opt/lvm/share/man/man8/pvmove.8.xz +0bc4ed6b6ff56d370f98990fbfe4527676eec490e1d900131cf51727ccc925c7897486d3047c0a5dcfccd7b94ce97698735e4015d7e4494e0f3529a794490798 opt/lvm/share/man/man8/pvremove.8.xz +8ace857ec2e7a02438a4d80b3c999fcf7ec55affe80c1f62f43fdc4cda0e191df9848a60efc06890e2401d441e8e3854c1e4545840c29306800ad120d18b8b34 opt/lvm/share/man/man8/pvresize.8.xz +ae52f2241ac2201e9e382e7b2f2458de96e1d1e610521af2862d1d26de783cb8dc196b25e882495edc96f777d2e218576050d9378e08e07d70d5c3b76f8268c3 opt/lvm/share/man/man8/pvs.8.xz +a456ed17598ce4f1edaa58c29c41966418096ea15f6b284ffcb87f28af76c66d375dabf3f0328229cfc05823a0e4310e0a66b93740d0340cb385e0d5082afcb0 opt/lvm/share/man/man8/pvscan.8.xz +3ab7fb2a4c20b64aad60f8f414b10ec30ed221530de788ef0877a0d559bace8d88396071d4e827a2777e926e242b74eddbcdc4f1e57396d6c65d205651bd3740 opt/lvm/share/man/man8/vgcfgbackup.8.xz +a1afd730ce60ce0bace1472a4c5d1be6b9cd4f28d444e9f9076860fc14d78c8e03480b4f7f21eb0b72d08a39cbbf9fb979b3a6a6ca7e804c77d7af99da9942a2 opt/lvm/share/man/man8/vgcfgrestore.8.xz +1396d88b07af85c533fffa69923e2dfd5644d3a0c0ac4be89060189d4b4d0b64411ae28a0cd1fcdaa77bd51eb6cd1331c52a75251e2f2c2fe9618e7e97f42f73 opt/lvm/share/man/man8/vgchange.8.xz +97f76502b1062acc5cbad869f21034c7b68633c0cfc3435a49ca46bb3381113d935edc3eae838a739be3aee5c852632e0a9a49045d0cade1f5af686e7c26fe23 opt/lvm/share/man/man8/vgck.8.xz +4232f771fdcbf68d95a62625a29b5cbc531d6de73d64fbfec7bed5c4b8f4e039f87b52f346b16969ebaa43be74840196a6840033836f9e16e887b887c3e65d77 opt/lvm/share/man/man8/vgconvert.8.xz +59aa766f07d37e37b429597d21e218bbb2bcf3690ef1ac927eb97891756c04c416ca8c4333a48a543c9f0b4fca05cfb24eef6efb64d2c4f11c27f8fab0218b6e opt/lvm/share/man/man8/vgcreate.8.xz +810a5916151cbafa14ee47d54545440f0a8ccd37ec5e3fe6eb07e9de944ce15837546049c142a40e5854ad5d2aa380bff9ce549ae2e619ebced41548679ce8b4 opt/lvm/share/man/man8/vgdisplay.8.xz +916822172a17b9d44f2b17bada630ecc28ca658c24ffeeb1fa510e3e66c28fbd45df16f2c95629b192e90f3c79fcfdfbe96d322fb444ae7e2494afff1b4399bc opt/lvm/share/man/man8/vgexport.8.xz +ca73ee62ab3bb0643b086adfcfe16efce8ba947fce3e323b29aae88bb1d141c197b04b16afbb8ce83a853629ee5c7e015f611bb740aa324f2caa08ab1eff2ba2 opt/lvm/share/man/man8/vgextend.8.xz +d973138099c6e5fe0072c8cc4c837ac8faf6f60241df8c8ce4550529e6e912603fd8ae55c5dafc57fe360d0248a0b9c9cfe1371cede2ba46faf5b5951043f67c opt/lvm/share/man/man8/vgscan.8.xz +158a96992f1c5c64aa4888332eef619decb085ca3812b1eb00b3ded53700c951a4b3758f416d5c6f0eefdb285632a65e4fa085900e3ec8ea658265efac52c33c opt/pv/bin/pv +3c53aa394b6a182fc0059d63dff2cfaf2fbf40160d92eddc59943049c4519bab6f4ad36e37871801d1e085beb49a318d6dd6980ace8f44a13f6b114cf9c78c3a opt/pv/share/man/man1/pv.1.gz diff --git a/clean b/clean @@ -0,0 +1,14 @@ +#!/bin/sh +set -x +case $0 in (*/*) cd "${0%/*}" || exit $?;; esac +rm -rf boot-image sabotage-image local || exit $? +( + cd sabotage && + git clean -xf && + git checkout . +) || exit $? +( + cd musl-cross-make && + git clean -xf && + git checkout . +) || exit $? diff --git a/sabotage-env b/sabotage-env @@ -0,0 +1,2 @@ +PATH=$PWD/sabotage/KEEP/bin:$PWD/local/bin:$PWD/local/x86_64-linux-musl/bin:$PATH +export CONFIG=$PWD/sabotage/config diff --git a/sabotage-install.config b/sabotage-install.config @@ -0,0 +1,81 @@ +## set the arch you're building for +#export A=i386 +export A=x86_64 +#export A=x86_64-x32 +#export A=mips +#export A=powerpc +#export A=microblaze +#export A=sh +#export A=arm + +[ -z "$A" ] && { printf "ERROR: no arch set\n" ; exit 1 ; } + +# arch specific flags to pass to the gcc build +# your crosscompiler should be configured equivalently +# if not provided, will be derived from the crosscompiler config +#export GCC_ARCH_CONFIG_FLAGS="--with-float=soft --with-fpu=vfp" + +# set to basepath containing your musl-cross toolchains +# we assume there's a subdir equal to the triplet in there +#crosstoolchain=$HOME/musl-cross-make-6.5.0 +crosstoolchain="@@PWD@@/local" + +#set toolchain triplet +#triplet=x86_64-linux-muslx32 +#triplet=arm-linux-musleabihf +triplet=$A-linux-musl + +# point S to sabotage checkout or /src dir of an existing sabotage install +# path is used to lookup KEEP, pkg and tarballs dirs +#export S=/src +export S="@@PWD@@/sabotage" + +# set R to the rootfs path (where stuff gets installed to) +export R="@@PWD@@/boot-image" +ORIG_R="@@PWD@@/sabotage-image" + +# set number of parallel make processes +export MAKE_THREADS=@@JOBS@@ + +# set BRUTE to 1 to enable LTO in the standard etc/butch-optflags profile +# (slow to compile, but results in minimal binary size and very fast code) +#export BRUTE=1 +# set TESTBUILD to 1 to build everything without optimization/debug (much faster) +#export TESTBUILD=1 + +# typically, you shouldn't have to change any of the vars after this line + +export K=$S/KEEP +# where stuff gets built +export B=$ORIG_R/src/build +export C=$S/tarballs +export LOGPATH=$ORIG_R/src/logs +export BUTCHDB=$ORIG_R/var/lib/butch.db +export butch_filelists=$ORIG_R/src/filelists +export butch_tarballs_used=$ORIG_R/src/tarballs_used.txt +export BUTCH_BUILD_TEMPLATE=$K/butch_build_template.txt +export BUTCH_DOWNLOAD_TEMPLATE=$K/butch_download_template.txt + +export PATH="$PATH":$crosstoolchain/$triplet/bin + +export CC="$triplet-gcc -L$ORIG_R/lib -isystem $ORIG_R/include" +export CXX="$triplet-g++ -L$ORIG_R/lib -isystem $ORIG_R/include" +export CROSS_COMPILE=$triplet- +export HOSTCC=gcc +export HOSTCXX=g++ + +export STAGE=1 +export PKG_CONFIG_SYSROOT_DIR=$ORIG_R +export PKG_CONFIG_LIBDIR=$ORIG_R/lib/pkgconfig +# do not build host/runtime deps +export DEPS=build + +if ! test -d "$R" ; then + echo "ERROR: R points to non-existing path $R">&2 + exit 1 +fi +if ! $CC --version >/dev/null 2>&1 ; then + echo "ERROR! toolchain $CC not found in PATH $PATH">&2 + exit 1 +fi + diff --git a/sabotage-pkg/busybox b/sabotage-pkg/busybox @@ -0,0 +1,125 @@ +[mirrors] +http://www.busybox.net/downloads/busybox-1.27.2.tar.bz2 + +[vars] +filesize=2216527 +sha512=d99e86b652562ebe1a5d50e1ba3877a1d1612997c17cb8d8e4212da181211a9b741a881cb051f14cb3ee8aea40226cf2cde80a076baed265d3bc0a4e96a5031c +pkgver=6 +no_unlink=1 + +[deps] +kernel-headers + +[deps.stage0] +patch +stage0-musl + +[build] + +if [ "$STAGE" = "0" ] ; then + CC="$butch_root_dir"/bin/musl-gcc + PATCH="$butch_root_dir"/bin/patch +else + PATCH=patch +fi + +dopatch() { + echo "applying patch $1" + "$PATCH" -p1 < "$1" +} + +dopatch "$K"/busybox-blowfish.patch +dopatch "$K"/busybox-fdisk-sector-size.patch +dopatch "$K"/busybox-libbb-make-unicode-printable.patch +dopatch "$K"/busybox-ping.patch + +#__inline seems to get activated when -std=gnu99 is used, causing havoc +sed -i 's,__inline,,' ./scripts/kconfig/zconf.hash.c_shipped + +sed -i 's/-DBB_BT=AUTOCONF_TIMESTAMP/-DBB_BT=\\"reproducible-build\\"/' Makefile.flags +cp "$K/"busybox.stage1.config config.stage1 + +if [ "$DEBUGBUILD" = "1" ] ; then + debugcflags="-O0 -g" + sed -e 's/# CONFIG_DEBUG is not set/CONFIG_DEBUG=y/' \ + -e 's/# CONFIG_DEBUG_PESSIMIZE is not set/CONFIG_DEBUG_PESSIMIZE=y/' \ + -e 's/CONFIG_NO_DEBUG_LIB=y/# CONFIG_NO_DEBUG_LIB is not set/' \ + -i config.stage1 +fi + +make KCONFIG_ALLCONFIG=config.stage1 allnoconfig + +# alternative: +# make KBUILD_VERBOSE=1 CC="$CC" HOSTCC="$HOSTCC" \ +# HOSTCFLAGS=-D_GNU_SOURCE -j$MAKE_THREADS + +[ -z "$HOSTCC" ] && HOSTCC="$CC" + +make V=1 LDFLAGS=-static HOSTLDFLAGS=-static \ +CFLAGS_busybox="$debugcflags -Wl,-z,muldefs -Werror-implicit-function-declaration" \ +HOSTCC="$HOSTCC -static" CC="$CC -static" HOSTCFLAGS=-D_GNU_SOURCE -j$MAKE_THREADS +echo busybox build complete + +# make true and false binaries so scripts using it are faster +# than when using several layers of indirection including a shell +# script +cat << EOF > true.c +int main() { return 0; } +EOF +cat << EOF > false.c +int main() { return 1; } +EOF + +for p in true false ; do +$CC -static $optcflags "$p".c -o "$p" $optldflags +done +# done, continue with "make install" equivalent + +dest=$butch_install_dir$butch_prefix +mkdir -p "$dest"/bin + +busybox_bin=busybox +[ "$DEBUGBUILD" = "1" ] && busybox_bin=busybox_unstripped +# on armv4tl and mips, the stripped busybox binary is buggy - argv parsing is broken somehow: +# this manifests when trying to use enter-chroot script which fails. +#[ "$A" = "arm" ] || [ "$A" = "mips" ] && busybox_bin=busybox_unstripped + +echo cp "$busybox_bin" "$dest"/bin/busybox +cp "$busybox_bin" "$dest"/bin/busybox + +echo check if busybox works: +if [ -z $CROSS_COMPILE ] ; then + "$dest"/bin/busybox --list >/dev/null +fi + +trylink() { + if [ ! -e bb-link ] ; then + printf '#!%s/bin/busybox\n' "$butch_prefix" > bb-link + chmod +x bb-link + fi + printf "trying to link busybox to %s ... " "$1" + if ! cp -f bb-link "$1" ; then + echo FAIL + exit 1 + else + echo OK + fi +} + +$HOSTCC -E -include include/autoconf.h -DMAKE_LINKS include/applets.h | sed -e 's/^LINK BB_DIR_BIN //' -e 's/^LINK BB_DIR_SBIN //' -e 's/LINK BB_DIR_ROOT //' -e '/^#/d' -e '/^}/d' -e '/^[ ]*$/d' | sort -u > applet.lst +for f in `cat applet.lst` ; do + trylink "$dest"/bin/"$f" +done + +ln -sf busybox "$dest"/bin/sh + +echo symlinks done. + +for p in true false ; do + # in case a symlink from one of the above program names to busybox + # already exists, we need to delete it + # before copying. otherwise the *busybox binary* gets replaced + # through the symlink... + rm -f "$dest"/bin/"$p" + cp -f "$p" "$dest"/bin/ +done diff --git a/sabotage-pkg/pv b/sabotage-pkg/pv @@ -0,0 +1,21 @@ +[vars] +filesize=105001 +sha512=913a5c84e24e0bfb23930a790d9e030f2c88014bb61266c96e3d11890c4667fe42662f01c103c4dcbbc2e69515598a8546a4edb185b81422b90524432f7cc2e5 +desc='pipe viewer. add to piped command chains to see speed information' + +[mirrors] +http://www.ivarch.com/programs/sources/pv-1.5.2.tar.bz2 + +[build] +[ -n "$CROSS_COMPILE" ] && \ + xconfflags="--host=$($CC -dumpmachine|sed 's/musl/gnu/') \ + --with-sysroot=$butch_root_dir" + +CPPFLAGS="-D_GNU_SOURCE" CFLAGS="$optcflags" CXXFLAGS="$optcflags" \ +LDFLAGS="$optldflags -static --static -Wl,-rpath-link=$butch_root_dir$butch_prefix/lib" \ + ./configure -C --prefix="$butch_prefix" --disable-nls $xconfflags --disable-shared --enable-static + +#[ -n "$CROSS_COMPILE" ] && "$K"/libtool.cross.gen --sysroot="$butch_root_dir" + +make V=1 -j$MAKE_THREADS LD="$CROSS_COMPILE"ld +make DESTDIR="$butch_install_dir" install