vinaigrette/chroots/make-chroots
2020-05-07 15:11:46 +00:00

56 lines
1.6 KiB
Bash
Executable file

#!/bin/bash
# For some reason, building chroots for buster from stretch requires libdebian-installer4 0.119 instead of 0.110, c.f. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=904699 ... installed it by manually downloading and dpkg -i the .deb
readonly DISTRIB=buster
readonly INIT_DIR=$PWD
#readonly ARCHS="amd64"
#readonly ARCHS="i386 armhf armel arm64"
readonly ARCHS="arm64"
function main()
{
for ARCH in $ARCHS
do
build_chroot $ARCH
done
}
function build_chroot()
{
local ARCH=$1
local CHROOT=chroot-${DISTRIB}-${ARCH}
echo ""
echo "Starting build for $ARCH"
echo ""
cd /tmp/
cdebootstrap --arch=${ARCH} --foreign ${DISTRIB} ./$CHROOT http://deb.debian.org/debian/
cp /usr/bin/qemu-arm-static $CHROOT/usr/bin/
cp /usr/bin/qemu-aarch64-static $CHROOT/usr/bin/
cp /etc/resolv.conf $CHROOT/etc/resolv.conf
chroot $CHROOT apt update
chroot $CHROOT apt dist-upgrade
chroot $CHROOT apt install -y build-essential debhelper cmake wget devscripts
if [ "$ARCH" == "amd64" ];
then
chroot $CHROOT wget https://github.com/tj/n/archive/v4.1.0.tar.gz
chroot $CHROOT tar -xvzf v4.1.0.tar.gz
chroot $CHROOT /bin/bash -c "cd n-4.1.0; make install"
chroot $CHROOT n 10 # We take nodjes version 10 because idk
fi
chroot $CHROOT apt clean
cd $CHROOT
echo "Now creating tarball with the filesystem ..."
tar -czf $INIT_DIR/${DISTRIB}-${ARCH}.tgz ./*
echo ""
echo "Output chroot archive should be available as $INIT_DIR/${DISTRIB}-${ARCH}.tgz"
echo ""
}
main