Skip to content
Manuel edited this page Nov 3, 2023 · 44 revisions

Welcome to the archzfs wiki!

Report an issue

To report an issue with OpenZFS integration into Arch Linux, visit the reporting page!

The archzfs repository

This repository is not endorsed by the Arch Developers and is referred to as an "unofficial" repository for Arch Linux.

Included package groups

The archzfs repository includes the following package groups that target a particular kernel.

You can install multiple of these groups side by side, but you can't mix git and non git versions.

  • archzfs-linux

    The default kernel for Arch Linux and latest stable OpenZFS. Use this if you are concerned about ZFS stability.


    While this is the best option for most people, occasionally the OpenZFS project gets behind on stable support for the latest Linux Kernel release. This means that if Linux 4.15 is released to core, but the latest stable release of OpenZFS does not support Linux 4.15, it is not possible to perform a system update. Sometimes it can take a few days, a few weeks, or a month to release a new stable version of OpenZFS. If you happen miss to upgrade a more recent OpenZFS supported version, and the latest stable is ahead of the OpenZFS supported one, there's a solution to upgrade to the latest OpenZFS supported kernel without digging up the matching kernel packages from Arch Linux Archive.

    Some users just wait for a new stable OpenZFS version. It is possible to tell pacman to ignore updates to the linux package in /etc/pacman.conf and keep the system up-to-date, minus the kernel. Other users don't like having a system that is not completely up-to-date. The archzfs project has packages for users of all types!

  • archzfs-linux-git

    The for Arch Linux with OpenZFS being built from the latest git commit for ZFS and SPL. Use this if feature is required from OpenZFS that is not included in the latest stable release of OpenZFS, or if the current stable OpenZFS version does not support the Linux version that is in core.


    The packages with "git" in the names in the archzfs repo build from the master branches of the ZFS and SPL repositories of the OpenZFS project. This does result in some risk that a system may become unstable due to unknown bugs. However, every commit that makes it into the master branch in these projects has been regression tested, so there is some comfort in knowing that. In the future, the archzfs project will run the same tests that the OpenZFS project uses after packages are built for reduced risk.

  • archzfs-linux-lts and archzfs-linux-lts-git

    Support for the lts Linux Kernel packages.

  • archzfs-linux-hardened and archzfs-linux-hardened-git

    Support for the linux-hardened kernel.

  • archzfs-linux-zen and archzfs-linux-zen-git

    Support for the linux-zen kernel packages in extra. See for provide features of the linux-zen kernel.

  • archzfs-dkms and archzfs-dkms-git

    These packages support all kernels, but need to be automatically rebuilt on every kernel update on the users machine. This can increase the time it takes to update a system. Use this package if switching kernels often.

Using the archzfs repository

Add the following to the end of /etc/pacman.conf:

Server =$repo/$arch

Both the database and the packages are signed, so you will have to add the key to pacman's trusted key list.

# pacman-key -r DDF7DB817396A49B2A2723F7403BD972F75D9D76
# pacman-key --lsign-key DDF7DB817396A49B2A2723F7403BD972F75D9D76

Then update your pacman database.

# pacman -Syu

You can now install zfs.

Note: If the first step fails to import the key, download it from and add it manually:

# pacman-key -a archzfs.gpg


Server =$repo/$arch
Server =$repo/$arch
Server =$repo/$arch
Server =$repo/$arch
Server =$repo/$arch
Server =$repo/$arch
Name Sync Protocol TLS Location origin IPv6 + v4 yes FI: Hetzner 2h IPv6 + v4 yes DE: Hetzner 2h IPv6 + v4 yes DE: Hetzner 1h IPv6 + v4 required DE: IP-Projects 1h IPv6 + v4 required IN: Linode 1h IPv6 + v4 required US: Linode

Testing repository

Server =$repo/$arch
Server =$repo/$arch

This testing repository auto builds packages once per day for the latest versions of all kernels.

You can use this repository to help testing updated packages or if you don't want to wait for updates to the main repository.

These packages are untested though.

Contribute to the project


Using the test scripts