FS#79857 - [grub] 2:2.12rc1-3 can fail in presence of XFS
Attached to Project:
Arch Linux
Opened by Steven McFeely (smcfeely) - Thursday, 05 October 2023, 05:17 GMT
Last edited by Tobias Powalowski (tpowa) - Friday, 06 October 2023, 19:01 GMT
Opened by Steven McFeely (smcfeely) - Thursday, 05 October 2023, 05:17 GMT
Last edited by Tobias Powalowski (tpowa) - Friday, 06 October 2023, 19:01 GMT
|
Details
Description:
After upgrading from grub 2:2.12rc1-1 to grub 2:2.12rc1-3, grub fails to load with the error message: error: file '/grub/x86_64-efi/normal.mod' not found Entering rescue mode... grub rescue> Additional info: * I can confirm this happens with grub version 2:2.12rc1-3. I have not tried to use 2:2.12rc1-2. I can also confirm this issue occurs on both my laptop and desktop. * Using an Arch Linux installation ISO I had on hand, I was able to remount everything and confirm that '/boot/grub/x86_64-efi/normal.mod' did exist on both systems. Therefore, the issue is not that the files do not exist. * While unlikely, it is possible this is due to the following upstream bug: https://savannah.gnu.org/bugs/?64514 This bug was the only one I saw dated after the release of 2:2.12rc1-1 that mentioned normal.mod. That said, the error messages I received were about failing to find normal.mod, not a licensing issue. * The attached file, 'grub', is the grub config file for the desktop while 'grub (system 2)' is for the laptop. * For reference, on the desktop /boot is encrypted with luks1. The error message occurs after the decryption of /boot has completed. The laptop does not have an encrypted /boot. Steps to reproduce: 1) Upgrade to grub 2:2.12rc1-3 using sudo pacman -Syu 2) As per the pacman output, reinstall grub and then regenerate the config files. a) sudo grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB b) sudo grub-mkconfig -o /boot/grub/grub.cfg 3) reboot Note: For both my laptop and desktop esp is /efi |
This task depends upon
Closed by Tobias Powalowski (tpowa)
Friday, 06 October 2023, 19:01 GMT
Reason for closing: Fixed
Additional comments about closing: 2.12rc1-4
Friday, 06 October 2023, 19:01 GMT
Reason for closing: Fixed
Additional comments about closing: 2.12rc1-4
> sudo grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB
Did you really run it exactly like that? i.e. forgot to substitute "esp" with the correct mount point?
This is apparently caused by more stricter check that were recently added to grub. It looks like the fix for it is on the way, but it's still going through development/reviews: https://lists.gnu.org/archive/html/grub-devel/2023-09/msg00110.html
I don't think the severity is Low in this case. The system becomes unbootable and there is no way to fix it from rescue shell. The only option is to boot from some Live image and reinstall older version of grub or move /boot onto different filesystem.
[1] https://git.savannah.gnu.org/cgit/grub.git/commit/?id=ef7850c757fb3dd2462a512cfa0ff19c89fcc0b1
Fortunately I have another grub installed from another Arch's installation on a Btrfs partition and I could boot my main system thanks to the fact that I had already edited the grub.cfg previously to allow me to launch my main system kernel.
In short, and as others have commented before, this bug only seems to affect XFS users.
> sudo grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
I can also confirm that all of my partitions, except the EFI partition, use XFS.
https://pkgbuild.com/~tpowa/grub-xfs-test/
It contains this fix:
https://lists.gnu.org/archive/html/grub-devel/2023-09/msg00113.html
[1] https://lists.gnu.org/archive/html/grub-devel/2023-09/msg00113.html
[2] https://git.savannah.gnu.org/cgit/grub.git/commit/?id=ef7850c757fb3dd2462a512cfa0ff19c89fcc0b1
[3] https://lists.gnu.org/archive/html/grub-devel/2023-09/msg00110.html
https://lists.gnu.org/archive/html/grub-devel/2023-09/msg00110.html
https://lists.gnu.org/archive/html/grub-devel/2023-09/msg00113.html
built a new one. Please try -5 package:
https://pkgbuild.com/~tpowa/grub-xfs-test/