Add partial support for NetBSD and OpenBSD
[snf-image] / snf-image-helper / tasks / 30MountImage.in
index b0c41ab..6938e22 100644 (file)
@@ -45,7 +45,19 @@ if [ ! -b "$rootdev" ]; then
         "(=$SNF_IMAGE_PROPERTY_ROOT_PARTITION) is valid."
 fi
 
-$MOUNT "$rootdev" "$SNF_IMAGE_TARGET" -o rw
+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
 
 if [ "$SNF_IMAGE_PROPERTY_OSFAMILY" != "linux" ]; then
     exit 0