Bug 1216486 - xfsprogs v6.5.0: grub2-install: error: ../grub-core/kern/fs.c:123:unknown filesystem
Summary: xfsprogs v6.5.0: grub2-install: error: ../grub-core/kern/fs.c:123:unknown fi...
Status: RESOLVED FIXED
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Kernel:Filesystems (show other bugs)
Version: Current
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Anthony Iliopoulos
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-10-23 09:07 UTC by Ana Guerrero
Modified: 2023-12-05 21:22 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
kiwi-templates-Minimal:Cloud (635.42 KB, text/plain)
2023-10-23 09:07 UTC, Ana Guerrero
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ana Guerrero 2023-10-23 09:07:19 UTC
Created attachment 870392 [details]
kiwi-templates-Minimal:Cloud

New xfsprogs v6.5.0 triggered some problems when building the image kiwi-templates-Minimal:Cloud

---

   43s] [ DEBUG   ]: 06:04:14 | custom arguments for bootloader installation {'boot_device': '/dev/loop0p3', 'root_device': '/dev/loop0p3', 'write_device': '/dev/loop0p3', 'firmware': <kiwi.firmware.FirmWare object at 0x7fac5d21df90>, 'target_removable': None, 'install_options': [], 'shim_options': [], 'efi_device': '/dev/loop0p2'}
[   43s] [ INFO    ]: 06:04:14 | Installing grub2 on disk /dev/loop0
[   43s] [ DEBUG   ]: 06:04:14 | EXEC: [mountpoint -q /var/tmp/kiwi_mount_manager.banhn0uz]
[   43s] [ DEBUG   ]: 06:04:14 | EXEC: [mount /dev/loop0p3 /var/tmp/kiwi_mount_manager.banhn0uz]
[   43s] [ DEBUG   ]: 06:04:14 | EXEC: [mountpoint -q /var/tmp/kiwi_mount_manager.banhn0uz/boot/efi]
[   43s] [ DEBUG   ]: 06:04:14 | EXEC: [mount /dev/loop0p2 /var/tmp/kiwi_mount_manager.banhn0uz/boot/efi]
[   43s] [ DEBUG   ]: 06:04:14 | EXEC: [mountpoint -q /var/tmp/kiwi_mount_manager.banhn0uz/dev]
[   43s] [ DEBUG   ]: 06:04:14 | EXEC: [mount -n --bind /dev /var/tmp/kiwi_mount_manager.banhn0uz/dev]
[   43s] [ DEBUG   ]: 06:04:14 | EXEC: [mountpoint -q /var/tmp/kiwi_mount_manager.banhn0uz/proc]
[   43s] [ DEBUG   ]: 06:04:14 | EXEC: [mount -n --bind /proc /var/tmp/kiwi_mount_manager.banhn0uz/proc]
[   43s] [ DEBUG   ]: 06:04:14 | EXEC: [mountpoint -q /var/tmp/kiwi_mount_manager.banhn0uz/sys]
[   43s] [ DEBUG   ]: 06:04:14 | EXEC: [mount -n --bind /sys /var/tmp/kiwi_mount_manager.banhn0uz/sys]
[   43s] [ DEBUG   ]: 06:04:14 | Searching grub file: i386-pc
[   43s] [ DEBUG   ]: 06:04:14 | --> /var/tmp/kiwi_mount_manager.banhn0uz/usr/share/grub2/i386-pc
[   43s] [ DEBUG   ]: 06:04:14 | --> Found in: /var/tmp/kiwi_mount_manager.banhn0uz/usr/share/grub2/i386-pc
[   43s] [ DEBUG   ]: 06:04:14 | EXEC: [chroot /var/tmp/kiwi_mount_manager.banhn0uz grub2-install --skip-fs-probe --directory /usr/share/grub2/i386-pc --boot-directory /boot --target i386-pc --modules ext2 iso9660 linux echo configfile search_label search_fs_file search search_fs_uuid ls normal gzio png fat gettext font minicmd gfxterm gfxmenu all_video xfs btrfs squash4 lvm luks gcry_rijndael gcry_sha256 gcry_sha512 crypto cryptodisk test true loadenv multiboot part_gpt part_msdos biosdisk vga vbe chain boot /dev/loop0]
[   43s] [ DEBUG   ]: 06:04:14 | EXEC: Failed with stderr: Installing for i386-pc platform.
[   43s] grub2-install: error: ../grub-core/kern/fs.c:123:unknown filesystem.
[   43s] , stdout: (no output on stdout)
[   43s] [ ERROR   ]: 06:04:14 | KiwiCommandError: chroot: stderr: Installing for i386-pc platform.
[   43s] grub2-install: error: ../grub-core/kern/fs.c:123:unknown filesystem.
[   43s] , stdout: (no output on stdout)
[   43s] [ INFO    ]: 06:04:14 | Cleaning up BootLoaderInstallGrub2 instance

---

Attached is the full log.
Comment 1 Anthony Iliopoulos 2023-10-23 11:40:29 UTC
Thanks for the report, this is due to xfsprogs commit e5b18d7d1d96 ("mkfs: enable large extent counts by default"), which is not recognizable by the grub fs code.

While I cannot reproduce exactly the grub2-install error, grub-mount does indeed complain when an xfs partition has the nrext64 feature switched on:

# mkfs.xfs -V
mkfs.xfs version 6.5.0

# mkfs.xfs /dev/pmem0 -f
meta-data=/dev/pmem0             isize=512    agcount=4, agsize=262144 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=1
         =                       reflink=1    bigtime=1 inobtcount=1 nrext64=1
data     =                       bsize=4096   blocks=1048576, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=16384, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

# ./grub-mount --version
./grub-mount (GRUB) 2.12~rc1

# ./grub-mount /dev/pmem0 /mnt/tmp/
error: unknown filesystem.

# ./grub-mount --debug=all /dev/pmem0 /mnt/tmp/ 2>&1|grep -i xfs
grub-core/kern/fs.c:56:fs: Detecting xfs...
grub-core/fs/xfs.c:969:xfs: Reading sb
grub-core/fs/xfs.c:277:xfs: Validating superblock
grub-core/fs/xfs.c:289:xfs: XFS v5 superblock detected
grub-core/kern/fs.c:79:fs: error: XFS filesystem has unsupported incompatible features.
grub-core/kern/fs.c:80:fs: xfs detection failed.

# mkfs.xfs -f -i nrext64=0 /dev/pmem0

# ./grub-mount /dev/pmem0 /mnt/tmp/

# findmnt -T /mnt/tmp 
TARGET   SOURCE     FSTYPE          OPTIONS
/mnt/tmp grub-mount fuse.grub-mount rw,nosuid,nodev,relatime,user_id=0,group_id=0
Comment 2 Anthony Iliopoulos 2023-10-23 11:45:41 UTC
let's put the xfsprogs on hold for the moment, we'll either have to disable the nrext64 feat by default on mkfs, or submit a patch to grub to enable support for this feat.
Comment 3 Anthony Iliopoulos 2023-12-05 21:22:14 UTC
I'm resolving this as I've implemented an upstream fix for grub (merged), which has been already backported to the grub2 factory package.

I'll resubmit xfsprogs for merging.