Hallo zusammen,
ich habe heute erfolgreich, mit den o.g. Informationen, dem Wikibeitrag
https://wiki.freebsd.org/RootOnZFS/GPTZFSBoot und dem Lesen von /usr/libexec/bsdinstall/zfsboot, eine FreeBSD 13.0-RC3 Neuinstallation mit ZFS und GELI durchgeführt.
Das System wird im Dualbootmodus parallel mit Linux betrieben. Aus diesem Grund konnte ich den FreeBSD Installations Wizzard nicht für die Partitionierung verwenden, da für ZFS die ganze Platte/SSD benötigt wird. Als EFI Loader kommt rEFInd zum Einsatz. Anbei meine durchgeführten Schritte. Vielleicht sind sie ja für andere nützlich...
FreeBSD vom Installationsmedium starten und dann die Shell Mode Paritionierung verwenden
#Vorarbeit - alte/ungenutzte Partitionen löschen
gpart delete -3 ada0
gpart delete -2 ada0
#neue Partitionen anlegen (
-a 1m
habe ich aus dem zfsboot Skript übernommen)
gpart add -a 1m -s 2G -t freebsd-swap -l swap0 ada0
gpart add -a 1m -t freebsd-zfs -l zfs0 ada0
#GELI für ZFS einrichten
geli init -bg -e AES-XTS -l 256 -s 4096 /dev/gpt/zfs0
geli attach /dev/gpt/zfs0
#ZFS einrichten (habe ich mit
zpool history
auf einem anderen System ermittelt und nur Pool-/Devicenamen angepasst)
zpool create -o altroot=/mnt -O compress=lz4 -O atime=off -m none -f tank /dev/gpt/zfs0.eli
zfs create -o mountpoint=none tank/ROOT
zfs create -o mountpoint=/ tank/ROOT/default
zfs create -o mountpoint=/tmp -o exec=on -o setuid=off tank/tmp
zfs create -o mountpoint=/usr -o canmount=off tank/usr
zfs create tank/usr/home
zfs create -o setuid=off tank/usr/ports
zfs create tank/usr/src
zfs create -o mountpoint=/var -o canmount=off tank/var
zfs create -o exec=off -o setuid=off tank/var/audit
zfs create -o exec=off -o setuid=off tank/var/crash
zfs create -o exec=off -o setuid=off tank/var/log
zfs create -o atime=on tank/var/mail
zfs create -o setuid=off tank/var/tmp
zfs set mountpoint=/tank tank
zpool set bootfs=tank/ROOT/default tank
zfs set canmount=noauto tank/ROOT/default
#Link für /home anlegen
ln -s /usr/home /mnt/home
chmod 1777 /mnt/var/tmp
chmod 1777 /mnt/tmp
Per
exit
in den Installations Wizzard wechseln und die Installation und Konfiguration abschließen. Vor Abschluss der Installation, noch ZFS und GELI für den Loader aktivieren.
/etc/rc.conf
zfs_enable="YES"
/boot/loader.conf
geom_eli_load="YES"
zfs_load="YES"
/etc/sysctl.conf
vfs.zfs.min_auto_ashift=12
Den FreeBSD EFI Loader habe ich vom Installationsmedium kopiert und auf der EFI Partition, der HDD/SDD, unter EFI/freebsd ablegt. Anschließend wird FreeBSD als Option im rEFInd angezeigt.
Falls das System anschließend nicht neu startet (da man(n) vergessen, hat die /boot/loader.conf anzupassen

), kann das Troubleshooting nach dem Start vom FreeBSD Installationsmedium wie folgt beginnen:
mount -rw /
geli attach /dev/gpt/zfs0
zpool import tank
zpool status
zfs list
mount -t zfs tank/ROOT/default /mnt
Die verschlüsselte swap Partion habe ich dann im laufenden System, wie im Handbuch unter
https://docs.freebsd.org/en_US.ISO8859-1/books/handbook/swap-encrypting.html beschrieben, konfiguriert.
Viele Grüße....