if ifclass AMD64 ; then
if [ -r "${target}"/usr/lib/grub/x86_64-efi/moddep.lst ] ; then
ARCHS+=(x86_64-efi)
- ADDITIONAL_MODULES[x86_64-efi]="efi_gop efi_uga linux16"
+ ADDITIONAL_MODULES[x86_64-efi]="efi_gop efi_uga"
else
echo "/usr/lib/grub/x86_64-efi/moddep.lst could not be found, skipping."
echo "NOTE: grub-efi-amd64-bin not installed?"
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}}"
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
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