Issue loading OpenZFS kernel modules in Fedora Silverblue
Issue loading OpenZFS kernel modules in Fedora Silverblue
Hello good people,
Hoping this is an appropriate place for troubleshooting questions, I'm learning Linux & OpenZFS in preparation of a server + NAS build, currently working in VMware Workstation. I have successfully setup OpenZFS on Fedora 39 and have configured my zpool using virtual disks.
Now I am looking to replicate the setup on Fedora Silverblue: setup OpenZFS, import the existing disks, then attach the zpool.
1. Import the OpenZFS repository
rpm-ostree install -y https://zfsonlinux.org/fedora/zfs-release-2-4$(rpm --eval "%{dist}").noarch.rpm
2. Confirmed zfs-fuse is not used
rpm-ostree override remove zfs-fuse
undefined
error: Package "zfs-fuse" not found
3. Layer the kernel headers
rpm-ostree install kernel-devel
4. Layer OpenZFS
rpm-ostree install zfs
5. Confirmed status
rpm-ostree status
undefined
State: idle Deployments: ● fedora:fedora/39/x86_64/kinoite Version: 39.20240304.0 (2024-03-04T00:39:42Z) BaseCommit: b30269aa0e2604e24fd74596a75ee79ef77e6bc2b20f87b49d02f2796ccd3da2 GPGSignature: Valid signature by E8F23996F23218640CB44CBE75CF5AC418B8E74C LayeredPackages: kernel-devel zfs LocalPackages: zfs-release-2-4.fc39.noarch
6. I was expecting the next step to fail
modprobe zfs
undefined
modprobe: FATAL: Module zfs not found in directory /lib/modules/6.7.7-200.fc39.x86_64
Nevertheless, I went ahead and created the 2 zfs.conf files as described in the OpenZFS documentation.
cat /etc/modules-load.d/zfs.conf
\ zfs
\cat /etc/dnf/protected.d/zfs.conf
\ zfs
7. This is where I am now stuck
I have tired a number of things such as:
i. Adding modprobe as a kernel argument similar to Silverblue using nVidia drivers
rpm-ostree kargs --append=modprobe=zfs
undefined
rpm-ostree kargs rhgb quiet root=UUID=cbaf12f4-d5b4-4d24-83d6-83ad53730f2a rootflags=subvol=root rw ostree=/ostree/boot.1/fedora/5d2cc07d31373ad2a64ab4ed610ce5a45625bd317c1447d2947a489056a5c077/0 modprobe=zfs
ii. Installed, then disabled, rpm-ostree initramfs
, continuing instead with initramfs-etc
as described here
rpm-ostree initramfs-etc --track=/etc/modules-load.d/zfs.conf
\rpm-ostree initramfs-etc --track=/etc/dnf/protected.d/zfs.conf
undefined
rpm-ostree status State: idle Deployments: ● fedora:fedora/39/x86_64/kinoite Version: 39.20240304.0 (2024-03-04T00:39:42Z) BaseCommit: b30269aa0e2604e24fd74596a75ee79ef77e6bc2b20f87b49d02f2796ccd3da2 GPGSignature: Valid signature by E8F23996F23218640CB44CBE75CF5AC418B8E74C LayeredPackages: kernel-devel zfs LocalPackages: zfs-release-2-4.fc39.noarch InitramfsEtc: /etc/dnf/protected.d/zfs.conf /etc/modules-load.d/zfs.conf
8. zfs, zpool seem ok as I can get the help output or read the man pages, however:
zpool status
\The ZFS modules cannot be auto-loaded.
\Try running 'modprobe zfs' as root to manually load them.
zfs get all
\The ZFS modules cannot be auto-loaded.
\Try running 'modprobe zfs' as root to manually load them.
Obviously, I'm missing something due to my gaps in experience with Linux. I see that Universal Blue has incorporated OpenZFS as described on the GitHub page, so it should be possible for me to achieve this as well, I suppose.
Any pointers, documentation or advice is appreciated!