Add partial support for NetBSD and OpenBSD
[snf-image] / snf-image-helper / tasks / 30MountImage.in
index 1d7946a..6938e22 100644 (file)
@@ -45,8 +45,16 @@ if [ ! -b "$rootdev" ]; then
         "(=$SNF_IMAGE_PROPERTY_ROOT_PARTITION) is valid."
 fi
 
-if [ "$SNF_IMAGE_PROPERTY_OSFAMILY" = "freebsd" ]; then
-    $MOUNT -t ufs -o ufstype=ufs2,rw "$rootdev" "$SNF_IMAGE_TARGET"
+if [[ "$SNF_IMAGE_PROPERTY_OSFAMILY" == *bsd ]]; then
+    if ! $DUMPFS_UFS "$rootdev" &> /dev/null; then
+        os=${SNF_IMAGE_PROPERTY_OSFAMILY^[bsd]}
+        log_error "For ${os^?} images only UFS root partitions are supported."
+    fi
+    usftype="$(get_ufstype "$rootdev")"
+    if [ "x$ufstype" = "x" ]; then
+        exit 1
+    fi
+    $MOUNT -t ufs -o ufstype="$ufstype,rw" "$rootdev" "$SNF_IMAGE_TARGET"
 else
     $MOUNT -o rw "$rootdev" "$SNF_IMAGE_TARGET"
 fi