Systemanalyse und -beratung

Christopher J. Ruwe, Dipl.-Kfm. u. M.Comp.Sc.

Compiling ZFS Against Different Kernels

January 26, 2016. 418 words.

Options for ./configure are often counter-intuitively named. Oh no! Counter-intuitive naming? In information technology? Really? Since when?

Problem

ZFS dkms packages are on Debian only available for jessie and wheezy. The ZFS on Linux package “maintainer” has made it very clearError while upgrading debian testing “Unknown Debian GNU/Linux version!”. zfsonlinux/pkg-zfs, #160. that he will not support any messing around with the dmks packages.

Solution

It it sometimes a healthy exercise to compile and package oneself. Compiling ZFS On LinuxZFS On Linux. is quickly done, although not quite devoid of any risk. Beware: This breaks grub-pc on my system. I do not care and write grub.cfg myself. If you do, leave it alone.

Discussion

Compile packages for your system according to the instructions for your distribution.ZFS on Linux Wiki: Custom Packages.

When upgrading or preparing another system, it is not practical to compile for the currently running kernel alone. It is not (at least to me) immediately clear how to compile against a different target kernel. Having finally understood that object files referenced it the documentation actually are included in the header package, it, it is very easy:

cd $SPLSRC
./autogen.sh
./configure \
  --with-linux=$LINUX_SOURCES \
  --with-linux-obj=$LINUX_HEADERS
  
make clean && rm *deb *rpm *tar.gz  
make deb-utils deb-kmod
dpkg -i *.deb

cd $ZFSSRC
./autogen.sh
./configure \
  --with-linux=$LINUX_SOURCES \
  --with-linux-obj=$LINUX_HEADERS
  
make clean && rm *deb *rpm *tar.gz    
make deb-utils deb-kmod
dpkg -i *.deb

When you just update kernels, it is sufficient to install the kmod-* packages. The resulting packages do not update module dependencies, so you need to run sudo depmod -A $VERSION-$ARCH afterwards.

Warning

Doing this on Debian as I or on other distributions is a kind of Frankenstein configuration. It is safe if you know what you are doing. It is not if you do not and are not able to pull yourself out and together if things go wrong on your own. Nobody will help you.

Compiling ZFS Against Different Kernels - January 26, 2016 - Christopher J. Ruwe