diff --git a/setup.sh b/setup.sh index 4acd9d7..193882c 100644 --- a/setup.sh +++ b/setup.sh @@ -46,7 +46,7 @@ function install_zfs () { function get_partitions () { declare partitions_json - partitions_json="$(lsblk --output PATH,PARTTYPE --json)" || return 1 + partitions_json="$(lsblk --output PATH,PARTTYPE --json --tree)" || return 1 printf -- '%s' "${partitions_json}" return 0 } @@ -58,13 +58,13 @@ function get_parts () { zfs_install_drive="${2:-}" case "${parttype}" in zfs) - parts="$(get_partitions | jq --raw-output '.[][] | select(.parttype=="6a85cf4d-1dd2-11b2-99a6-080020736631") | .path')" || exit 1 + parts="$(get_partitions | jq --raw-output '.[][] | select(.children | length > 0) | select(.children[].parttype=="6a85cf4d-1dd2-11b2-99a6-080020736631") | .children[].path')" || exit 1 ;; efi) if [[ "${zfs_install_drive}" ]]; then parts="$(get_partitions | jq --raw-output '.[][] | select(.path=="'"${zfs_install_drive}"'") | select(.parttype=="c12a7328-f81f-11d2-ba4b-00a0c93ec93b") | .path')" || exit 1 else - parts="$(get_partitions | jq --raw-output '.[][] | select(.parttype=="c12a7328-f81f-11d2-ba4b-00a0c93ec93b") | .path')" || exit 1 + parts="$(get_partitions | jq --raw-output '.[][] | select(.children | length > 0) | select(.children[].parttype=="c12a7328-f81f-11d2-ba4b-00a0c93ec93b") | .children[].path')" || exit 1 fi ;; *)