If you want to install Archlinux on ZFS, you need to deal with the ZFS licensing problem. The kernel module isn't included in the default archiso image, you need to include it into a custom archiso image to be able to install ZFS.
I wrote an article about archiso netbooting.
This script lets you include the zfs kernel module on any archiso image without creating a custom one.
The Archzfs unofficial user repository offers multiple ways to install the ZFS kernel module.
We can install precompiled module with zfs-linux
package or compile the zfs module using DKMS method.
In order to build the module, DKMS needs the linux-headers
package for the running kernel.
It extracts running kernel version and try to find a matching ZFS module in Archzfs
repositories.
If it doesn't, it fallbacks to the DKMS build of the ZFS module.
In that case, the script uses Arch Linux Archive to install the linux-headers
and base-devel
packages required for DKMS. You need at least ~6Gb RAM to use that method to be able to store packages in cowspace.
In some very specific cases, you won't be able to get ZFS module working for a specific archiso version.
In that case, just switch to the previous month iso.
Boot on any archiso system, and run:
$ curl -s https://eoli3n.github.io/archzfs/init | bash
To run the script in verbose mode, use:
$ curl -s https://eoli3n.github.io/archzfs/init | sed 's- &>/dev/null--' | bash &> debug.log
curl -s -L https://tinyurl.com/ba8eswbk | bash #init
curl -s -L https://tinyurl.com/3n5xxea7 | bash #init
$ loadkeys fr
# In pacman.conf, comment SigLevel line
# Set "SigLevel = Never"
$ pacman -Syy git
# In pacman.conf, restore Siglevel line