I’m getting a related error installing F41 on ZFS root.
I have a install routine that verifiably works on f41, done it several times in VM and on baremetal before this.
Below is the output after the base install, upgrading system. I just want to post here for input on how to correct this the right way.
This is still a VM test install, so not critical, but any input is appreciated.
Naturally, based on the error, i will next try to install the linux-headers-6.13.4-200.fc41.x86_64 package, and then do ‘dracut --regenerate-all --force’
>>> Error! Your kernel headers for kernel 6.13.4-200.fc41.x86_64 cannot be found at /lib/modules/6.13.4-200.fc41.x86_64/build or /lib/modules/6.13.4-200.fc41.x86_64/source.
>>> Please install the linux-headers-6.13.4-200.fc41.x86_64 package or use the --kernelsourcedir option to tell DKMS where it's located.
>>> dracut-install: Failed to find module 'zfs'
>>> dracut[E]: FAILED: /usr/lib/dracut/dracut-install -D /var/tmp/dracut.uMJgwF/initramfs -H --kerneldir /lib/modules/6.13.4-200.fc41.x86_64/ -m zfs
>>> dracut[F]: installkernel failed in module zfs
>>> /usr/lib/kernel/install.d/50-dracut.install failed with exit status 1.
and update:
# dnf install linux-headers-6.13.4-200.fc41.x86_64
Updating and loading repositories:
Repositories loaded.
Failed to resolve the transaction:
No match for argument: linux-headers-6.13.4-200.fc41.x86_64
You can try to add to command line:
--skip-unavailable to skip unavailable packages
So what’s the best way to resolve this, has kernel header package been accidentally forgotten here in latest update or?
Edit: Another update. dnf up --refresh gives:
# dnf up --refresh
Updating and loading repositories:
Fedora 41 openh264 (From Cisco) - x86_64 100% | 1.7 KiB/s | 989.0 B | 00m01s
Fedora 41 - x86_64 100% | 51.2 KiB/s | 26.8 KiB | 00m01s
ZFS on Linux for Fedora 41 100% | 4.4 KiB/s | 2.9 KiB | 00m01s
Fedora 41 - x86_64 - Updates 100% | 34.2 KiB/s | 18.9 KiB | 00m01s
Repositories loaded.
Problem 1: installed package zfs-dkms-2.3.0-1.fc41.noarch conflicts with kernel-devel > 6.12.999 provided by kernel-devel-6.13.4-200.fc41.x86_64 from updates
- cannot install the best update candidate for package zfs-dkms-2.3.0-1.fc41.noarch
- cannot install the best update candidate for package kernel-devel-6.11.4-301.fc41.x86_64
Problem 2: installed package zfs-2.3.0-1.fc41.x86_64 requires zfs-kmod = 2.3.0, but none of the providers can be installed
- installed package zfs-dkms-2.3.0-1.fc41.noarch conflicts with kernel-devel > 6.12.999 provided by kernel-devel-6.13.4-200.fc41.x86_64 from updates
- package zfs-dkms-2.3.0-1.fc41.noarch from zfs conflicts with kernel-devel > 6.12.999 provided by kernel-devel-6.13.4-200.fc41.x86_64 from updates
- package kernel-devel-matched-6.13.4-200.fc41.x86_64 from updates requires kernel-devel = 6.13.4-200.fc41, but none of the providers can be installed
- cannot install the best update candidate for package zfs-2.3.0-1.fc41.x86_64
- cannot install the best update candidate for package kernel-devel-matched-6.11.4-301.fc41.x86_64
Package Arch Version Repository Size
Skipping packages with conflicts:
kernel-devel x86_64 6.13.4-200.fc41 updates 77.3 MiB
Skipping packages with broken dependencies:
kernel-devel-matched x86_64 6.13.4-200.fc41 updates 0.0 B
Nothing to do.
You are using ZFS while most of us are using ext4 or btrfs.
The 6.13.4 kernel provides the 6.13.3 kernel-header package.
It appears that zfs-dkms on ZFS is looking for the wrong headers.
Thanks. Yes, i’ve decided to wait until the ZFS team updates.
And i found some good scripts that excludes kernel and ZFS from normal dnf updates, to avoid these pretty common situations.
When you install packages from rpmfusion those packages do not use dkms but instead use akmods.
So far I have seen no problems reported with that method of building modules.
haha i have no idea what all that means… i have a documented method of installing f41 on ZFS root, that’s worked fine, until now with latest kernel, but it’s not an uncommon situation, where the zfs on linux team hasn’t yet updated their packages…
Anyways i just boot the old kernel from zfsbootmenu ATM, no harm done. And i have snapshots i can rollback to
I’m slowly building a process to avoid this in the future, as i can’t imagine using any other FS that ZFS… BTRFS doesn’t even support zvolumes like functionality, or encryption
I could not imagine having to partition my expensive 4TB SSD in 2025…
I think it’s a shame Fedora chose such a bad FS…
I use ZFS with zfsbootmenu bootloader, and snapshot, rollback, clone without any effort. i create sparse zvol’s and export them over iscsi like nothing…
Anyways still learning how all this works in fedora / RPM… It’s a shame ZFS isn’t in the kernel tree…
The only spin of fedora I know uses zfs is ‘server’.
AFAIK everything else seems to use btrfs & ext4.
Installing the nvidia drivers from nvidia or using INTTF or negativo17 repos seems to use dkms for compiling the modules.
OTOH, installing the recommended way from rpmfusion repos totally avoids use of dkms and uses akmods.
Your choice of sources but the majority never seem to have problems with akmods and many seem to have issues with dkms. Adding ZFS into the mix makes it even harder.
The real drawback for you right now seems that the 6.13 kernel requires the 570 nvidia driver. rpmfusion has made that driver available for users but if you do not use software from rpmfusion it is much more difficult.
Thanks, yes it’s not really an issue, as ZFS is not officially supported, but because i’m not knowledgeable about how DNF and fedora works, i thought that the kernel header package for the new kernel was missing, especially since nvidia users also complained…
To crash the party some, This last week I started messing around with ZFS with fedora. Everything was going good until the new kernel update. The ZFS on linux documentation mentions using this command echo 'zfs' > /etc/dnf/protected.d/zfs.conf to lock the kernel version to only ones supported by ZFS. But this doesn’t appear to be the case as the kernel still updates from 6.12.15-200 to 6.13.4-200 with a dnf upgrade? Any chance you know how zfs.conf is supposed to prevent the kernel updates?
ZFS is not the issue for the OP.
The issue reported is directly related to using dkms with ZFS and the 6.13 kernels. If dkms is not needed then ZFS seems to have no problems with that kernel.
This script will also configure the installed system to exclude ZFS and the Linux kernel from the normal sudo dnf update command. This is done because it is not uncommon for ZFS updates to fail on Fedora Linux when newer Linux kernels are availabe before ZFS is compatible with them. Instead, the user should use zfs-update to update ZFS and kernel-update to update the Linux kernel. These overrides and scripts are installed under /usr/local/bin. You can remove those scripts to revert this behavior if you so choose.
I obtained them by installing to a VM, if you want them just ask, and i’ll upload them.
So far they are handling the issue, doing a dnf up --refresh gives no error, and doing a zfs-update just says no update available.
But i will definitely lok into that /etc/dnf/protected.d/zfs.conf thing when i have time
The issue is i’m new to fedora, and i have no clue how this all hangs together with dkms, akmod etc… i should have mentioned i have adapted the zfsbootmenu guide to installing f41 on zfs.
dnf, zfs-update and kernel-update scripts, located in /usr/local/bin.
They work great, dnf up went flawless, zfs-update resulted in:
# zfs-update
Updating and loading repositories:
ZFS on Linux for Fedora 41 100% | 2.1 KiB/s | 2.9 KiB | 00m01s
Repositories loaded.
Nothing to do.
and kernel-update resulted in:
# kernel-update
Kernel update kernel-6.13.5-200.fc41 is available.
Your current version of OpenZFS is zfs-2.3.0-1.fc41.x86_64.
Before proceeding, check https://github.com/openzfs/zfs/releases to verify that
your version of OpenZFS is compatible with this kernel update.
Update to kernel-6.13.5-200.fc41 [y/n]?: n
the URL mentioned states:
Supported Platforms:
Linux kernels 4.18 - 6.12,
so in my book, this looks like a great combo, to avoid issues.
After more investigating, i found that this command does the following: echo 'zfs' > /etc/dnf/protected.d/zfs.conf doesn’t prevent installing a kernel for which zfs-dkms can not build a module, so on reboot all ZFS filesystems fail to mount. It stops yum/dnf from uninstalling zfs itself.
I’m glad you found a solution. I’m not using it on boot, just experimenting with mounted drives. I’ve been trying to follow the docs from OpenZFS Fedora getting started.
good to know, thanks. For me the zfsbootmenu guide is my goto, as i run it on boot. And being able to easily snapshot and rollback the whole system, including /boot is very important to me.
I have no patience for a situation where an update breaks my system and makes it unbootable, or breaks some app i need. In such a case, i must have a way to quickly undo it and get back to work.
Thanks to @glb for his excellent zfs-update and kernel-update scripts, they solve a major annoyance, where any update can break ZFS, and lead to big problems.
hey @liviu hope you didn’t flip out, i didn’t mean anything personal, just convo’s need to be in public threads, otherwise all of us would end up doing nothing but pm’s 24 hours every day. And that’s not possible as we have other responsibilities in life. Hope you get a zbm based system up and running, then you’ll see why btrfs is such a disaster.