++ script for debian netboot
This commit is contained in:
parent
0c56febefe
commit
7d37b7d5a6
1 changed files with 42 additions and 0 deletions
42
debian-devuan-netboot.sh
Executable file
42
debian-devuan-netboot.sh
Executable file
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Nico Schottelius, 2019-12-09
|
||||||
|
|
||||||
|
if [ $# -ne 1 ]; then
|
||||||
|
echo $0 suite
|
||||||
|
echo suite is for instance ascii, beowulf, etc
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
suite=$1; shift
|
||||||
|
|
||||||
|
date=$(date +%F)
|
||||||
|
|
||||||
|
dir=${suite}-${date}
|
||||||
|
kernel=${dir}-kernel
|
||||||
|
keyurl=https://code.ungleich.ch/ungleich-public/__ungleich_staff_ssh_access/raw/master/files
|
||||||
|
|
||||||
|
debootstrap "${suite}" "${dir}"
|
||||||
|
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
|
||||||
|
|
||||||
|
mv ${dir}/boot/vmlinuz-* ${kernel}
|
||||||
|
rm ${dir}/boot/initrd*
|
||||||
|
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
|
||||||
|
|
||||||
|
( cd ${dir} ; find . | cpio -H newc -o | gzip -9 > ../${dir}-initramfs )
|
Loading…
Reference in a new issue