diff --git a/recipes-openharmony/openharmony/files/dev-binderfs.mount b/recipes-openharmony/openharmony/files/dev-binderfs.mount new file mode 100644 index 0000000000000000000000000000000000000000..5d1b558f33230f94959f6d20474deff915ebb1ec --- /dev/null +++ b/recipes-openharmony/openharmony/files/dev-binderfs.mount @@ -0,0 +1,8 @@ +[Unit] +Description=/dev/binderfs mount +ConditionCapability=CAP_SYS_ADMIN + +[Mount] +What=binder +Where=/dev/binderfs +Type=binder \ No newline at end of file diff --git a/recipes-openharmony/openharmony/files/openharmony-preinit.service b/recipes-openharmony/openharmony/files/openharmony-preinit.service index 3b3fc0173a53ae716fff6cd5f3f4349e867f0ed9..92d76c56d902f394cd85557e3cfcff968e4017b7 100644 --- a/recipes-openharmony/openharmony/files/openharmony-preinit.service +++ b/recipes-openharmony/openharmony/files/openharmony-preinit.service @@ -1,8 +1,13 @@ [Unit] Description=OpenHarmony pre-init setup +Wants=param.service +After=param.service +RequiresMountsFor=/dev/binderfs +After=dev-binderfs.mount [Service] Type=oneshot +ExecStartPre=/bin/sh -c 'ln -fs /dev/binderfs/* /dev/' ExecStart=/bin/sh /usr/sbin/openharmony-preinit RemainAfterExit=yes diff --git a/recipes-openharmony/openharmony/openharmony-standard_3.0.bb b/recipes-openharmony/openharmony/openharmony-standard_3.0.bb index aafcbaed5993e395ca2c0712cab11efc5d9b6895..9976ede3ab62c8c01cbbbab16b6da805ae8d7c41 100644 --- a/recipes-openharmony/openharmony/openharmony-standard_3.0.bb +++ b/recipes-openharmony/openharmony/openharmony-standard_3.0.bb @@ -408,17 +408,22 @@ SYSTEMD_AUTO_ENABLE = "enable" # Used to create folders needed by OH services and components PACKAGES =+ "${PN}-openharmony-preinit" SYSTEMD_PACKAGES = "${PN}-openharmony-preinit" -SYSTEMD_SERVICE:${PN}-openharmony-preinit = "openharmony-preinit.service" +SYSTEMD_SERVICE:${PN}-openharmony-preinit = "openharmony-preinit.service dev-binderfs.mount" FILES:${PN}-openharmony-preinit = " \ ${libdir}/openharmony-preinit \ " -SRC_URI += "file://openharmony-preinit file://openharmony-preinit.service" +SRC_URI += "\ + file://openharmony-preinit \ + file://openharmony-preinit.service \ + file://dev-binderfs.mount \ +" do_install:append() { install -d ${D}/${sbindir} install -m 755 ${WORKDIR}/openharmony-preinit ${D}/${sbindir} install -d ${D}/${systemd_unitdir}/system install -m 644 ${WORKDIR}/openharmony-preinit.service ${D}${systemd_unitdir}/system/ + install -m 644 ${WORKDIR}/dev-binderfs.mount ${D}${systemd_unitdir}/system/ } RDEPENDS:${PN} += "${PN}-openharmony-preinit"