• Bug#1056764: grub-efi-amd64: can't boot with GRUB 2.12~rc1-12

    From Nicolas Haller@21:1/5 to Mate Kukri on Sun Dec 24 04:40:01 2023
    Hi Mate,

    Sorry for the delay, I was abroad and wasn't able to work on your questions.

    I tried to add the set debug=linux and the rmmod peimage by editing the
    command list Debian deploys and this is what I get:

    -------
    Booting a command line

    error: no such module <= I guess that's about the rmmod peimage
    Loading Linux 6.5.0-4-and64 ...
    loader/efi/linux.c:101:linux: UEFI stub kernel:
    loader/efi/linux.c:102:linux: PE/COFF header @ 00000082 loader/efi/linux.c:128:linux: LoadFile2 initrd loading enabled loader/efi/linux.c:495:linux: kernel file size: 9120128 loader/efi/linux.c:497:linux: kernel numpages: 2227 loader/efi/linux.c:514:linux: kernel @ 0x72a51000
    Loading initial ramdisk ...
    loader/efi/linux.c:416:linux: Using LoadFile2 initrd loading protocol

    Press any key to continue...
    -------

    And that's it.
    Let me know if you need me to do more tests.

    Thanks

    --
    Nicolas

    On 2023-11-26 04:01, Mate Kukri wrote:
    Hi Nicolas,

    The mechanism used to load the kernel has changed from GRUB 2.06 to
    GRUB 2.12, it is possible that there are unfortunate bugs in either in
    GRUB and/or your firmware that is stopping the new mechanism from
    loading the kernel.

    Would you be able to attempt these two things to gather some information?

    - Run `set debug=linux`, then `linux
    PATH_TO_KERNEL_THAT_FAILS_TO_BOOT`. The output of the Linux command
    should contain extra information with the debug mode enabled.

    - (Make sure to have Secure Boot disabled), then run `rmmod peimage`
    at the GRUB console, and then try running your boot entry (or
    alternatively edit the boot entry with E and add that command on top).

    Mate Kukri

    On Sat, Nov 25, 2023 at 10:45 PM Nicolas Haller <nicolas@boiteameuh.org> wrote:

    Package: grub-efi-amd64
    Version: 2.06-13
    Severity: critical
    Justification: breaks the whole system

    Dear Maintainer,

    My old laptop (Lenovo 11e) runs Sid and all was right before I updated
    it the other day (I don't do that very often). After that upgrade, GRUB
    wasn't able to load any kernel with the pretty much generic error
    "Error: can't load image". The version of GRUB was 2.12~rc1-12.
    If I try to boot again, GRUB tells me that I need to load the image
    first (I guess it somehow ignores the linux command and sends that when
    trying to load the initrd).

    I tried to reinstall grub, grub-install /dev/sda, update-grub, reinstall
    the kernel, update-initramfs from the rescue mode but nothing worked.
    The "file" command was able to read the vmlinuz file and none seemed
    truncated. The system has one partition with both / and /boot and isn't
    running out of space.
    I did not see any error message during those operation besides GRUB
    saying it wasn't able to update EFI parameters.

    I don't know if there is a way to get more logs or error message during
    the boot explaining why it wasn't able to load the image.

    I tried to get the last version of GRUB from Bookworm, that is
    2.06-13, and now I'm able to boot. The kernel version did not change,
    the only change I did is to downgrade GRUB (and dependencies apt was
    asking for).

    I'm not sure which GRUB package I should use for reporting so I took the
    one that seems the most specific to my system. Apologies if it is not
    correct.

    Let me know if you need more info.

    Thanks,

    --
    Nicolas Haller

    *** Reporter, please consider answering these questions, where appropriate ***

    * What led up to the situation?
    * What exactly did you do (or not do) that was effective (or
    ineffective)?
    * What was the outcome of this action?
    * What outcome did you expect instead?

    *** End of the template - remove these template lines ***


    -- Package-specific info:

    *********************** BEGIN /proc/mounts
    /dev/sda2 / ext4 rw,relatime,errors=remount-ro 0 0
    /dev/sda1 /boot/efi vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 0
    *********************** END /proc/mounts

    *********************** BEGIN /boot/grub/grub.cfg
    #
    # DO NOT EDIT THIS FILE
    #
    # It is automatically generated by grub-mkconfig using templates
    # from /etc/grub.d and settings from /etc/default/grub
    #

    ### BEGIN /etc/grub.d/00_header ###
    if [ -s $prefix/grubenv ]; then
    set have_grubenv=true
    load_env
    fi
    if [ "${next_entry}" ] ; then
    set default="${next_entry}"
    set next_entry=
    save_env next_entry
    set boot_once=true
    else
    set default="0"
    fi

    if [ x"${feature_menuentry_id}" = xy ]; then
    menuentry_id_option="--id"
    else
    menuentry_id_option=""
    fi

    export menuentry_id_option

    if [ "${prev_saved_entry}" ]; then
    set saved_entry="${prev_saved_entry}"
    save_env saved_entry
    set prev_saved_entry=
    save_env prev_saved_entry
    set boot_once=true
    fi

    function savedefault {
    if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
    fi
    }
    function load_video {
    if [ x$feature_all_video_module = xy ]; then
    insmod all_video
    else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
    fi
    }

    if [ x$feature_default_font_path = xy ] ; then
    font=unicode
    else
    insmod part_gpt
    insmod ext2
    set root='hd0,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7d9badd3-db30-4b48-901f-cedca15e9902
    else
    search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
    fi
    font="/usr/share/grub/unicode.pf2"
    fi

    if loadfont $font ; then
    set gfxmode=auto
    load_video
    insmod gfxterm
    set locale_dir=$prefix/locale
    set lang=C
    insmod gettext
    fi
    terminal_output gfxterm
    if [ "${recordfail}" = 1 ] ; then
    set timeout=30
    else
    if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=menu
    set timeout=5
    # Fallback normal timeout code in case the timeout_style feature is
    # unavailable.
    else
    set timeout=5
    fi
    fi
    ### END /etc/grub.d/00_header ###

    ### BEGIN /etc/grub.d/05_debian_theme ###
    insmod part_gpt
    insmod ext2
    set root='hd0,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7d9badd3-db30-4b48-901f-cedca15e9902
    else
    search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
    fi
    insmod png
    if background_image /usr/share/desktop-base/emerald-theme/grub/grub-16x9.png; then
    set color_normal=white/black
    set color_highlight=black/white
    else
    set menu_color_normal=cyan/blue
    set menu_color_highlight=white/blue
    fi
    ### END /etc/grub.d/05_debian_theme ###

    ### BEGIN /etc/grub.d/10_linux ###
    function gfxmode {
    set gfxpayload="${1}"
    }
    set linux_gfx_mode=
    export linux_gfx_mode
    menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-7d9badd3-db30-4b48-901f-cedca15e9902' {
    load_video
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi >> insmod part_gpt
    insmod ext2
    set root='hd0,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7d9badd3-db30-4b48-901f-cedca15e9902
    else
    search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
    fi
    echo 'Loading Linux 6.5.0-4-amd64 ...'
    linux /boot/vmlinuz-6.5.0-4-amd64 root=UUID=7d9badd3-db30-4b48-901f-cedca15e9902 ro quiet psmouse.synaptics_intertouch=0
    echo 'Loading initial ramdisk ...'
    initrd /boot/initrd.img-6.5.0-4-amd64
    }
    submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-7d9badd3-db30-4b48-901f-cedca15e9902' {
    menuentry 'Debian GNU/Linux, with Linux 6.5.0-4-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.5.0-4-amd64-advanced-7d9badd3-db30-4b48-901f-cedca15e9902' {
    load_video
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_gpt
    insmod ext2
    set root='hd0,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7d9badd3-db30-4b48-901f-cedca15e9902
    else
    search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
    fi
    echo 'Loading Linux 6.5.0-4-amd64 ...'
    linux /boot/vmlinuz-6.5.0-4-amd64 root=UUID=7d9badd3-db30-4b48-901f-cedca15e9902 ro quiet psmouse.synaptics_intertouch=0
    echo 'Loading initial ramdisk ...'
    initrd /boot/initrd.img-6.5.0-4-amd64
    }
    menuentry 'Debian GNU/Linux, with Linux 6.5.0-4-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.5.0-4-amd64-recovery-7d9badd3-db30-4b48-901f-cedca15e9902' {
    load_video
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_gpt
    insmod ext2
    set root='hd0,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7d9badd3-db30-4b48-901f-cedca15e9902
    else
    search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
    fi
    echo 'Loading Linux 6.5.0-4-amd64 ...'
    linux /boot/vmlinuz-6.5.0-4-amd64 root=UUID=7d9badd3-db30-4b48-901f-cedca15e9902 ro single
    echo 'Loading initial ramdisk ...'
    initrd /boot/initrd.img-6.5.0-4-amd64
    }
    menuentry 'Debian GNU/Linux, with Linux 6.4.0-3-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.4.0-3-amd64-advanced-7d9badd3-db30-4b48-901f-cedca15e9902' {
    load_video
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_gpt
    insmod ext2
    set root='hd0,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7d9badd3-db30-4b48-901f-cedca15e9902
    else
    search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
    fi
    echo 'Loading Linux 6.4.0-3-amd64 ...'
    linux /boot/vmlinuz-6.4.0-3-amd64 root=UUID=7d9badd3-db30-4b48-901f-cedca15e9902 ro quiet psmouse.synaptics_intertouch=0
    echo 'Loading initial ramdisk ...'
    initrd /boot/initrd.img-6.4.0-3-amd64
    }
    menuentry 'Debian GNU/Linux, with Linux 6.4.0-3-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.4.0-3-amd64-recovery-7d9badd3-db30-4b48-901f-cedca15e9902' {
    load_video
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_gpt
    insmod ext2
    set root='hd0,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7d9badd3-db30-4b48-901f-cedca15e9902
    else
    search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
    fi
    echo 'Loading Linux 6.4.0-3-amd64 ...'
    linux /boot/vmlinuz-6.4.0-3-amd64 root=UUID=7d9badd3-db30-4b48-901f-cedca15e9902 ro single
    echo 'Loading initial ramdisk ...'
    initrd /boot/initrd.img-6.4.0-3-amd64
    }
    menuentry 'Debian GNU/Linux, with Linux 6.1.0-10-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.1.0-10-amd64-advanced-7d9badd3-db30-4b48-901f-cedca15e9902' {
    load_video
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_gpt
    insmod ext2
    set root='hd0,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7d9badd3-db30-4b48-901f-cedca15e9902
    else
    search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
    fi
    echo 'Loading Linux 6.1.0-10-amd64 ...'
    linux /boot/vmlinuz-6.1.0-10-amd64 root=UUID=7d9badd3-db30-4b48-901f-cedca15e9902 ro quiet psmouse.synaptics_intertouch=0
    echo 'Loading initial ramdisk ...'
    initrd /boot/initrd.img-6.1.0-10-amd64
    }
    menuentry 'Debian GNU/Linux, with Linux 6.1.0-10-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.1.0-10-amd64-recovery-7d9badd3-db30-4b48-901f-cedca15e9902' {
    load_video
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_gpt
    insmod ext2
    set root='hd0,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7d9badd3-db30-4b48-901f-cedca15e9902
    else
    search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
    fi
    echo 'Loading Linux 6.1.0-10-amd64 ...'
    linux /boot/vmlinuz-6.1.0-10-amd64 root=UUID=7d9badd3-db30-4b48-901f-cedca15e9902 ro single
    echo 'Loading initial ramdisk ...'
    initrd /boot/initrd.img-6.1.0-10-amd64
    }
    }

    ### END /etc/grub.d/10_linux ###

    ### BEGIN /etc/grub.d/20_linux_xen ###

    ### END /etc/grub.d/20_linux_xen ###

    ### BEGIN /etc/grub.d/25_bli ###
    if [ "$grub_platform" = "efi" ]; then
    insmod bli
    fi
    ### END /etc/grub.d/25_bli ###

    ### BEGIN /etc/grub.d/30_os-prober ###
    ### END /etc/grub.d/30_os-prober ###

    ### BEGIN /etc/grub.d/30_uefi-firmware ###
    menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
    fwsetup
    }
    ### END /etc/grub.d/30_uefi-firmware ###

    ### BEGIN /etc/grub.d/40_custom ###
    # This file provides an easy way to add custom menu entries. Simply type the
    # menu entries you want to add after this comment. Be careful not to change >> # the 'exec tail' line above.
    ### END /etc/grub.d/40_custom ###

    ### BEGIN /etc/grub.d/41_custom ###
    if [ -f ${config_directory}/custom.cfg ]; then
    source ${config_directory}/custom.cfg
    elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
    source $prefix/custom.cfg
    fi
    ### END /etc/grub.d/41_custom ###
    *********************** END /boot/grub/grub.cfg

    *********************** BEGIN /proc/mdstat
    Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
    unused devices: <none>
    *********************** END /proc/mdstat

    *********************** BEGIN LVM
    *********************** END LVM

    *********************** BEGIN /dev/disk/by-id
    total 0
    lrwxrwxrwx 1 root root 9 Nov 25 13:11 ata-SAMSUNG_MZ7LN128HCHP-000L1_S1ZMNXAGB59830 -> ../../sda
    lrwxrwxrwx 1 root root 10 Nov 25 13:11 ata-SAMSUNG_MZ7LN128HCHP-000L1_S1ZMNXAGB59830-part1 -> ../../sda1
    lrwxrwxrwx 1 root root 10 Nov 25 13:11 ata-SAMSUNG_MZ7LN128HCHP-000L1_S1ZMNXAGB59830-part2 -> ../../sda2
    lrwxrwxrwx 1 root root 10 Nov 25 13:11 ata-SAMSUNG_MZ7LN128HCHP-000L1_S1ZMNXAGB59830-part3 -> ../../sda3
    lrwxrwxrwx 1 root root 10 Nov 25 13:11 ata-SAMSUNG_MZ7LN128HCHP-000L1_S1ZMNXAGB59830-part4 -> ../../sda4
    lrwxrwxrwx 1 root root 9 Nov 25 13:11 usb-SanDisk_Ultra_4C530001270212105552-0:0 -> ../../sdb
    lrwxrwxrwx 1 root root 10 Nov 25 13:11 usb-SanDisk_Ultra_4C530001270212105552-0:0-part1 -> ../../sdb1
    lrwxrwxrwx 1 root root 10 Nov 25 13:11 usb-SanDisk_Ultra_4C530001270212105552-0:0-part2 -> ../../sdb2
    lrwxrwxrwx 1 root root 9 Nov 25 13:11 wwn-0x5002538d00000000 -> ../../sda >> lrwxrwxrwx 1 root root 10 Nov 25 13:11 wwn-0x5002538d00000000-part1 -> ../../sda1
    lrwxrwxrwx 1 root root 10 Nov 25 13:11 wwn-0x5002538d00000000-part2 -> ../../sda2
    lrwxrwxrwx 1 root root 10 Nov 25 13:11 wwn-0x5002538d00000000-part3 -> ../../sda3
    lrwxrwxrwx 1 root root 10 Nov 25 13:11 wwn-0x5002538d00000000-part4 -> ../../sda4
    *********************** END /dev/disk/by-id

    *********************** BEGIN /dev/disk/by-uuid
    total 0
    lrwxrwxrwx 1 root root 10 Nov 25 2023 2023-10-07-10-32-09-00 -> ../../sdb1 >> lrwxrwxrwx 1 root root 10 Nov 25 13:11 3c0e00d0-2f4f-4bd4-93ab-89c317415f1c -> ../../sda3
    lrwxrwxrwx 1 root root 10 Nov 25 13:11 7d9badd3-db30-4b48-901f-cedca15e9902 -> ../../sda2
    lrwxrwxrwx 1 root root 10 Nov 25 13:11 8A8B-ABC9 -> ../../sda1
    lrwxrwxrwx 1 root root 10 Nov 25 13:11 CC5C8EC95C8EADB0 -> ../../sda4
    lrwxrwxrwx 1 root root 10 Nov 25 13:11 DEB0-0001 -> ../../sdb2
    *********************** END /dev/disk/by-uuid

    -- System Information:
    Debian Release: trixie/sid
    APT prefers stable
    APT policy: (500, 'stable')
    Architecture: amd64 (x86_64)
    Foreign Architectures: i386

    Kernel: Linux 6.5.0-4-amd64 (SMP w/4 CPU threads; PREEMPT)
    Kernel taint flags: TAINT_UNSIGNED_MODULE
    Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8), LANGUAGE=en_CA:en
    Shell: /bin/sh linked to /usr/bin/dash
    Init: systemd (via /run/systemd/system)
    LSM: AppArmor: enabled

    Versions of packages grub-efi-amd64 depends on:
    ii debconf [debconf-2.0] 1.5.82
    ii grub-common 2.06-13
    ii grub-efi-amd64-bin 2.06-13
    ii grub2-common 2.06-13
    ii ucf 3.0043+nmu1

    grub-efi-amd64 recommends no packages.

    grub-efi-amd64 suggests no packages.

    -- debconf information:
    grub2/kfreebsd_cmdline:
    * grub2/update_nvram: true
    * grub2/enable_os_prober: false
    grub2/kfreebsd_cmdline_default: quiet
    * grub2/linux_cmdline_default: quiet psmouse.synaptics_intertouch=0
    * grub2/linux_cmdline:
    * grub2/force_efi_extra_removable: true
    grub2/device_map_regenerated:

    _______________________________________________
    Pkg-grub-devel mailing list
    Pkg-grub-devel@alioth-lists.debian.net
    https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-grub-devel


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)