diff --git a/meta-ohos-core/recipes-core/x-mounts/x-mounts.bb b/meta-ohos-core/recipes-core/x-mounts/x-mounts.bb new file mode 100644 index 0000000000000000000000000000000000000000..88b39312655bd1a7de73beeeb7d861b871388a29 --- /dev/null +++ b/meta-ohos-core/recipes-core/x-mounts/x-mounts.bb @@ -0,0 +1,45 @@ +# SPDX-FileCopyrightText: Huawei Inc. +# +# SPDX-License-Identifier: Apache-2.0 + +SUMMARY = "Systemd mount units for the provided partitions" +SECTION = "base" +DESCRIPTION = "This recipe provides a set of mount units for the partition \ +table used for the OS. It becomes the foundation of various functionalities. \ +For example, runtime state management as part of a separatae state partition \ +(sysdata)" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +SRC_URI = " \ + file://run-mount-boot.mount \ + file://run-mount-devdata.mount \ + file://run-mount-appdata.mount \ + file://run-mount-sysdata.mount \ + " + +inherit allarch systemd + +SYSTEMD_SERVICE_${PN} = " \ + run-mount-boot.mount \ + run-mount-sysdata.mount \ + run-mount-devdata.mount \ + run-mount-appdata.mount \ + " +SYSTEMD_AUTO_ENABLE = "enable" + +LABELS = " \ + ${BOOT_PARTITION_LABEL} \ + ${DEVDATA_PARTITION_LABEL} \ + ${APPDATA_PARTITION_LABEL} \ + ${SYSDATA_PARTITION_LABEL} \ + " + +do_install () { + install -d ${D}${systemd_unitdir}/system + for label in ${LABELS}; do + install -m 0644 "${WORKDIR}/run-mount-${label}.mount" "${D}${systemd_unitdir}/system" + done +} + +FILES_${PN} += "${systemd_unitdir}" diff --git a/meta-ohos-core/recipes-core/x-mounts/x-mounts/run-mount-appdata.mount b/meta-ohos-core/recipes-core/x-mounts/x-mounts/run-mount-appdata.mount new file mode 100644 index 0000000000000000000000000000000000000000..dcc85a9b6d7143960fa980baabd38233db2f556c --- /dev/null +++ b/meta-ohos-core/recipes-core/x-mounts/x-mounts/run-mount-appdata.mount @@ -0,0 +1,16 @@ +# SPDX-FileCopyrightText: Huawei Inc. +# +# SPDX-License-Identifier: Apache-2.0 + +[Unit] +Description=Application Data File System +DefaultDependencies=no +Conflicts=umount.target +Before=local-fs.target umount.target + +[Mount] +What=/dev/disk/by-label/appdata +Where=/run/mount/appdata + +[Install] +WantedBy=local-fs.target diff --git a/meta-ohos-core/recipes-core/x-mounts/x-mounts/run-mount-boot.mount b/meta-ohos-core/recipes-core/x-mounts/x-mounts/run-mount-boot.mount new file mode 100644 index 0000000000000000000000000000000000000000..6157c25e0086997135fded3031e59c20e3aa2adc --- /dev/null +++ b/meta-ohos-core/recipes-core/x-mounts/x-mounts/run-mount-boot.mount @@ -0,0 +1,16 @@ +# SPDX-FileCopyrightText: Huawei Inc. +# +# SPDX-License-Identifier: Apache-2.0 + +[Unit] +Description=Boot File System +DefaultDependencies=no +Conflicts=umount.target +Before=local-fs.target umount.target + +[Mount] +What=/dev/disk/by-label/boot +Where=/run/mount/boot + +[Install] +WantedBy=local-fs.target diff --git a/meta-ohos-core/recipes-core/x-mounts/x-mounts/run-mount-devdata.mount b/meta-ohos-core/recipes-core/x-mounts/x-mounts/run-mount-devdata.mount new file mode 100644 index 0000000000000000000000000000000000000000..71d741679345a6a51c7b11ac25bccf86ccd1bb79 --- /dev/null +++ b/meta-ohos-core/recipes-core/x-mounts/x-mounts/run-mount-devdata.mount @@ -0,0 +1,17 @@ +# SPDX-FileCopyrightText: Huawei Inc. +# +# SPDX-License-Identifier: Apache-2.0 + +[Unit] +Description=Device Data File System +DefaultDependencies=no +Conflicts=umount.target +Before=local-fs.target umount.target + +[Mount] +What=/dev/disk/by-label/devdata +Where=/run/mount/devdata +Options=ro + +[Install] +WantedBy=local-fs.target diff --git a/meta-ohos-core/recipes-core/x-mounts/x-mounts/run-mount-sysdata.mount b/meta-ohos-core/recipes-core/x-mounts/x-mounts/run-mount-sysdata.mount new file mode 100644 index 0000000000000000000000000000000000000000..3941cbb0ba6684ec2f21438f9ff7fcba4be8d4e8 --- /dev/null +++ b/meta-ohos-core/recipes-core/x-mounts/x-mounts/run-mount-sysdata.mount @@ -0,0 +1,16 @@ +# SPDX-FileCopyrightText: Huawei Inc. +# +# SPDX-License-Identifier: Apache-2.0 + +[Unit] +Description=System Data File System +DefaultDependencies=no +Conflicts=umount.target +Before=local-fs.target umount.target + +[Mount] +What=/dev/disk/by-label/sysdata +Where=/run/mount/sysdata + +[Install] +WantedBy=local-fs.target