diff --git a/recipes-openharmony/openharmony/files/openharmony-preinit b/recipes-openharmony/openharmony/files/openharmony-preinit
index ad31ecde7532b7d0ef5c00c31e93516ef68ac4be..f7eb48ef132e6f6d7e439640d5608886649cee00 100644
--- a/recipes-openharmony/openharmony/files/openharmony-preinit
+++ b/recipes-openharmony/openharmony/files/openharmony-preinit
@@ -92,24 +92,12 @@ if [ -c /dev/dri/card0 ]; then
 	chmod 666 /dev/dri/card0
 fi
 
-install -m 755 -d /dev/unix/socket
-
 export XDG_RUNTIME_DIR=/data/weston
 export XKB_CONFIG_ROOT=/etc/openharmony/xkb
 export XKB_CONFIG_EXTRA_PATH=/etc/openharmony/xkb
 
 STARTUP_CMD_SLEEP=4
 
-# trigger: part of the init process itself
-if systemctl -q is-enabled param.service; then
-	/system/bin/param_service &
-	sleep "$STARTUP_CMD_SLEEP"
-        while [ "$(setparam foobar 42)" != "setparam foobar 42 success" ] ; do
-            echo "param_service not ready"
-            sleep 1
-        done
-fi
-
 # Explicitly set default value to silence error message about parameter not being set
 setparam persist.ace.trace.enabled 0
 
diff --git a/recipes-openharmony/openharmony/files/openharmony-preinit.service b/recipes-openharmony/openharmony/files/openharmony-preinit.service
index 3b3fc0173a53ae716fff6cd5f3f4349e867f0ed9..ca384e6a6104516c8bf5026614ba36e1e69e3a49 100644
--- a/recipes-openharmony/openharmony/files/openharmony-preinit.service
+++ b/recipes-openharmony/openharmony/files/openharmony-preinit.service
@@ -1,5 +1,7 @@
 [Unit]
 Description=OpenHarmony pre-init setup
+After=param.service
+Requires=param.service
 
 [Service]
 Type=oneshot
diff --git a/recipes-openharmony/openharmony/files/param.service b/recipes-openharmony/openharmony/files/param.service
index aa8b6ce66843d5695e0410a7c57dc0f12d0fd260..5a26b545a561182334a0147f89b4e2952839947b 100644
--- a/recipes-openharmony/openharmony/files/param.service
+++ b/recipes-openharmony/openharmony/files/param.service
@@ -2,9 +2,11 @@
 Description=OpenHarmony Param Service
 
 [Service]
-Type=oneshot
-ExecStart=/bin/echo "OpenHarmony Param Service"
-RemainAfterExit=yes
+Type=notify
+ExecStartPre=install -m 755 -d /dev/unix/socket
+ExecStartPre=install -m 755 -d /data/param
+ExecStartPre=install -m 755 -d /dev/__parameters__
+ExecStart=/usr/bin/param_service
 
 [Install]
 WantedBy=multi-user.target