diff --git a/pre-inst.sh b/pre-inst.sh index 091faa9..ed952fa 100755 --- a/pre-inst.sh +++ b/pre-inst.sh @@ -48,9 +48,7 @@ fi timedatectl if [[ ! "$(hostname)" == "debian-live" ]]; then - zgenhostid \ - -f \ - 0x00bab10c + "${baseDir}/zfs.sh" --host-id fi @@ -98,9 +96,7 @@ fi # if [[ ! "${*}" = *--no-part* ]]; then if [[ -f "/etc/zfs/keys/${hostname,,}.key" ]]; then - cp \ - /etc/zfs/keys/${hostname,,}.key \ - /mnt/etc/zfs/keys/ + "${baseDir}/zfs.sh" --key fi # fi @@ -110,9 +106,7 @@ fi "${baseDir}/chroot.sh" --continue -zpool \ - export \ - -a +"${baseDir}/zfs.sh" --unmount printf \ '\033[?47h\033[2J\033[H' diff --git a/zfs.sh b/zfs.sh index 572c4a5..0ce8f89 100755 --- a/zfs.sh +++ b/zfs.sh @@ -272,3 +272,25 @@ fi # zfs mount \ # ${hostname,,}/var/mail # fi + +if [[ "${1}" == '--key' ]]; then + cp \ + /etc/zfs/keys/${hostname,,}.key \ + /mnt/etc/zfs/keys/ +elif [[ "${1}" == '--unmount' ]]; then + mount | grep -v zfs | tac | awk '/\/mnt/ {print $3}' | xargs -I {} umount -Rlf {} + + if [[ "${ID}" == 'fedora' ]]; then + umount \ + -nR \ + /mnt + fi + + zpool \ + export \ + -a +elif [[ "${1}" == '--host-id' ]]; then + zgenhostid \ + -f \ + 0x00bab10c +fi