From 1184af06b0b971b5701d8eb3ad9bcd4f5a50fc57 Mon Sep 17 00:00:00 2001 From: John Chittum Date: Thu, 7 Sep 2023 13:52:38 -0500 Subject: [PATCH] fix: GRUB_DISTRIBUTION for buildd LP: #2034253 Grub is found to use lsb_release or default to Debian. buildd does not have lsb_release, so Debian was the GRUB_DISTRIBUTION. that ends up with issues with the EFI path --- .../buildd/hooks/02-disk-image-uefi.binary | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/live-build/buildd/hooks/02-disk-image-uefi.binary b/live-build/buildd/hooks/02-disk-image-uefi.binary index d358596a..55bc73a9 100755 --- a/live-build/buildd/hooks/02-disk-image-uefi.binary +++ b/live-build/buildd/hooks/02-disk-image-uefi.binary @@ -97,7 +97,21 @@ install_grub() { # not called here as it calls snap-seed-parse, resulting in duplicate # snap listings) chroot mountpoint dpkg-query -W > binary/boot/filesystem.packages - + # LP: 2034253 + # awaiting grub updates, we need to set the Distributor _before_ running grub-install + # so that the EFI bits are in the correct place + # buildd doesn't have `lsb_release` + # so adding GRUB_DISTRIBUTOR, hardcoded to Ubuntu, for buildd for now + cat > mountpoint/etc/default/grub.d/50-builddimg-settings.cfg << EOF +GRUB_DEFAULT=0 +GRUB_HIDDEN_TIMEOUT=0.1 +GRUB_HIDDEN_TIMEOUT_QUIET=true +GRUB_TIMEOUT=0.1 +GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0" +GRUB_RECORDFAIL_TIMEOUT=0 +GRUB_TERMINAL=console +GRUB_DISTRIBUTOR=Ubuntu +EOF chroot mountpoint grub-install "${loop_device}" \ --boot-directory=/boot \ --efi-directory=/boot/efi \ @@ -105,22 +119,13 @@ install_grub() { --uefi-secure-boot \ --no-nvram + if [ "$ARCH" = "amd64" ]; then # Install the BIOS/GPT bits. Since GPT boots from the ESP partition, # it means that we just run this simple command and we're done chroot mountpoint grub-install --target=i386-pc "${loop_device}" fi - cat > mountpoint/etc/default/grub.d/50-builddimg-settings.cfg << EOF -GRUB_DEFAULT=0 -GRUB_HIDDEN_TIMEOUT=0.1 -GRUB_HIDDEN_TIMEOUT_QUIET=true -GRUB_TIMEOUT=0.1 -GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0" -GRUB_RECORDFAIL_TIMEOUT=0 -GRUB_TERMINAL=console -EOF - divert_grub mountpoint chroot mountpoint update-grub replace_grub_root_with_label mountpoint