Solus Linux + OpenZFS

Solus is a great Linux distribution. Very clean and has everything I need, expect ZFS.

Building zfs is also discussed here:

NOTE: zfs-on-linux 0.8.3 and previous versions are NOT compatible with Linux kernel 5.5

You’ll need to install the development tools and some packages (Kernel modules are currently not building without libelf-devel)

Basic knowledge of how to use the terminal is assumed.

sudo eopkg install -c system.devel
sudo eopkg install git linux-current-headers libelf-devel

Lets build it. As of writing, the master branch is 0.8.0-rc2. I’m using –depth 1 so we don’t get the history or tags (optional).

Recommendation: Download the release archive and not the latest git source.

git clone --depth 1
cd zfs
make -s -j$(nproc)
sudo make install
sudo depmod

Or if you’ve just updated and a new kernel was installed (before rebooting) you can use (replace with correct path):

./configure --with-linux=/usr/src/linux-headers-4.20.8-110.current

While there is a script to load the kernel modules ( /usr/local/share/zfs/ ), there does not seem to be a service script that fires it up on boot.

Create /etc/modules-load.d/zfs.conf with your favorite editor and add the following:

options zfs zfs_autoimport_disable=0

Enable the services:

sudo systemctl enable zfs-import-cache.service
sudo systemctl enable zfs-import-scan.service
sudo systemctl enable
sudo systemctl enable zfs-mount.service
sudo systemctl enable zfs-share.service
sudo systemctl enable zfs-zed.service
sudo systemctl enable

Time to reboot and check everything worked.

lsmod | grep zfs

zfs 4087808 8
zlua 180224 1 zfs
icp 311296 1 zfs
zcommon 90112 1 zfs
znvpair 90112 2 zfs,zcommon
zunicode 335872 1 zfs
zavl 16384 1 zfs
spl 118784 5 zfs,icp,znvpair,zcommon,zavl


  • You will have to rebuild zfs every time the kernel is updated
  • If the kernel is updated your zfs pools will not mount on the next reboot – don’t mount any critical file systems which would prevent you from booting, onto a zfs pool.
  • It takes a little longer to boot since it scans for pools and mounts them

This tutorial was performed on a clean install of Solus Budgie 3.9999 after running eopkg up and rebooting.

Discus and comment here: