add xenial support with basic debian parity
[automated-distro-installer] / fai / config / scripts / GRUB_PC / 11-ian
index 629d1bc6a0deaf9a34b91c49b10dd44dda4bad1c..11cd818d50df43b2130ed64bf08608cf9bb79e39 100755 (executable)
@@ -8,40 +8,45 @@ if [[ $EUID != 0 ]]; then
     exit 1
 fi
 
+if ! type -t fcopy &>/dev/null; then
+    sudo apt-get -y install fai-client
+fi
 
 dir=/q/root/shadow
-if [[ ! -e $dir ]]; then
+fai_shadow=$FAI/distro-install-common/shadow
+if [[ ! -e $dir && -e $fai_shadow ]]; then
     mkdir -p $dir
-    echo "IANNNNNN 111"
-    ls -la $FAI/distro-install-common/shadow
-    mount -o bind $FAI/distro-install-common/shadow $dir
+    mount -o bind $fai_shadow $dir
 fi
 $FAI/distro-install-common/end
 
-if ifclass STABLE; then
+if ifclass STABLE || ifclass LINODESTABLE; then
     fcopy -M /etc/apt/preferences
 fi
 
 if ifclass DEBIAN; then
     fcopy -M /etc/apt/preferences.d/unstable
-    fcopy -riM /etc/apt/sources.list.d
 fi
+fcopy -riM /etc/apt/sources.list.d
+$ROOTCMD apt-get update
+
 
 
 # note:
 # fcopy -i = ignore nonmatching class error, always return 0.
 
-f=$FAI_ROOT/home/ian/.ssh/authorized_keys
-if [[ ! -L $f || -e $f ]]; then
-    fcopy -r -M /home/ian/.ssh
-else
-    echo "$0: info: $f exists"
-fi
+# for lj, this will be empty and fail
+fcopy -riM /home/ian/.ssh
 
 rm -f $FAI_ROOT/etc/apt/sources.list
 
 chroot $FAI_ROOT bash <<'EOF'
 set -eE -o pipefail
+mkdir -p /home/ian/.ssh
+f=/root/.ssh/authorized_keys
+if [[ -e $f ]]; then
+   cp $f /home/ian/.ssh
+fi
 chown -R 1000:1000 /home/ian/.ssh
 chmod -R u=Xrw,og= /home/ian/.ssh
 rm -rf /root/.ssh
@@ -49,8 +54,19 @@ cp -rL /home/ian/.ssh /root
 chown -R root:root /root/.ssh
 chmod 700 /root/.ssh
 
-# default jessie groups + kvm & systemd-journal
-usermod -aG cdrom,floppy,sudo,audio,dip,video,plugdev,netdev,systemd-journal ian
+# default jessie groups + kvm, systemd-journal, adm
+usermod -aG adm,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev,systemd-journal ian
+
+# https://askubuntu.com/questions/33416/how-do-i-disable-the-boot-splash-screen-and-only-show-kernel-and-boot-text-inst
+# it suggests not having plymouth-theme-ubuntu-text, but
+# making it not installed then kills plymouth, then makes
+# the system not boot.
+sed -ri 's/(^ *GRUB_CMDLINE_LINUX.*)quiet splash/\1/' /etc/default/grub
+# on xenial, no grub is displayed at all. fix that.
+# found just by noticing this in the config file, and a
+# warning about it in error.log
+sed -i '/^ *GRUB_HIDDEN_TIMEOUT/d' /etc/default/grub
+update-grub2
 EOF