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