/archiso-zfs

Easily load ZFS kernel module on any Archiso.

Primary LanguageShell

Why this

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.

Archzfs

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.

How does it work

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.

How to use

Boot on any archiso system, and run:

$ curl -s https://eoli3n.github.io/archzfs/init | bash

dkms-screenshot

Debug

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

Dev

$ loadkeys fr
# In pacman.conf, comment SigLevel line
# Set "SigLevel = Never"
$ pacman -Syy git
# In pacman.conf, restore Siglevel line

Related