error=0; trap 'error=$(($?>$error?$?:$error))' ERR # save maximum error code
+set -x
# do only execute for Debian and similar distros
if ! ifclass DEBIAN ; then
exit 0
# 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; s/(nvme.+?)p/$1/g; print }' /proc/mdstat); do
# remove last ,
mbrdevices=${mbrdevices%, }
else
- mbrdevices=$(get_stable_devname $BOOT_DEVICE)
+ for dev in $BOOT_DEVICE; do
+ mbrdev=$(get_stable_devname $dev)
if [ -z "$mbrdevices" ]; then
- # if we cannot find a persistent name (for e.g. in a VM) use old name
- mbrdevices=$BOOT_DEVICE
+ # if we cannot find a persistent name (for e.g. in a VM) use old name
+ mbrdevices+="$dev, "
fi
- echo "Installing grub on $BOOT_DEVICE = $mbrdevices"
- $ROOTCMD grub-install --no-floppy "$mbrdevices"
+ echo "Installing grub on $dev = $mbrdev"
+ $ROOTCMD grub-install --no-floppy "$mbrdev"
+ done
+ # remove trailing ,
+ mbrdevices=${mbrdevices%, }
fi
echo "grub-pc grub-pc/install_devices multiselect $mbrdevices" | $ROOTCMD debconf-set-selections