Skip to content

Commit 20d9981

Browse files
authored
Add files via upload
1 parent 7fd29d4 commit 20d9981

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed

auto-image-builder.sh

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
#!/bin/sh
2+
3+
DISTROS="debian devuan"
4+
ARCHS="arm64 armhf armel"
5+
6+
for DISTRO in $DISTROS; do
7+
sed -i 's/passwd root/passwd -d root/' $DISTRO-rpi-sd-builder.sh
8+
sed -i 's/dpkg-reconfigure/dpkg-reconfigure -fnoninteractive/' $DISTRO-rpi-sd-builder.sh
9+
done
10+
11+
for DISTRO in $DISTROS; do
12+
if [ $DISTRO = debian ]; then
13+
SUITES="bullseye buster"
14+
elif [ $DISTRO = devuan ]; then
15+
SUITES="chimaera beowulf"
16+
fi
17+
for SUITE in $SUITES; do
18+
for ARCH in $ARCHS; do
19+
RAWFILE=/var/tmp/${DISTRO}-${SUITE}-${ARCH}-28GiB-`date +%F`.img
20+
rm -f $RAWFILE
21+
qemu-img create -f raw $RAWFILE 28G
22+
LOOPDEVICE=`losetup -f`
23+
losetup $LOOPDEVICE $RAWFILE
24+
(
25+
echo $LOOPDEVICE
26+
echo msdos
27+
echo 1
28+
echo ext4
29+
echo $SUITE
30+
echo $ARCH
31+
echo standard
32+
if [ $DISTRO = debian ]; then
33+
echo network-manager
34+
fi
35+
echo ${DISTRO}-${SUITE}-${ARCH}-`date +%F`
36+
echo eth0
37+
) |
38+
(
39+
if [ $DISTRO = debian ]; then
40+
sh debian-rpi-sd-builder.sh >/dev/null
41+
elif [ $DISTRO = devuan ]; then
42+
sh devuan-rpi-sd-builder.sh >/dev/null
43+
fi
44+
)
45+
MNT=`mktemp -d`
46+
mount ${LOOPDEVICE}p2 $MNT
47+
mount ${LOOPDEVICE}p1 ${MNT}/boot/firmware
48+
#systemd-nspawn -D $MNT -a passwd -d root
49+
cat >>${MNT}/root/.profile <<'EOF'
50+
echo "GUI can be installed by apt-get install task-xfce-desktop"
51+
if ! [ -e $HOME/configured.txt ]; then
52+
set -ex
53+
passwd root
54+
dpkg-reconfigure tzdata
55+
dpkg-reconfigure locales
56+
dpkg-reconfigure keyboard-configuration
57+
set +ex
58+
data >$HOME/configured.txt
59+
fi
60+
EOF
61+
systemd-nspawn -q -D $MNT -a apt-get -y -q clean
62+
e4defrag $MNT >/dev/null 2>&1
63+
fstrim ${MNT}/boot/firmware
64+
fstrim ${MNT}
65+
umount -qf ${MNT}/boot/firmware
66+
umount -qf ${MNT}
67+
losetup -d ${LOOPDEVICE}
68+
rm -rf ${MNT}
69+
nice -19 xz -9 $RAWFILE &
70+
done
71+
done
72+
done
73+
wait
74+

0 commit comments

Comments
 (0)