FS#76062 - [grub] enters rescue mode on boot with grub >= 2:2.06.r261.g2f4430cc0-1

Attached to Project: Arch Linux
Opened by flooklab (flooklab) - Thursday, 29 September 2022, 18:46 GMT
Last edited by Christian Hesse (eworm) - Tuesday, 18 April 2023, 07:55 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Christian Hesse (eworm)
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:
Since grub version 2:2.06.r261.g2f4430cc0-1 I cannot boot with grub anymore, which enters rescue mode right after the encrypted /boot key slot gets unlocked:

error: symbol `grub_debug_malloc' not found.
Unknown command `normal'.
error: symbol `grub_debug_malloc' not found.
Entering rescue mode...
grub rescue> _

I install grub with:

# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ArchLinux
# grub-mkconfig -o /boot/grub/grub.cfg

Later versions are affected as well. Downgrading to 2:2.06-5 it works as expected again.

Having a look at the source code, it seems to stem from changes related to the 'MM_DEBUG' macro.
I thus compiled 2:2.06.r261.g2f4430cc0-1 without the '--enable-mm-debug' flag, which lets me successfully boot again.

Additional info:
* grub 2:2.06.r261.g2f4430cc0-1
* linux 5.19.12.arch1-1
* Booting in UEFI mode & using cryptodisk feature with LUKS-encrypted /boot
* Hardware: HP 350 G1 laptop

Steps to reproduce:
1. install grub >= 2:2.06.r261.g2f4430cc0-1
2. Generate grub config
3. Reboot
4. Unlock /boot slot
This task depends upon

Closed by  Christian Hesse (eworm)
Tuesday, 18 April 2023, 07:55 GMT
Reason for closing:  Fixed
Additional comments about closing:  grub 2:2.06.r499.ge67a551a4-1
Comment by Elias (eluas) - Saturday, 29 October 2022, 06:31 GMT
Hi, I also have the same issue using the same grub version: 2:2.06.r261.g2f4430cc0-1. I tried it using the latest grub version 2:2:06:r334.g340377470-1 and cannot boot because I got the following error message:
---------------------------------------
Loading Linux linux
452: out of range pointer: 0x73820020

Aborted. Press any key to exit.
---------------------------------------
Additional info:
* Hardware: Lenovo Thinkpad E14 Gen2

I was updating my system from linux 5.19 to linux 6.0.2 and all other packages.
Then, update it and receive a grub install warning from the linux and process to update it and
when I reboot the computer I receive the earlier mention error.

To solve it, I need to downgrade to 2:2.06.r261.g2f4430cc0-1 again to boot my arch, using the same configuration as you only without the bootloader-id parameter.

Comment by Pulec (pulec) - Saturday, 10 December 2022, 10:43 GMT
I can confirm, with 2:2.06.r403.g7259d55ff-1 and ignoring grub-install and grub-mkconfig message from August I got the same error: symbol `grub_debug_malloc' not found.

I installed it from system with:
# grub-install /dev/nvme0n1 --target=x86_64-efi --efi-directory=/boot/EFI/ --bootloader-id=GRUB

/dev/nvme0n1 beeing probably redundant here, as /boot/efi is on /dev/nvme0n1p2.

The only diff in new grub.cfg compared to previous one was larger timeout value and two ifs for if $grub_platform is efi and if fwsetup --is-supported ends with 0.

I saved my previous /boot/grub so I just reverted that and config as with new config it just booted to bios, but this issue it might just have been my BIOS not selecting proper boot device.
I don't use CSM btw.


Comment by flooklab (flooklab) - Friday, 14 April 2023, 18:10 GMT
Update: Just checked again with grub 2:2.06.r456.g65bc45963-1 and still does not work.

BTW, upstream bug report is here: https://savannah.gnu.org/bugs/?63607
Comment by Christian Hesse (eworm) - Friday, 14 April 2023, 21:18 GMT
Wondering why this option is there... It has been around since the initial import by Ronald in 2012 at least.

Perhaps we should try without, should be safe I guess.

Loading...