Preparation
Disable Secure Boot. ZFS modules can not be loaded if Secure Boot is enabled.
Download a variant of AlmaLinux Minimal Live ISO and boot from it.
Connect to the Internet.
Set root password or
/root/.ssh/authorized_keys
.Start SSH server:
echo PermitRootLogin yes >> /etc/ssh/sshd_config systemctl restart sshd
Connect from another computer:
ssh root@192.168.1.19
Target disk
List available disks with:
ls /dev/disk/by-id/*
If using virtio as disk bus, use
/dev/disk/by-path/*
.Declare disk array:
DISK='/dev/disk/by-id/ata-FOO /dev/disk/by-id/nvme-BAR'
For single disk installation, use:
DISK='/dev/disk/by-id/disk1'
Set partition size:
Set swap size. It’s recommended to setup a swap partition. If you intend to use hibernation, the minimum should be no less than RAM size. Skip if swap is not needed:
INST_PARTSIZE_SWAP=8
Root pool size, use all remaining disk space if not set:
INST_PARTSIZE_RPOOL=
Temporarily set SELinux to permissive in live environment:
setenforce 0
SELinux will be enabled on the installed system.
Add ZFS repo:
dnf install -y https://zfsonlinux.org/epel/zfs-release-el-2-1.noarch.rpm
Check available repos:
dnf repolist --all
Install ZFS packages:
dnf config-manager --disable zfs dnf config-manager --enable zfs-kmod dnf install -y zfs # if gpg import fails, add --nogpgcheck
Load kernel modules:
modprobe zfs
Install partition tool:
dnf install -y gdisk dosfstools