From 53418f43c7d4807c0561ec8df6eebc9bc2b45074 Mon Sep 17 00:00:00 2001 From: Esben Haabendal <esben@geanix.com> Date: Thu, 9 Mar 2023 20:26:42 +0100 Subject: [PATCH] openharmony-standard: Run hdcd as systemd service Signed-off-by: Esben Haabendal <esben@geanix.com> --- .../openharmony/files/hdcd.service | 12 +++++++++--- .../openharmony/files/hdcd.socket | 9 +++++++++ .../openharmony/files/openharmony-preinit | 16 ---------------- .../openharmony/openharmony-standard_3.0.bb | 1 - 4 files changed, 18 insertions(+), 20 deletions(-) create mode 100644 recipes-openharmony/openharmony/files/hdcd.socket diff --git a/recipes-openharmony/openharmony/files/hdcd.service b/recipes-openharmony/openharmony/files/hdcd.service index dc543507..e22f6103 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 00000000..fa23cf51 --- /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 86574241..54a9bf4c 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 363ceb80..8141ba42 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" -- GitLab