ungleich-tools/debian-devuan-netboot.sh

52 lines
1.4 KiB
Bash
Raw Normal View History

2019-12-11 14:33:24 +00:00
#!/bin/sh
# Nico Schottelius, 2019-12-09
2019-12-11 21:56:54 +00:00
# the ugly code is llnu
#this can only run in the ungleich-tools directory because of the cat magiccommand........
2019-12-11 14:33:24 +00:00
2019-12-14 15:57:25 +00:00
if [ $# -ne 2 ]; then
echo $0 suite out-directory
echo out-directory: into which directory to place resulting files
2019-12-11 14:33:24 +00:00
echo suite is for instance ascii, beowulf, etc
exit 1
fi
2019-12-14 15:57:25 +00:00
2019-12-11 14:33:24 +00:00
suite=$1; shift
2019-12-14 15:57:25 +00:00
outdir=$1; shift
2019-12-11 14:33:24 +00:00
date=$(date +%F)
2019-12-14 15:57:25 +00:00
dir=${outdir}/${suite}-${date}
2019-12-14 16:02:42 +00:00
kernel=kernel-${dir}
initramfs=initramfs-${dir}
2019-12-11 14:33:24 +00:00
keyurl=https://code.ungleich.ch/ungleich-public/__ungleich_staff_ssh_access/raw/master/files
debootstrap "${suite}" "${dir}"
2019-12-11 14:33:24 +00:00
chroot ${dir} apt install -y openssh-server rdnssd linux-image-amd64
cat > ${dir}/etc/network/interfaces << EOF
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet6 auto
EOF
2019-12-14 15:47:35 +00:00
cp ${dir}/boot/vmlinuz-* ${kernel}
2019-12-11 21:56:54 +00:00
2019-12-14 15:57:25 +00:00
echo '* * * * * root ip -o -6 addr show | grep -E -v 'lo |one' > /etc/issue' > ${dir}/etc/cron.d/ipv6addr
2019-12-11 21:56:54 +00:00
2019-12-11 14:33:24 +00:00
mkdir -p ${dir}/root/.ssh
for key in balazs dominique jinguk nico; do
curl -s ${keyurl}/${key}.pub >> ${dir}/root/.ssh/authorized_keys
done
# ensure there is /init in the initramfs -> otherwise there is a kernel panic
# reason: initramfs is designed to be PRE regular os, so /init usually hands over to /sbin/init
# in our case, they are just the same
ln -s /sbin/init ${dir}/init
2019-12-14 15:57:25 +00:00
( cd ${dir} ; find . | cpio -H newc -o | gzip -9 > ${initramfs} )