X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fscripts%2FGRUB_PC%2F10-setup;h=00829e110a7ecc3acff8ab60f789c4a9c3e9481c;hb=a2b8051e808621b9a33617d0c75d212bd2141ddc;hp=c19d4fa0438cf5b8633afabb4961c62486bc5dba;hpb=2773c14668a490a1254a63541e1ef9fd3377104b;p=automated-distro-installer diff --git a/fai/config/scripts/GRUB_PC/10-setup b/fai/config/scripts/GRUB_PC/10-setup index c19d4fa..00829e1 100755 --- a/fai/config/scripts/GRUB_PC/10-setup +++ b/fai/config/scripts/GRUB_PC/10-setup @@ -3,6 +3,7 @@ error=0; trap 'error=$(($?>$error?$?:$error))' ERR # save maximum error code +set -x set -a # do not set up grub during dirinstall @@ -30,6 +31,7 @@ GROOT=$($ROOTCMD grub-probe -tdrive -d $BOOT_DEVICE) # Check if RAID is used for the boot device if [[ $BOOT_DEVICE =~ '/dev/md' ]]; then + GROOT=$($ROOTCMD grub-probe -tdrive -d $BOOT_DEVICE) raiddev=${BOOT_DEVICE#/dev/} # install grub on all members of RAID for device in `LC_ALL=C perl -ne 'if(/^'$raiddev'\s.+raid\d+\s(.+)/){ $_=$1; s/\d+\[\d+\]//g; print }' /proc/mdstat`; do @@ -38,16 +40,20 @@ if [[ $BOOT_DEVICE =~ '/dev/md' ]]; then done elif [[ $GROOT =~ 'hostdisk' ]]; then - $ROOTCMD grub-install --no-floppy --modules=part_msdos $BOOT_DEVICE - if [ $? -eq 0 ]; then - echo "Grub installed on hostdisk $BOOT_DEVICE" - fi - + for dev in $BOOT_DEVICE; do + $ROOTCMD grub-install --no-floppy --modules=part_msdos $dev + if [ $? -eq 0 ]; then + echo "Grub installed on hostdisk $BOOT_DEVICE" + fi + done else - $ROOTCMD grub-install --no-floppy "$GROOT" - if [ $? -eq 0 ]; then - echo "Grub installed on $BOOT_DEVICE = $GROOT" - fi + for dev in $BOOT_DEVICE; do + GROOT=$($ROOTCMD grub-probe -tdrive -d $dev) + $ROOTCMD grub-install --no-floppy "$GROOT" + if [ $? -eq 0 ]; then + echo "Grub installed on $dev = $GROOT" + fi + done fi $ROOTCMD update-grub