EFI_IMG="${EFI_IMG##${target}}"
TMP_CONFIG="${TMP_CONFIG##${target}}"
-ARCHS=(i386-pc)
declare -A ADDITIONAL_MODULES
-ADDITIONAL_MODULES[i386-pc]="biosdisk"
+ARCHS=()
+
+if [ -r "${target}"/usr/lib/grub/i386-pc/moddep.lst ] ; then
+ ARCHS+=(i386-pc)
+ ADDITIONAL_MODULES[i386-pc]="biosdisk"
+fi
if ifclass AMD64 ; then
if [ -r "${target}"/usr/lib/grub/x86_64-efi/moddep.lst ] ; then
EFI_IMG="${EFI_IMG##${target}}"
TMP_CONFIG="${TMP_CONFIG##${target}}"
+
+if [ -z "$ARCHS" ] ; then
+ echo "WARNING: No grub modules found, exiting" >&2
+ exit 0
+fi
+
for arch in ${ARCHS[@]} ; do
$ROOTCMD grub-mkimage -O $arch -o /boot/$arch.img --prefix=/boot/grub/ --config="$TMP_CONFIG" \
bitmap boot btrfs cat chain cmp configfile cpio echo elf ext2 \
if [ -f "${target}/boot/x86_64-efi.img" ] ; then
mv "${target}/boot/x86_64-efi.img" "${target}/${BOOTX64}"
fi
-if ! [ -r "${target}/${BOOTX64}" ] ; then
- echo "Can not access grub efi image." >&2
- exit 1
-fi
-SIZE=$(du -sk "${target}/${BOOTX64}" | awk -F" " '{print $1'})
-SIZE=$(((($SIZE / 32 )+2)*32))
+if ifclass AMD64 ; then
+ if ! [ -r "${target}/${BOOTX64}" ] ; then
+ echo "Can not access grub efi image." >&2
+ exit 0
+ fi
-dd if=/dev/zero of="${target}/${EFI_IMG}" bs=1k count="$SIZE" 2>/dev/null
-$ROOTCMD mkfs.vfat -n GRML "$EFI_IMG" >/dev/null
-$ROOTCMD mmd -i "$EFI_IMG" ::EFI
-$ROOTCMD mmd -i "$EFI_IMG" ::EFI/BOOT
-$ROOTCMD mcopy -i "$EFI_IMG" "$BOOTX64" ::EFI/BOOT/bootx64.efi >/dev/null
+ SIZE=$(du -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
+ $ROOTCMD mkfs.vfat -n GRML "$EFI_IMG" >/dev/null
+ $ROOTCMD mmd -i "$EFI_IMG" ::EFI
+ $ROOTCMD mmd -i "$EFI_IMG" ::EFI/BOOT
+ $ROOTCMD mcopy -i "$EFI_IMG" "$BOOTX64" ::EFI/BOOT/bootx64.efi >/dev/null
+ echo "Generated EFI image $BOOTX64"
+ echo "Generated bootx64 image $EFI_IMG"
+fi
rm -f "${target}/${TMP_CONFIG}"
+echo "Generated Grub images"
-echo "Generated EFI image $BOOTX64"
-echo "Generated bootx64 image $EFI_IMG"
## END OF FILE #################################################################
# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2