#!/bin/sh # First make sure the zfs kmod is loaded modprobe zfs 2>/dev/null udevadm settle # Inspired by Alpine Linux's mkinitfs script - search for encrypted pool's by means of the cmdline root atribute local _root_vol="${root}" local _root_pool="${_root_vol%%/*}" # Import the root pool zpool import -N -d /dev $_root_pool # If the pool is encrypted run zlevis-fetch to decrypt using the tpm2 if [ $(zpool list -H -o feature@encryption $_root_pool) = "active" ]; then local _encryption_root=$(zfs get -H -o value encryptionroot $_root_vol) if [ "$_encryption_root" != "-" ]; then zlevis-fetch || echo "Zlevis-fetch failed!" fi fi