X-Git-Url: https://git.grml.org/?p=grml-live.git;a=blobdiff_plain;f=etc%2Fgrml%2Ffai%2Fconfig%2Fscripts%2FGRMLBASE%2F45-grub-images;h=6dfbf58eeeb79a9c2157e027d0f1da2424c00a49;hp=d6fdb5c53aeea7cce887077ae418343b4b2b96da;hb=3429ac6a274e3fd1ba0466b4b19b3effeb8b7bd4;hpb=3e350880edbc3be3b6ab1806df149981210cec64 diff --git a/etc/grml/fai/config/scripts/GRMLBASE/45-grub-images b/etc/grml/fai/config/scripts/GRMLBASE/45-grub-images index d6fdb5c..6dfbf58 100755 --- a/etc/grml/fai/config/scripts/GRMLBASE/45-grub-images +++ b/etc/grml/fai/config/scripts/GRMLBASE/45-grub-images @@ -44,6 +44,18 @@ if ifclass AMD64 ; then fi fi +# until grub 1.99-27.1 it's called raid, starting with +# grub version 2.00-14 the raid.mod module no longer exists +if [ -r "${target}"/usr/lib/grub/i386-pc/raid.mod ] ; then + echo "Using raid module as file raid.mod is present" + ADDITIONAL_MODULES[raid]="raid" +elif [ -r "${target}"/usr/lib/grub/i386-pc/diskfilter.mod ] ; then + echo "Using diskfilter and related modules as file diskfilter.mod is present" + ADDITIONAL_MODULES[raid]="diskfilter mdraid09 mdraid09_be mdraid1x raid5rec raid6rec" +else + echo "Warning: no according raid module in grub directory found." +fi + BOOTX64="${BOOTX64##${target}}" EFI_IMG="${EFI_IMG##${target}}" TMP_CONFIG="${TMP_CONFIG##${target}}" @@ -53,8 +65,9 @@ $ROOTCMD grub-mkimage -O $arch -o /boot/$arch.img --prefix=/boot/grub/ --config= bitmap boot btrfs cat chain cmp configfile cpio echo elf ext2 \ fat gfxmenu gfxterm gzio help iso9660 jpeg linux loopback lvm \ memdisk minicmd multiboot normal part_gpt part_msdos play png \ - probe raid regexp reiserfs search search_fs_file search_fs_uuid \ - search_label squash4 terminal test video videoinfo xfs ${ADDITIONAL_MODULES[$arch]} + probe regexp reiserfs search search_fs_file search_fs_uuid \ + search_label squash4 terminal test video videoinfo xfs \ + ${ADDITIONAL_MODULES[raid]} ${ADDITIONAL_MODULES[$arch]} done if [ -f "${target}/boot/i386-pc.img" ] ; then @@ -71,7 +84,7 @@ if ifclass AMD64 ; then exit 1 fi - SIZE=$(du -sk "${target}/${BOOTX64}" | awk -F" " '{print $1'}) + SIZE=$(du --apparent-size -sk "${target}/${BOOTX64}" | awk -F" " '{print $1}') SIZE=$(((($SIZE / 32 )+2)*32)) dd if=/dev/zero of="${target}/${EFI_IMG}" bs=1k count="$SIZE" 2>/dev/null