Solus is a great Linux distribution. Very clean and has everything I need, expect ZFS.
Building zfs is also discussed here: https://github.com/zfsonlinux/zfs/wiki/Building-ZFS
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 https://github.com/zfsonlinux/zfs
cd zfs
sh autogen.sh
./configure
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/zfs.sh ), 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:
zavl
zunicode
spl
znvpair
zcommon
icp
zlua
options zfs zfs_autoimport_disable=0
zfs
Enable the services:
sudo systemctl enable zfs-import-cache.service
sudo systemctl enable zfs-import-scan.service
sudo systemctl enable zfs-import.target
sudo systemctl enable zfs-mount.service
sudo systemctl enable zfs-share.service
sudo systemctl enable zfs-zed.service
sudo systemctl enable zfs.target
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
Caveats
- 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: https://getsol.us/forums/viewtopic.php?f=11&t=13207