various fixes, upgrade nfsroot to buster
[automated-distro-installer] / faiserver-setup
index d8489eda2c0a1e31b8998ce6a9c41f25100ca7fd..58d670d531a84b230586612c6f8dc54905d37194 100755 (executable)
@@ -29,7 +29,7 @@ as the tftp server. I vaguely remember that using a hostname does not
 work.  Separate from running this, faiserver needs to be setup in dns to
 point to whatever host this is run on.
 
-Default BASE_CODENAME is stretch. Default ARCH is 64. The script expects corresponding
+Default BASE_CODENAME is buster. Default ARCH is 64. The script expects corresponding
 $BASEFILE_DIR/${UPCASED_BASE_CODENAME}${ARCH}.tar.(gz|xz) to exist, and it must have been
 generated around the same time as the nfsroot, at least so it has the
 same kernel version.
@@ -45,9 +45,9 @@ esac
 e() { echo "+ $@"; "$@"; }
 
 
-base=${1:-stretch}
+base=${1:-buster}
 arch=${2:-64}
-basefile=($BASEFILE_DIR/${base^^}${arch^^}.tar.[gx]z)
+basefile=($BASEFILE_DIR/${base^^}${arch^^}.tar.gz)
 sed="sed -ri --follow-symlinks"
 
 if [[ ! -e $basefile ]]; then
@@ -74,10 +74,10 @@ if grep -xFq 'VERSION="8 (jessie)"' /etc/os-release; then
   cat >/etc/apt/sources.list.d/fai.list <<'EOF'
 deb https://fai-project.org/download jessie koeln
 EOF
-elif grep -iE 'VERSION=.*(stretch|flidas|xenail)' /etc/os-release; then
+elif grep -iE 'VERSION=.*(stretch|flidas|xenail|buster|etiona)' /etc/os-release; then
   # fai on ubuntu only has official support using the universe repo, but newer
   # tends to have less bugs.
-  gpg --keyserver hkp://pool.sks-keyservers.net -a --recv-keys 2BF8D9FE074BCDE4; gpg -a --export 2BF8D9FE074BCDE4 | apt-key add -
+  wget -O - https://fai-project.org/download/2BF8D9FE074BCDE4.asc | apt-key add -
 
   case $base in
     stretch)
@@ -114,7 +114,7 @@ fi
 e apt-get install -y ${pkgs[@]}
 # confnew since we edit /etc/fai/NFSROOT in an automated way
 # fai-client is already a fai-server dependency, but make sure it gets upgraded
-e apt-get install --no-install-recommends -y -o Dpkg::Options::="--force-confnew" fai-server fai-client
+e apt-get install --no-install-recommends -y -o Dpkg::Options::=--no-force-confdef -o Dpkg::Options::=--force-confnew fai-server fai-client
 
 r=http://http.us.debian.org/debian
 # like default, but scrap httpredir, and nonfree.
@@ -174,13 +174,19 @@ echo "LOGUSER=fai" >>/etc/fai/fai.conf
 # figured out after partitioning ignored my crypt partition
 
 
-if ! grep cryptsetup /etc/fai/NFSROOT &>/dev/null; then
-  cat >>/etc/fai/NFSROOT <<'EOF'
+cedit /etc/fai/NFSROOT <<'EOF' || [[ $? == 1 ]]
 # inserted by faserver-setup
 PACKAGES install
 cryptsetup
+# default one is linux-image-server, doesnt exist anymore
+linux-image-amd64
+# default is btrfs-tools which doesnt exist anymore
+btrfs-progs
+iw
+# got an error in error.log about not having gpg.
+# system seemed to still install ok, so i havent tested if this fixes it.
+gpg
 EOF
-fi
 
 if armhf; then
   cd /srv/fai