X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=42_grml;h=b951465ed41133c30c1c185c623471e606bce989;hb=35e968ccac91c57e1f0353804621e048adbab5ee;hp=8cfdb3fecf4b12f5b090a2a23670851cbb7e5d18;hpb=961213e06435d39dbe735412b0571591dfd52d80;p=grml-rescueboot.git diff --git a/42_grml b/42_grml index 8cfdb3f..b951465 100755 --- a/42_grml +++ b/42_grml @@ -87,7 +87,7 @@ for file in "${ISO_LOCATION}"/*.iso ; do done for grmliso in $iso_list ; do - rel_dirname="$(make_system_path_relative_to_its_root $(dirname $grmliso))" + rel_dirname="$(dirname $(make_system_path_relative_to_its_root $grmliso))" grml="$(basename $grmliso)" device="$(${grub_probe} -t device ${grmliso})" @@ -98,6 +98,11 @@ for grmliso in $iso_list ; do dependencies=$(get_dependencies ${device}) dep_string="" for dep in $dependencies $device ; do + case "$dep" in + /dev/md*) + md_name="$(mdadm --detail --export "$dep" | sed -ne 's/MD_NAME=//p')" + dep="/dev/md/$md_name" + esac dep_string="$dep_string,$dep" done dep_string=${dep_string#,} @@ -112,11 +117,13 @@ for grmliso in $iso_list ; do cat << EOF menuentry "${title}" { ${grub_prep} - iso_path="${rel_dirname}/${grml}" + iso_path="${rel_dirname%/}/${grml}" export iso_path kernelopts=" $CUSTOM_BOOTOPTIONS $additional_param " export kernelopts - loopback loop "${rel_dirname}/$grml" + # support booting recent GRUB versions on UEFI systems + rmmod tpm + loopback loop "${rel_dirname%/}/$grml" set root=(loop) configfile /boot/grub/loopback.cfg }