ZFS Isn't Supported on 5.6.19_rt12-3?

For reasons detailed in my previous post (which these forums do not allow me to link to), I have no choice but to use the current 5.6-RT kernel (5.6.19_rt12-3).

I use ZFS for my main storage hard-drive, and it works on most other kernels I’ve tried, but it doesn’t work on 5.6-RT.

There are a few different ways to install ZFS, but all of them fail.

Method 1: linux56-rt-zfs package.

modprobe zfs
modprobe: ERROR: could not insert 'zfs': Exec format error

Method 2: zfs-dkms package, with automatic dkms install.

Preparing...
Resolving dependencies...
Checking inter-conflicts...
Checking keyring...
Checking integrity...
Loading package files...
Checking file conflicts...
Checking available disc space...
Installing zfs-dkms (0.8.4-1)...
Configuring zfs-dkms...

Creating symlink /var/lib/dkms/zfs/0.8.4/source ->
                 /usr/src/zfs-0.8.4

DKMS: add completed.
==> To build and install your modules run: dkms install zfs/0.8.4
==> To do this automatically at startup run: systemctl enable dkms.service
Running post-transaction hooks...
Arming ConditionNeedsUpdate...
Install DKMS modules
==> dkms install --no-depmod -m zfs -v 0.8.4 -k 5.6.19-3-rt12-MANJARO
Error! Bad return status for module build on kernel: 5.6.19-3-rt12-MANJARO (x86_64)
Error while configuring 
Consult /var/lib/dkms/zfs/0.8.4/build/make.log for more information.
==> Warning, `dkms install --no-depmod -m zfs -v 0.8.4 -k 5.6.19-3-rt12-MANJARO' returned 10
==> depmod 5.6.19-3-rt12-MANJARO
Transaction successfully finished.

Method 3: zfs-dkms-git package, with automatic dkms install.

==> dkms install --no-depmod -m zfs -v git -k 5.6.19-3-rt12-MANJARO
configure: error: 
Error while configuring 
	*** None of the expected "rwsem_spinlock_is_raw" interfaces were detected.
	*** This may be because your kernel version is newer than what is
	*** supported, or you are using a patched custom kernel with
	*** incompatible modifications.
	***
	*** ZFS Version: zfs-2.0.0-rc1
	*** Compatible Kernels: 3.10 - 5.8
	
Error! Bad return status for module build on kernel: 5.6.19-3-rt12-MANJARO (x86_64)
Error while configuring 
Consult /var/lib/dkms/zfs/git/build/make.log for more information.

/var/lib/dkms/zfs/git/build/make.log contains the following:

DKMS make.log for zfs-git for kernel 5.6.19-3-rt12-MANJARO (x86_64)
Sun  6 Sep 16:07:35 BST 2020
make: *** No targets specified and no makefile found.  Stop.

Method 4: zfs-linux-rt and zfs-linux-rt-headers

could not satisfy dependencies:
- unable to satisfy dependency 'linux-rt-headers=5.6.17.9-1' required by zfs-linux-rt-headers
- unable to satisfy dependency 'linux-rt-headers=5.6.17.9-1' required by zfs-linux-rt
- unable to satisfy dependency 'linux-rt=5.6.17.9-1' required by zfs-linux-rt

It seems from this that the zfs-linux-rt package is built for a slightly older 5.6-RT kernel (5.6.17 vs 5.6.19). The package page also reports this (unable to link it on these forums).
Is there any chance simply changing the build instructions to allow for .19 would be safe?
Am I just stuck waiting until this package updates to support my kernel?

I’m getting the impression that there is just no version of ZFS for 5.6.19_rt12-3.
If this is the case, is there any workaround? A different way to load a zfs pool perhaps?
As I mentioned, this kernel is my only choice, due to a different problem.

@mbod knows a lot about ZFS

Thank you for the kudos, @eugen-b :wink:

@uzalu:
Unfortunately I have not much experience with dkms and with rt kernels. But when I build my own zfs modules for testing purposes I typically start with the original source packages from Manjaro.

git clone https://gitlab.manjaro.org/packages/extra/linux56-extramodules/spl_zfs

I think the only changes you need to make to the PKGBUILD file are related to the kernel and package names to match what you have installed.

_linuxprefix=linux56
_extramodules=extramodules-5.6-MANJARO
...
package_linux56-zfs(){

Then you create the package with the command:

makepkg -sc

If that goes well you have to do the same thing for the zfs-utils package:

git clone https://gitlab.manjaro.org/packages/extra/zfs-utils.git

Or may be not. The zfs-utils 0.8.4 package from Manjaro is probably good for you.

1 Like