Bug#1051543: grub2: Fails to load normal.mod from a XFS v5 parition.
Sebastian Andrzej Siewior
sebastian at breakpoint.cc
Sat Sep 9 14:41:55 BST 2023
Package: grub2
Version: 2.12~rc1-9
Severity: Serious
control: forwarded -1 https://savannah.gnu.org/bugs/?64376
I have a single XFS partition which contains the root filesystem and the
boot partition. Since the recent upgrade to the 2.12 series I can't boot
anymore because grub complains that it can't find normal.mod and remains in
the rescue shell.
The ls command kind of works. A ls in /boot/grub/i386-pc/ (where the
normal.mod should be) shows a few files and then abort with the error
message: 'error: invalid XFS directory entry'.
I figured out that if I remove that directory and create a new one only
with normal.mod then it was able to find it and complained about onother file.
I then repeated the game until I had more files… The invocation of grub-install
copied all files and broke it again.
I then looked at various places and stumbled uppon
https://savannah.gnu.org/bugs/?64376 and this indeed matches what I see.
I rebuilt the grub2 package with commit ef7850c757fb3 ("fs/xfs: Fix
issues found while fuzzing the XFS filesystem") reverted, installed from
a rescue system and voila it boots again.
My xfs filesystem is a normal v5 as in:
| # xfs_info /dev/sdb1
| meta-data=/dev/sdb1 isize=512 agcount=4, agsize=655360 blks
| = sectsz=512 attr=2, projid32bit=1
| = crc=1 finobt=1, sparse=1, rmapbt=1
| = reflink=1 bigtime=0 inobtcount=0 nrext64=0
| data = bsize=4096 blocks=2621440, imaxpct=25
| = sunit=0 swidth=0 blks
| naming =version 2 bsize=4096 ascii-ci=0, ftype=1
| log =internal log bsize=4096 blocks=3693, version=2
| = sectsz=512 sunit=0 blks, lazy-count=1
| realtime =none extsz=4096 blocks=0, rtextents=0
Sebastian
More information about the Pkg-grub-devel
mailing list