Android 7.1.2 添加開機(jī)啟動(dòng)腳本

需求:基于msm8953平臺(tái),在系統(tǒng)開機(jī)過程中的開機(jī)服務(wù)中,添加一個(gè)開機(jī)服務(wù),并由改服務(wù)啟動(dòng)一個(gè)開機(jī)腳本。

以下patch驗(yàn)證可行

diff --git a/device/qcom/common/base.mk b/device/qcom/common/base.mk
index 91ad523..d020f23 100755
--- a/device/qcom/common/base.mk
+++ b/device/qcom/common/base.mk
@@ -284,6 +284,7 @@ INIT += init.mdm.sh
 INIT += init.qcom.uicc.sh
 INIT += fstab.qcom
 INIT += init.qcom.sensors.sh
+INIT += testScript.sh
 
 #IPROUTE2
 IPROUTE2 := ip
diff --git a/device/qcom/common/rootdir/Android.mk b/device/qcom/common/rootdir/Android.mk
index f761806..a57f0b9 100644
--- a/device/qcom/common/rootdir/Android.mk
+++ b/device/qcom/common/rootdir/Android.mk
@@ -234,6 +234,14 @@ LOCAL_SRC_FILES    := etc/init.qcom.sensors.sh
 LOCAL_MODULE_PATH  := $(TARGET_ROOT_OUT)
 include $(BUILD_PREBUILT)
 
+include $(CLEAR_VARS)
+LOCAL_MODULE       := testScript.sh
+LOCAL_MODULE_TAGS  := optional eng
+LOCAL_MODULE_CLASS := ETC
+LOCAL_SRC_FILES    := etc/testScript.sh
+LOCAL_MODULE_PATH  := $(TARGET_OUT_EXECUTABLES)
+include $(BUILD_EXECUTABLE)
+
 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
     include $(CLEAR_VARS)
     LOCAL_MODULE       := init.qcom.test.rc
diff --git a/device/qcom/common/rootdir/etc/init.qcom.rc b/device/qcom/common/rootdir/etc/init.qcom.rc
index c38b539..2fbce87 100644
--- a/device/qcom/common/rootdir/etc/init.qcom.rc
+++ b/device/qcom/common/rootdir/etc/init.qcom.rc
@@ -1242,3 +1242,16 @@ on property:sys.boot_completed=1
         touch /sys/hdmiin1/format
         chmod 777 /sys/hdmiin0/format
         chmod 777 /sys/hdmiin1/format
+
+        #update_bq57520.sh script
+        chmod 777 /system/bin/testScript.sh
+   start testScript
+
+service testScript /system/bin/testScript.sh
+   class late_start
+   user root
+   group root shell system
+   disabled 
+   oneshot   
+
+
diff --git a/device/qcom/sepolicy/common/file_contexts b/device/qcom/sepolicy/common/file_contexts
index 3269b2d..d34f538 100755
--- a/device/qcom/sepolicy/common/file_contexts
+++ b/device/qcom/sepolicy/common/file_contexts
@@ -394,3 +394,5 @@
 
 #ethan add for wifi nv file
 /system/bin/WifiNvService                                            u:object_r:mmi_exec:s0
+
+/system/bin/testScript\.sh                                           u:object_r:qti_init_shell_exec:s0
diff --git a/device/qcom/sepolicy/common/init_shell.te b/device/qcom/sepolicy/common/init_shell.te
index 3962d29..88f2f71 100644
--- a/device/qcom/sepolicy/common/init_shell.te
+++ b/device/qcom/sepolicy/common/init_shell.te
@@ -2,6 +2,7 @@
 # Normally these are shell commands or scripts invoked via sh
 # from an init*.rc file.  No service should ever run in this domain.
 type qti_init_shell, domain, domain_deprecated;
+type qti_init_shell_exec, exec_type,file_type;
 domain_auto_trans(init, shell_exec, qti_init_shell)
 
 # For executing init shell scripts (init.qcom.early_boot.sh)
@@ -199,3 +200,14 @@ allow qti_init_shell sysfs_zram:file w_file_perms;
 
 # To get GPU frequencies
 allow qti_init_shell sysfs_kgsl:file r_file_perms;
+
+
+#added by fieger
+allow qti_init_shell sdcardfs:chr_file {read};
+allow qti_init_shell mnt_user_file:dir search;
+allow qti_init_shell mnt_user_file:lnk_file read;
+allow qti_init_shell sdcardfs:dir search;
+allow qti_init_shell storage_file:dir search;
+allow qti_init_shell storage_file:lnk_file read;
+allow qti_init_shell tmpfs:lnk_file read;
+allow qti_init_shell sysfs:file {read write};


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容