Installs Debian GNU/Linux 10 Buster to a native ZFS root filesystem using a Debian Live CD. The resulting system is a fully updateable debian system with no quirks or workarounds. This script installs the ZFS version from the Debian Buster Backports repository.
- This script installs swap as a ZFS dataset.
Some users reported deadlocks with zfs version 0.7.9 (see ZFS Github Issue).
This script installs version
> 0.8
which might be affected to this bug too. To disable the creation of a ZFS swap dataset setSIZESWAP
to0G
. Make sure to add a seperate swap disk manually if needed.
- Boot Debian Live CD
- Login (user:
user
, password:live
) and become root - Setup network and export
http_proxy
environment variable (if needed) - Run this script
- User interface: Select disks and RAID level
- User interface: Decide if you want Legacy BIOS or EFI boot (only if your hardware supports EFI)
- Let the installer do the work
- User interface: install grub to all disks participating in the array (only if you're using Legacy BIOS boot)
- User interface: enter root password and select timezone
- Reboot
- Star this repository :)
It's possible to preseed the script with the appropriate environment variables or modifying this values directly which are defined here.
To execute a custom script after the installation in the chroot of the new installed system you need to set the POST_INSTALL_SCRIPT
variable to a script location.
- Some mountpoints, notably
/var
, need to be mounted via fstab as the ZFS mount script runs too late during boot. - The EFI System Partition (ESP) is a single point of failure on one disk, this is arguably a mis-design in the UEFI specification. This script installs an ESP partition to every RAID disk, accompanied with a corresponding EFI boot menu.
- Possibility to use a custom EFI entryname although the grub efi file uses a hardcoded path to EFI\debian\shimx64.efi
grub-install
sometimes mysteriously fails for disk numbers >= 4 (grub-install: error: cannot find a GRUB drive for /dev/disk/by-id/...
).