changes for buster linode
[automated-distro-installer] / fai-revm
index d09bbcc7a986552dccd53dee09a7f8b55dfcc76c..76458885f7f03cd93c02251fe34b668913fb3aeb 100755 (executable)
--- a/fai-revm
+++ b/fai-revm
 
 
 
-x="$(readlink -f "$BASH_SOURCE")"
-script_dir="${x%/*}"
+readonly this_file="$(readlink -f -- "${BASH_SOURCE[0]}")"
+script_dir="${this_file%/*}"
+# shellcheck source=./bash-trace
 source "${script_dir}/bash-trace"
+cd $script_dir
 
 e() { echo "$*"; "$@"; }
 
@@ -37,6 +39,7 @@ fails. Just run again if that happens.
 -n         Create new qcow2(s) for vm. Good for testing partitioning
            script, to ensure a blank disk.
 -p         Use pxe instead of autodiscover iso with fai.
+-c         Use normal fai-cd iso is instead of autodiscover iso.
 -r         Do not boot after install is complete
 -h|--help  Print help and exit.
 
@@ -48,13 +51,15 @@ EOF
 orig_args=("$@")
 new_disk=false
 pxe=false
-temp=$(getopt -l help dnprh "$@") || usage 1
+iso=autodiscover.iso
+temp=$(getopt -l help dnpcrh "$@") || usage 1
 eval set -- "$temp"
 while true; do
   case $1 in
     -d) dhcp_arg=-d; shift ;;
     -n) new_disk=true; shift ;;
     -p) pxe=true; shift ;;
+    -c) iso=netinst.iso; shift ;;
     -r) reboot_arg=--noreboot; shift ;;
     -h|--help) usage ;;
     --) shift; break ;;
@@ -65,7 +70,7 @@ done
 
 # change this to test different disk counts. 1 and > 1 should be the only
 # important things to test.
-disk_count=1
+disk_count=2
 
 
 if [[ $script_dir == /a/bin/* ]]; then
@@ -76,7 +81,6 @@ if [[ $script_dir == /a/bin/* ]]; then
   exec /tmp/faifreeze/${BASH_SOURCE##*/} "${orig_args[@]}"
 fi
 
-cd $script_dir
 
 is_arch_revm() {
   [[ ${0##*/} == arch-revm ]]
@@ -105,12 +109,12 @@ else
     if [[ ! $BASEFILE_DIR ]]; then
       BASEFILE_DIR=/tmp
     fi
-    a=$BASEFILE_DIR/autodiscover.iso
-    b=$BASEFILE_DIR/STRETCH64.tar.gz
-    if [[ ! -e $a || $(stat -c %Y $a) -lt $(stat -c %Y $b) ]]; then
-      e s fai-cd -g $(readlink -f grub.cfg.autodiscover) -f -A $BASEFILE_DIR/autodiscover.iso
+    isopath=$BASEFILE_DIR/$iso
+    isosrc=$BASEFILE_DIR/STRETCH64.tar.gz
+    if [[ ! -e $isopath || $(stat -c %Y $isopath) -lt $(stat -c %Y $isosrc) ]]; then
+      e s fai-cd -g $(readlink -f grub.cfg.${iso%%.*}) -f -A $isopath
     fi
-    boot_arg="--cdrom $BASEFILE_DIR/autodiscover.iso"
+    boot_arg="--cdrom $isopath"
     e fai-redep
     e myfai-chboot default
   fi
@@ -153,7 +157,7 @@ s iptables -P FORWARD ACCEPT
   #   --graphics spice,listen=0.0.0.0 $console_arg |& grep -v '^ *$' | uniq &
 
 
-e s virt-install --os-variant $variant  -n $name $boot_arg -r 2048 --vcpus 1 \
+e s virt-install --rng /dev/urandom --os-variant $variant  -n $name $boot_arg -r 2048 --vcpus 1 \
   ${disk_arg[*]} -w bridge=br0,mac=52:54:00:9c:ef:ad $reboot_arg \
   --graphics spice,listen=0.0.0.0 $console_arg |& grep -v '^ *$' | uniq &