diff --git a/recipes-openharmony/openharmony/files/hdcd.service b/recipes-openharmony/openharmony/files/hdcd.service index dc5435074b90aaa0d16de4d5e7fa083e99ac3040..e22f6103cc0928f52cfcbc7862567144fc6bdbfc 100644 --- a/recipes-openharmony/openharmony/files/hdcd.service +++ b/recipes-openharmony/openharmony/files/hdcd.service @@ -1,10 +1,16 @@ [Unit] Description=OpenHarmony Device Connector Daemon service +Wants=hdcd.socket +After=hdcd.socket +Wants=param.service +After=param.service [Service] -Type=oneshot -ExecStart=/bin/echo "OpenHarmony Device Connector Daemon Service" -RemainAfterExit=yes +Type=exec +ExecStartPre=setparam persist.hdc.port 35000 +ExecStartPre=setparam persist.hdc.root 1 +ExecStartPre=setparam ro.hdc.secure 0 +ExecStart=/usr/bin/hdcd -t [Install] WantedBy=multi-user.target diff --git a/recipes-openharmony/openharmony/files/hdcd.socket b/recipes-openharmony/openharmony/files/hdcd.socket new file mode 100644 index 0000000000000000000000000000000000000000..fa23cf5184aa324431b8ac601afb702e65715c41 --- /dev/null +++ b/recipes-openharmony/openharmony/files/hdcd.socket @@ -0,0 +1,9 @@ +[Unit] +Description=OpenHarmony Device Connector Daemon socket + +[Socket] +ExecStartPre=install -o system -g system -m 775 -d /run/openharmony/hdc +ListenSequentialPacket=/run/openharmony/hdc/FOOBAR +SocketUser=system +SocketGroup=system +SocketMode=0660 diff --git a/recipes-openharmony/openharmony/files/openharmony-preinit b/recipes-openharmony/openharmony/files/openharmony-preinit index 865742416c06a41e4d17b52f0483e2825c01295a..54a9bf4c66d4d2da60728998e226394a1de23ada 100644 --- a/recipes-openharmony/openharmony/files/openharmony-preinit +++ b/recipes-openharmony/openharmony/files/openharmony-preinit @@ -136,20 +136,4 @@ fi #sa_main /system/profile/dps_service.xml & # SA: 1401 180 3502 #sleep "$STARTUP_CMD_SLEEP" -# trigger: boot? -# "name" : "hdcd", -# "path" : ["/system/bin/hdcd"], -# "socket" : [ -# "hdcd seqpacket 660 system system false" -# ], -# "disabled" : 1 -if systemctl -q is-enabled hdcd.service; then - echo >/dev/console "Starting OpenHarmony hdcd service" - setparam persist.hdc.port 35000 - setparam persist.hdc.root 1 # We are running hdcd as root - setparam ro.hdc.secure 0 # Do not enable secure mode - sleep "$STARTUP_CMD_SLEEP" - /system/bin/hdcd -t & -fi - echo "All OpenHarmony services started" >/dev/console diff --git a/recipes-openharmony/openharmony/openharmony-standard_3.0.bb b/recipes-openharmony/openharmony/openharmony-standard_3.0.bb index 363ceb808c36071cc98ee8979e3750c73f1ef695..8141ba42329cc031870df8d973fa9f1c42ad5bb1 100644 --- a/recipes-openharmony/openharmony/openharmony-standard_3.0.bb +++ b/recipes-openharmony/openharmony/openharmony-standard_3.0.bb @@ -1796,7 +1796,6 @@ RDEPENDS:${PN}-ptest += "${PN}-distributedhardware-devicemanager-ptest" PACKAGES =+ "${PN}-hdc" FILES:${PN}-hdc = " \ ${bindir}/hdcd \ - ${systemd_unitdir}/hdcd.service \ " SYSTEMD_PACKAGES += "${PN}-hdc" SYSTEMD_SERVICE:${PN}-hdc = "hdcd.service"