openzfs-docs
openzfs-docs copied to clipboard
openSUSE Root on ZFS: UEFI + grub problems
At least openSUSE Tumbleweed Root on ZFS with UEFI guide may have problems with GRUB FS check:
localhost:/ # zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
bpool 960M 55.6M 904M - - 0% 5% 1.00x ONLINE /mnt
rpool 18.5G 1.44G 17.1G - - 0% 7% 1.00x ONLINE /mnt
localhost:/ # zfs list
NAME USED AVAIL REFER MOUNTPOINT
bpool 55.4M 776M 96K /mnt/boot
bpool/BOOT 54.9M 776M 96K none
bpool/BOOT/suse 54.8M 776M 54.8M /mnt/boot
rpool 1.44G 16.5G 96K /mnt
rpool/ROOT 1.43G 16.5G 96K none
rpool/ROOT/suse 1.43G 16.5G 1.43G /mnt
rpool/home 204K 16.5G 96K /mnt/home
rpool/home/root 108K 16.5G 108K /mnt/root
rpool/var 740K 16.5G 96K /mnt/var
rpool/var/lib 96K 16.5G 96K /mnt/var/lib
rpool/var/log 420K 16.5G 420K /mnt/var/log
rpool/var/spool 128K 16.5G 128K /mnt/var/spool
localhost:/ # grub2-probe /boot
zfs
localhost:/ # grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.16.2-1-default
Found initrd image: /boot/initrd-5.16.2-1-default
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
done
localhost:/ # grub2-install --target=x86_64-efi --efi-directory=/boot/efi \
--bootloader-id=opensuse --recheck --no-floppy
Installing for x86_64-efi platform.
grub2-install: error: ../grub-core/kern/fs.c:121:unknown filesystem.
verbose part of output:
grub-core/kern/fs.c:57: Detecting zfs...
grub-core/osdep/hostdisk.c:380: opening the device `/dev/sda4' in open_device()
grub-core/fs/zfs/zfs.c:1199: label ok 0
grub-core/osdep/hostdisk.c:359: reusing open device `/dev/sda4'
grub-core/fs/zfs/zfs.c:1014: check 2 passed
grub-core/fs/zfs/zfs.c:1025: check 3 passed
grub-core/fs/zfs/zfs.c:1032: check 4 passed
grub-core/fs/zfs/zfs.c:1042: check 6 passed
grub-core/fs/zfs/zfs.c:1050: check 7 passed
grub-core/fs/zfs/zfs.c:1061: check 8 passed
grub-core/fs/zfs/zfs.c:1071: check 9 passed
grub-core/fs/zfs/zfs.c:1093: check 11 passed
grub-core/fs/zfs/zfs.c:1119: check 10 passed
grub-core/fs/zfs/zfs.c:1135: str=com.delphix:hole_birth
grub-core/fs/zfs/zfs.c:1135: str=com.delphix:embedded_data
grub-core/fs/zfs/zfs.c:1144: check 12 passed (feature flags)
grub-core/fs/zfs/zfs.c:1884: zio_read: E 0: size 4096/4096
grub-core/fs/zfs/zfs.c:1906: endian = -1
grub-core/fs/zfs/zfs.c:597: dva=8, 21000d8
grub-core/osdep/hostdisk.c:359: reusing open device `/dev/sda4'
grub-core/fs/zfs/zfs.c:2692: endian = -1, blkid=0
grub-core/fs/zfs/zfs.c:2030: endian = -1
grub-core/fs/zfs/zfs.c:2061: endian = -1
grub-core/fs/zfs/zfs.c:1884: zio_read: E 0: size 131072/4096
grub-core/fs/zfs/zfs.c:1906: endian = -1
grub-core/fs/zfs/zfs.c:597: dva=8, 1f00248
grub-core/osdep/hostdisk.c:359: reusing open device `/dev/sda4'
grub-core/fs/zfs/zfs.c:2030: endian = 1
grub-core/fs/zfs/zfs.c:2056: endian = 1
grub-core/fs/zfs/zfs.c:1884: zio_read: E 0: size 16384/4096
grub-core/fs/zfs/zfs.c:1906: endian = 1
grub-core/fs/zfs/zfs.c:597: dva=8, 4000a0
grub-core/osdep/hostdisk.c:359: reusing open device `/dev/sda4'
grub-core/fs/zfs/zfs.c:2697: alive
grub-core/fs/zfs/zfs.c:2503: looking for 'features_for_read'
grub-core/fs/zfs/zfs.c:2030: endian = 1
grub-core/fs/zfs/zfs.c:2056: endian = 1
grub-core/fs/zfs/zfs.c:1884: zio_read: E 0: size 16384/4096
grub-core/fs/zfs/zfs.c:1906: endian = 1
grub-core/fs/zfs/zfs.c:597: dva=8, 70
grub-core/osdep/hostdisk.c:359: reusing open device `/dev/sda4'
grub-core/fs/zfs/zfs.c:2513: zap read
grub-core/fs/zfs/zfs.c:2526: fat zap
grub-core/fs/zfs/zfs.c:2030: endian = 1
grub-core/fs/zfs/zfs.c:2056: endian = 1
grub-core/fs/zfs/zfs.c:1884: zio_read: E 0: size 16384/4096
grub-core/fs/zfs/zfs.c:1906: endian = 1
grub-core/fs/zfs/zfs.c:597: dva=8, 68
grub-core/fs/zfs/zfs.c:2286: fzap: length 18
grub-core/fs/zfs/zfs.c:2530: returned 0
grub-core/fs/zfs/zfs.c:2692: endian = -1, blkid=1
grub-core/fs/zfs/zfs.c:2030: endian = -1
grub-core/fs/zfs/zfs.c:2061: endian = -1
grub-core/fs/zfs/zfs.c:1884: zio_read: E 0: size 131072/4096
grub-core/fs/zfs/zfs.c:1906: endian = -1
grub-core/fs/zfs/zfs.c:597: dva=8, 1f00248
grub-core/fs/zfs/zfs.c:2030: endian = 1
grub-core/fs/zfs/zfs.c:2056: endian = 1
grub-core/fs/zfs/zfs.c:1884: zio_read: E 0: size 16384/4096
grub-core/fs/zfs/zfs.c:1906: endian = 1
grub-core/fs/zfs/zfs.c:597: dva=8, 2300180
grub-core/osdep/hostdisk.c:359: reusing open device `/dev/sda4'
grub-core/fs/zfs/zfs.c:2697: alive
grub-core/fs/zfs/zfs.c:2030: endian = 1
grub-core/fs/zfs/zfs.c:2056: endian = 1
grub-core/fs/zfs/zfs.c:1884: zio_read: E 0: size 1536/1536
grub-core/fs/zfs/zfs.c:1906: endian = 1
grub-core/fs/zfs/zfs.c:597: dva=8, 200218
grub-core/osdep/hostdisk.c:359: reusing open device `/dev/sda4'
grub-core/fs/zfs/zfs.c:2117: zap: name = org.illumos:lz4_compress, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2117: zap: name = com.joyent:multi_vdev_crash_dump, value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2117: zap: name = com.delphix:hole_birth, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2117: zap: name = com.delphix:extensible_dataset, value = 8, cd = 0
grub-core/fs/zfs/zfs.c:2117: zap: name = com.delphix:embedded_data, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2117: zap: name = org.open-zfs:large_blocks, value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2117: zap: name = org.zfsonlinux:large_dnode, value = 8, cd = 0
grub-core/kern/fs.c:79: zfs detection failed.
Meanwhile, it works for at least Debian-based distros.
For ex., grub2 disabled for EFI boot on some platforms because of problems https://openzfs.github.io/openzfs-docs/Getting%20Started/RHEL-based%20distro/RHEL%208-based%20distro%20Root%20on%20ZFS/5-bootloader.html?highlight=unknown%20filesystem
@Zaryob do you have time to look at it? Based on offline dialog with @ndruba , let's track it here.
Sidenote - Gnome livecd have linux user by default (tested on https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-GNOME-Live-x86_64-Current.iso )
linux:x:1000:1000:Live-CD User:/home/linux:/bin/bash
It may be updated in guides too. In addition - add link to live cd?