summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcomponents/9990-misc-helpers.sh21
1 files changed, 14 insertions, 7 deletions
diff --git a/components/9990-misc-helpers.sh b/components/9990-misc-helpers.sh
index 9318a4b..e58f283 100755
--- a/components/9990-misc-helpers.sh
+++ b/components/9990-misc-helpers.sh
@@ -1313,13 +1313,20 @@ do_union ()
then
panic "overlay needs at least one lower filesystem (read-only branch)."
fi
- # overlayfs requires:
- # + a workdir to become mounted
- # + workdir and upperdir to reside under the same mount
- # + workdir and upperdir to be in separate directories
- mkdir "${unionrw}/rw"
- mkdir "${unionrw}/work"
- unionmountopts="-o noatime,lowerdir=${unionro},upperdir=${unionrw}/rw,workdir=${unionrw}/work"
+ unionmountopts="-o noatime,lowerdir=${unionro},upperdir=${unionrw}"
+ if ! mount -t ${UNIONTYPE} ${unionmountopts} ${UNIONTYPE} "${unionmountpoint}" 2>/dev/null
+ then
+ # Ref: kiwi from OpenSuse kiwi-7.02.18-1.1
+ # overlayfs in version >= v22 behaves differently
+ # + renamed from overlayfs to overlay
+ # + requires a workdir to become mounted
+ # + requires workdir and upperdir to reside under the same mount
+ # + requires workdir and upperdir to be in separate subdirs
+ mkdir ${unionrw}/rw
+ mkdir ${unionrw}/work
+ unionmountopts="-o noatime,lowerdir=${unionro},upperdir=${unionrw}/rw,workdir=${unionrw}/work"
+ mount -t ${UNIONTYPE} ${unionmountopts} ${UNIONTYPE} "${unionmountpoint}"
+ fi
;;
esac