Bug#1051292: grub-efi-amd64 post install script 10_linux.orig fails with locally compiled kernel

Julian Andres Klode julian.klode at canonical.com
Wed Sep 6 11:26:50 BST 2023


On Wed, Sep 06, 2023 at 10:16:19AM +0200, tv.debian wrote:
> Le 06/09/2023 à 09:21, Julian Andres Klode a écrit :
> > On Tue, Sep 05, 2023 at 10:49:00PM +0200, tv.debian wrote:
> > > Package: grub-efi-amd64
> > > Version: 2.12~rc1-7
> > > Severity: important
> > > 
> > > Dear Maintainer,
> > > 
> > > I think I have hit a corner case with latest grub-efi-amd64 upgrade in
> > > unstable. On my machine with a locally compiled kernel (installed along
> > > Debian kernel) the installation fails with error 127.
> > > Here is the output of the process:
> > > 
> > > "
> > > script -c "dpkg --configure -a" dpkg.log
> > > Script started, output log file is 'dpkg.log'.
> > > Setting up grub-efi-amd64 (2.12~rc1-7) ...
> > > Installing for x86_64-efi platform.
> > > Installation finished. No error reported.
> > > Generating grub configuration file ...
> > > Found background: /boot/grub/bush_viper.jpg
> > > Found background image: /boot/grub/bush_viper.jpg
> > > Found linux image: /boot/vmlinuz-6.5.1-deb64
> > > Found initrd image: /boot/initrd.img-6.5.1-deb64
> > > Found linux image: /boot/vmlinuz-6.4.0-4-amd64
> > > Found initrd image: /boot/initrd.img-6.4.0-4-amd64
> > > + prefix=/usr
> > > + exec_prefix=/usr
> > > + datarootdir=/usr/share
> > > + . /usr/share/grub/grub-mkconfig_lib
> > > + prefix=/usr
> > > + exec_prefix=/usr
> > > + datarootdir=/usr/share
> > > + datadir=/usr/share
> > > + bindir=/usr/bin
> > > + sbindir=/usr/sbin
> > > + [ x/usr/share/grub = x ]
> > > + test x = x
> > > + grub_probe=/usr/sbin/grub-probe
> > > + test x = x
> > > + grub_file=/usr/bin/grub-file
> > > + test x = x
> > > + grub_mkrelpath=/usr/bin/grub-mkrelpath
> > > + command -v gettext
> > > + :
> > > + grub_tab=
> > > + export TEXTDOMAIN=grub
> > > + export TEXTDOMAINDIR=/usr/share/locale
> > > + CLASS=--class gnu-linux --class gnu --class os
> > > + [ xDebian = x ]
> > > + [ Debian = Ubuntu ]
> > > + OS=Debian GNU/Linux
> > > + echo Debian
> > > + tr A-Z a-z
> > > + cut -d  -f1
> > > + CLASS=--class debian --class gnu-linux --class gnu --class os
> > > + [ x45b120bd-c7a5-4d00-9c5b-a72c48a663fc = x ]
> > > + [ x = xtrue ]
> > > + test -e /dev/disk/by-uuid/45b120bd-c7a5-4d00-9c5b-a72c48a663fc
> > > + uses_abstraction /dev/mapper/deb64crypt lvm
> > > + device=/dev/mapper/deb64crypt
> > > + old_ifs=
> > > 
> > > + IFS=
> > > 
> > > + /usr/sbin/grub-probe --device /dev/mapper/deb64crypt --target=abstraction
> > > + abstraction=cryptodisk
> > > luks2
> > > gcry_twofish
> > > gcry_twofish
> > > gcry_sha256
> > > gcry_sha256
> > > + test xcryptodisk = xlvm
> > > + test xluks2 = xlvm
> > > + test xgcry_twofish = xlvm
> > > + test xgcry_twofish = xlvm
> > > + test xgcry_sha256 = xlvm
> > > + test xgcry_sha256 = xlvm
> > > + IFS=
> > > 
> > > + return 1
> > > + LINUX_ROOT_DEVICE=UUID=45b120bd-c7a5-4d00-9c5b-a72c48a663fc
> > > + /usr/sbin/grub-probe --device /dev/mapper/deb64crypt --target=fs
> > > + GRUBFS=ext2
> > > + [ xext2 = x ]
> > > + title_correction_code=
> > > + uname -m
> > > + machine=x86_64
> > > + grub_file_is_not_garbage /boot/vmlinuz-6.4.0-4-amd64
> > > + test -f /boot/vmlinuz-6.4.0-4-amd64
> > > + return 0
> > > + echo -n /boot/vmlinuz-6.4.0-4-amd64
> > > + grub_file_is_not_garbage /boot/vmlinuz-6.5.1-deb64
> > > + test -f /boot/vmlinuz-6.5.1-deb64
> > > + return 0
> > > + echo -n /boot/vmlinuz-6.5.1-deb64
> > > + grub_file_is_not_garbage /vmlinuz-*
> > > + test -f /vmlinuz-*
> > > + return 1
> > > + grub_file_is_not_garbage /boot/kernel-*
> > > + test -f /boot/kernel-*
> > > + return 1
> > > + list=/boot/vmlinuz-6.4.0-4-amd64 /boot/vmlinuz-6.5.1-deb64
> > > + GENKERNEL_ARCH=x86_64
> > > + prepare_boot_cache=
> > > + prepare_root_cache=
> > > + boot_device_id=
> > > + title_correction_code=
> > > + submenu_indentation=
> > > + is_first_entry=true
> > > + [ x/boot/vmlinuz-6.4.0-4-amd64 /boot/vmlinuz-6.5.1-deb64  != x ]
> > > + version_find_latest /boot/vmlinuz-6.4.0-4-amd64 /boot/vmlinuz-6.5.1-deb64
> > > /etc/grub.d/10_linux.orig: 1: version_find_latest: not found
> > 
> > If you maintain a custom script like your 10_linux.orig, it's up to you
> > to adjust it to changes in the script library, sorry
> 
> Sorry for the confusion, the ".orig" is a local rename after I tried
> modifying the original. This script is actually shipped with grub-common it
> appears:
> 
> dpkg -S /etc/grub.d/10_linux
> grub-common: /etc/grub.d/10_linux
> 
> but it is blocking grub-efi-amd64 installation.

That script was obviously adjusted though, it was the very first bit
that got the new version sort algorithm and is what I'd refer you to
to patch your own one.

And yes, I think because you renamed it you did not get the new
version and now have an outdated .orig one.
-- 
debian developer - deb.li/jak | jak-linux.org - free software dev
ubuntu core developer                              i speak de, en



More information about the Pkg-grub-devel mailing list