Automates a UEFI Debian installation on an encrypted ZFS pool
scripts | ||
.gitignore | ||
debianzfs.pkr.hcl | ||
debianzfs.sh | ||
LICENSE | ||
Makefile | ||
README.md |
DebianZFS
DebianZFS is a bash script that automates a UEFI Debian installation on an encrypted ZFS pool. The script installs zfsutils-linux
on Debian Live, then proceeds to partition, create the boot and root zpools, and debootstraps a minimal system.
Due to licensing concerns with OpenZFS and Linux, distributing the resulting binaries together in a disk image may be a copyright violation. However, nothing keeps you from legally building and keeping your own disk images.
- Requires packer and qemu to build images
Quick Start
-
Clone the repository and navigate into the directory
git clone https://git.krislamo.org/kris/debianzfs cd debianzfs
-
Build image
make
-
Copy qcow2 image to libvirt/images
sudo cp output/debianzfs.qcow2 /var/lib/libvirt/images/
-
Grab auto-generated passwords from the log
grep PW= debianzfs.log
-
Make a Libvirt VM and start
sudo virt-install --name debianzfs \ --description 'Debian ZFS' \ --ram 2048 \ --vcpus 2 \ --disk /var/lib/libvirt/images/debianzfs.qcow2 \ --os-type generic \ --network bridge=virbr0 \ --graphics vnc,listen=127.0.0.1,port=5901 \ --boot uefi,loader=/usr/shar/OVMF/OVMF_CODE.fd
-
If dropped into UEFI shell
Shell> FS0: FS0:\> EFI\debian\grubx64.efi
-
If dropped into initramfs
zpool import -f rpool exit
-
Enter rpool password
-
Login with root's password
License
- DebianZFS is licensed under 0BSD, a public domain equivalent license; see the
LICENSE
file for more information