use latest btrfs-progs to match linux-libre
[automated-distro-installer] / faiserver-revm
1 #!/bin/bash
2 # Copyright (C) 2019 Ian Kelling
3 # SPDX-License-Identifier: AGPL-3.0-or-later
4 set -x
5
6 x="$(readlink -f "$BASH_SOURCE")"; source "${x%/*}/bash-trace"
7 cd ${x%/*}
8
9 usage() {
10 cat <<EOF
11 usage: ${0##*/} [-h|--help]
12 Create a vm which is a fai server.
13
14 This assumes you've set the dhcp server to make 52:54:00:56:09:f9 be
15 faiserver. That mac is a randomly generated one in the libvirt range.
16
17 WARNING: has hardcoded IP and name for for my local lan
18 EOF
19 exit $1
20 }
21 case $1 in
22 -h|--help) usage ;;
23 esac
24
25 err-cleanup() { pxe-server :; }
26 ./debian-pxe-preseed -i 10.0.0.1 -u iank -g vda
27
28 name=faiserver
29 s virshrm $name ||:
30
31 f=/var/lib/libvirt/images/${name}
32 s qemu-img create -o preallocation=metadata -f qcow2 $f 30G
33
34 # uniq because virt-viewer spams me with pointless gtk warnings
35 s virt-install --os-variant debian8 --cpu host -n $name --pxe -r 1024 --vcpus 1 \
36 --disk $f -w bridge=br0,mac=52:54:00:56:09:f9 |& sed "/^ *$/d" | uniq &
37
38 sleep $((60*6)) # takes like 10x as long as a fai install!
39
40 opts="-oStrictHostKeyChecking=false -oUserKnownHostsFile=/dev/null"
41 while ! scp $opts faiserver-setup root@faiserver:; do
42 sleep 5
43 done
44
45 # note: with a vm, pxe boot is turned off in the bios after it's first reboot.
46 err-cleanup() { :; }
47 ./pxe-server
48
49 ssh $opts root@faiserver ./faiserver-setup