From b2fba90356cdd3dd63894b044b0549a31a7a2409 Mon Sep 17 00:00:00 2001 From: Steve Langasek Date: Thu, 5 Oct 2017 16:02:26 +0200 Subject: [PATCH] Fix the force-partuuid handling to create the file under /etc/default/grub.d/ with a .cfg extension as grub expects; it's unclear how this ever worked without. --- debian/changelog | 3 +++ live-build/ubuntu-cpc/functions | 5 +++-- live-build/ubuntu-cpc/hooks/032-disk-image.binary | 2 +- live-build/ubuntu-cpc/hooks/033-disk-image-uefi.binary | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index 4dbdcd37..821be91a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -34,6 +34,9 @@ livecd-rootfs (2.408.19) xenial; urgency=medium bug that should be fixed in tzdata. * Factor out grub-related diversions and use them consistently, so we don't end up with wrong os-probe output in our grub.cfg. + * Fix the force-partuuid handling to create the file under + /etc/default/grub.d/ with a .cfg extension as grub expects; it's unclear + how this ever worked without. [ Balint Reczey ] * Mount using --make-rslave to ensure safe unmounts for rbind mounts diff --git a/live-build/ubuntu-cpc/functions b/live-build/ubuntu-cpc/functions index 897fe905..bc7d4a56 100644 --- a/live-build/ubuntu-cpc/functions +++ b/live-build/ubuntu-cpc/functions @@ -274,8 +274,9 @@ replace_grub_root_with_label() { CHROOT_ROOT="$1" # If boot by partuuid has been requested, don't override. - if [ -f $CHROOT_ROOT/etc/default/grub.d/40-partuuid ] && \ - grep -q ^GRUB_FORCE_PARTUUID= $CHROOT_ROOT/etc/default/grub.d/40-partuuid; then + if [ -f $CHROOT_ROOT/etc/default/grub.d/40-force-partuuid.cfg ] && \ + grep -q ^GRUB_FORCE_PARTUUID= $CHROOT_ROOT/etc/default/grub.d/40-force-partuuid.cfg + then return 0 fi sed -i -e "s,root=[^ ]\+,root=LABEL=cloudimg-rootfs," \ diff --git a/live-build/ubuntu-cpc/hooks/032-disk-image.binary b/live-build/ubuntu-cpc/hooks/032-disk-image.binary index 85fb1281..3ef98106 100755 --- a/live-build/ubuntu-cpc/hooks/032-disk-image.binary +++ b/live-build/ubuntu-cpc/hooks/032-disk-image.binary @@ -119,7 +119,7 @@ if [ "${should_install_grub}" -eq 1 ]; then if [ "${SUBPROJECT:-}" = minimized ] && [ -n "$partuuid" ]; then echo "partuuid found for root device; forcing it in Grub" mkdir -p mountpoint/etc/default/grub.d - echo "GRUB_FORCE_PARTUUID=$partuuid" >> mountpoint/etc/default/grub.d/40-force-partuuid + echo "GRUB_FORCE_PARTUUID=$partuuid" >> mountpoint/etc/default/grub.d/40-force-partuuid.cfg divert_grub mountpoint chroot mountpoint update-grub undivert_grub mountpoint diff --git a/live-build/ubuntu-cpc/hooks/033-disk-image-uefi.binary b/live-build/ubuntu-cpc/hooks/033-disk-image-uefi.binary index b303e6cd..da1d18dc 100755 --- a/live-build/ubuntu-cpc/hooks/033-disk-image-uefi.binary +++ b/live-build/ubuntu-cpc/hooks/033-disk-image-uefi.binary @@ -66,7 +66,7 @@ install_grub() { # and 033-disk-image-uefi.binary. We want to fix this to not # have initramfs-tools installed at all on these images. echo "partuuid found for root device; omitting initrd" - echo "GRUB_FORCE_PARTUUID=$partuuid" >> mountpoint/etc/default/grub.d/40-force-partuuid + echo "GRUB_FORCE_PARTUUID=$partuuid" >> mountpoint/etc/default/grub.d/40-force-partuuid.cfg fi chroot mountpoint apt-get -y update