@ -62,15 +62,20 @@ install_grub() {
efi_boot_dir="/boot/efi/EFI/BOOT"
efi_boot_dir="/boot/efi/EFI/BOOT"
chroot mountpoint mkdir -p "${efi_boot_dir}"
chroot mountpoint mkdir -p "${efi_boot_dir}"
# The modules below only make sense on non-Secure Boot UEFI systems.
# Otherwise, with Secure Boot enabled GRUB will refuse to load them.
# Any modules already in debian/build-efi-images do not need to be listed.
# Furthermore, other modules such as terminal, video_* and efi_* are all
# already available.
case $ARCH in
case $ARCH in
arm64)
arm64)
chroot mountpoint apt-get -qqy install --no-install-recommends grub-efi-arm64 grub-efi-arm64-bin
chroot mountpoint apt-get -qqy install --no-install-recommends grub-efi-arm64 grub-efi-arm64-bin
grub_modules="part_gpt fat gzio ext2 normal chain boot configfile linux search_fs_uuid search_label terminal serial video video_fb efi_gop"
grub_modules="serial"
efi_target=arm64-efi
efi_target=arm64-efi
;;
;;
amd64)
amd64)
chroot mountpoint apt-get install -qqy grub-efi-amd64-signed grub-efi-amd64 shim-signed
chroot mountpoint apt-get install -qqy grub-efi-amd64-signed grub-efi-amd64 shim-signed
grub_modules="part_gpt fat ext2 normal chain boot configfile linux multiboot sea rch_fs_uu id se arch_labe l terminal serial video video_fb video_bochs usb usb_keyboard efi_gop efi_uga "
grub_modules="multiboot serial usb usb_keyboard"
efi_target=x86_64-efi
efi_target=x86_64-efi
;;
;;
esac
esac
@ -78,8 +83,9 @@ install_grub() {
cat << EOF >> mountpoint/etc/default/grub.d/50-cloudimg-settings.cfg
cat << EOF >> mountpoint/etc/default/grub.d/50-cloudimg-settings.cfg
${IMAGE_STR}
${IMAGE_STR}
# For Cloud Image compatability
# For Cloud Image compatability
GRUB_PRELOAD_MODULES="${grub_modules}"
GRUB_PRELOAD_MODULES="${GRUB_PRELOAD_MODULES:-$ grub_modules}"
EOF
EOF
chroot mountpoint grub-install "${loop_device}" \
chroot mountpoint grub-install "${loop_device}" \
--boot-directory=/boot \
--boot-directory=/boot \
--efi-directory=/boot/efi \
--efi-directory=/boot/efi \