#!/bin/sh # SPDX-FileCopyrightText: Huawei Inc. # # SPDX-License-Identifier: Apache-2.0 # Don't print out kernel messages below warning levels to console dmesg -n 4 mkdir -p /data/backup mkdir -p /data/bootchart mkdir -p /data/cache mkdir -p /data/cache/backup mkdir -p /data/cache/backup_stage mkdir -p /data/cache/recovery mkdir -p /data/data/.pulse_dir mkdir -p /data/dhcp mkdir -p /data/drm mkdir -p /data/local/tmp mkdir -p /data/local/traces mkdir -p /data/lost mkdir -p /data/mediadrm mkdir -p /data/media/obb mkdir -p /data/misc/apns mkdir -p /data/misc/audioserver mkdir -p /data/misc/bluedroid mkdir -p /data/misc/bluetooth/logs mkdir -p /data/misc/boottrace mkdir -p /data/misc/cameraserver mkdir -p /data/misc/carrierid mkdir -p /data/misc_ce mkdir -p /data/misc_de mkdir -p /data/misc/dhcp mkdir -p /data/misc/ethernet mkdir -p /data/misc/gatekeeper mkdir -p /data/misc/gcov mkdir -p /data/misc/keychain mkdir -p /data/misc/keystore mkdir -p /data/misc/media mkdir -p /data/misc/net mkdir -p /data/misc/network_watchlist mkdir -p /data/misc/perfprofd mkdir -p /data/misc/profiles/cur mkdir -p /data/misc/profiles/ref mkdir -p /data/misc/profman mkdir -p /data/misc/radio mkdir -p /data/misc/recovery/proc mkdir -p /data/misc/shared_relro mkdir -p /data/misc/sms mkdir -p /data/misc/systemkeys mkdir -p /data/misc/textclassifier mkdir -p /data/misc/trace mkdir -p /data/misc/update_engine mkdir -p /data/misc/update_engine_log mkdir -p /data/misc/user mkdir -p /data/misc/vold mkdir -p /data/misc/vpn mkdir -p /data/misc/wifi/sockets mkdir -p /data/misc/wifi/wpa_supplicant mkdir -p /data/misc/wmtrace mkdir -p /data/misc/zoneinfo mkdir -p /data/nfc/param mkdir -p /data/ota mkdir -p /data/ota_package mkdir -p /data/preloads mkdir -p /data/resourcefoundation.xml mkdir -p /data/ss mkdir -p /data/system_ce mkdir -p /data/system_de mkdir -p /data/system/dropbox mkdir -p /data/system/heapdump mkdir -p /data/system/users mkdir -p /data/user mkdir -p /data/user_de mkdir -p /data/vendor_ce mkdir -p /data/vendor_de mkdir -p /data/vendor/hardware mkdir -p /data/weston mkdir -p /data/log/faultlog/faultlogger mkdir -p /data/log/faultlog/temp mkdir -p /usr/lib/dri chmod -R 777 /data # /dev/dri/card0 needs to be rw for all users if [ -c /dev/dri/card0 ]; then chmod 666 /dev/dri/card0 fi 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 # Explicitly set default value to silence error message about parameter not being set setparam persist.ace.trace.enabled 0 # - pre-init stage # - init stage # - post-init stage # - "trigger early-fs", # - "trigger fs", # - "trigger post-fs", # - "trigger late-fs", # - "trigger post-fs-data", # - "trigger load_persist_props_action", # - "trigger firmware_mounts_complete", # - "trigger early-boot", # - "trigger boot" # trigger: post-fs # "start udevd_service", # "sleep 1", # "start multimodalinputservice", # "start mmi_uinput_service", # "sleep 2", # "export XDG_RUNTIME_DIR /data/weston", # "export XKB_CONFIG_ROOT /etc/xkb", # "export XKB_CONFIG_EXTRA_PATH /etc/xkb", # "mkdir /data/weston", # "chmod 777 /data/weston", # "start weston", # "trigger weston_start", # "sleep 2", # "exec /system/bin/udevadm trigger", # "exec /system/bin/udevadm settle --timeout=30" if systemctl -q is-enabled weston.service; then echo >/dev/console "Starting weston" /system/bin/weston -c /system/etc/weston.ini -B drm-backend.so --tty=1 --use-pixman & sleep "$STARTUP_CMD_SLEEP" fi # trigger: not used? #sa_main /system/profile/dps_service.xml & # SA: 1401 180 3502 #sleep "$STARTUP_CMD_SLEEP" # trigger: boot # "name" : "time_service", # "path" : ["/system/bin/sa_main", "/system/profile/time_service.xml"], # "uid" : "system", # "gid" : ["system", "shell"], # "caps" : ["SYS_TIME", "WAKE_ALARM"] if systemctl -q is-enabled time.service; then echo >/dev/console "Starting OpenHarmony time service" su system -c '/system/bin/sa_main /system/profile/time_service.xml &' # SA: 1401 180 3702 sleep "$STARTUP_CMD_SLEEP" fi # trigger: boot # "name" : "foundation", # "path" : ["/system/bin/sa_main", "/system/profile/foundation.xml"], # "importance" : -20, # "uid" : "system", # "gid" : ["system"], # "caps" : ["SYS_PTRACE", "KILL"] if systemctl -q is-enabled foundation.service; then echo >/dev/console "Starting OpenHarmony foundation service" su system -c '/system/bin/sa_main /system/profile/foundation.xml &' # SA: 180 182 3203 3299 3301 3308 3501 4010 | Required SA: 4700 sleep "$STARTUP_CMD_SLEEP" fi # trigger: boot # "name" : "media_service", # "path" : ["/system/bin/sa_main", "/system/profile/media_service.xml"], # "uid" : "system", # "gid" : ["media_rw", "system"] if systemctl -q is-enabled media.service; then echo >/dev/console "Starting OpenHarmony media service" su system -c '/system/bin/sa_main /system/profile/media_service.xml &' sleep "$STARTUP_CMD_SLEEP" fi # trigger: boot # "name" : "inputmethod_service", # "path" : ["/system/bin/sa_main", "/system/profile/inputmethod_service.xml"], # "uid" : "system", # "gid" : ["system", "shell"], # "caps" : ["SYS_TIME"] if systemctl -q is-enabled inputmethod.service; then echo >/dev/console "Starting OpenHarmony inputmethod service" su system -c '/system/bin/sa_main /system/profile/inputmethod_service.xml &' # SA: 180 1401 3703 sleep "$STARTUP_CMD_SLEEP" fi if systemctl -q is-enabled faultloggerd.service; then echo >/dev/console "Starting OpenHarmony faultlogger service" setparam ro.logsystem.usertype 6 # UserType::OVERSEAS_COMMERCIAL /system/bin/faultloggerd & fi # 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