summaryrefslogtreecommitdiff
path: root/init.angler.rc
diff options
context:
space:
mode:
authorWei Wang <wvw@google.com>2016-11-14 16:15:55 -0800
committerWei Wang <wvw@google.com>2016-11-19 20:41:09 -0800
commit540126f55ff039c2f8250078d7a24a02c4429f80 (patch)
tree647b3ce54de52de6bfc4de7c81e527b7ea060aa7 /init.angler.rc
parent087f1cf34711dfb7a61ac17485c8d0c270eceb71 (diff)
downloadangler-540126f55ff039c2f8250078d7a24a02c4429f80.tar.gz
angler: Accelerate boot by paralleling device enable
Some QCOM devices require sysfs to trigger boot/init which are blocking the init process. [ 7.453205] init: Command 'write /sys/kernel/boot_adsp/boot 1' action=post-fs-data (/init.angler.rc:166) returned 0 took 271.936ms. This CL is to put those slow to start devices in a separate service and wait for the service to be done later on. Bug: 32712851 Test: On device Change-Id: I675702a05b1e6b0b5e9b908a9b638a074fe92018
Diffstat (limited to 'init.angler.rc')
-rwxr-xr-xinit.angler.rc14
1 files changed, 12 insertions, 2 deletions
diff --git a/init.angler.rc b/init.angler.rc
index 0d6bdd8..afa73e0 100755
--- a/init.angler.rc
+++ b/init.angler.rc
@@ -60,6 +60,9 @@ on early-boot
# Update dm-verity state and set partition.*.verified properties
verity_update_state
+ # Busy loop to wait for devices booted by devstart_sh just in case device not ready
+ exec - root root system -- /system/bin/init.qcom.devwait.sh
+
on boot
# execute script to set initial CPU settings
# don't run as a service to avoid race conditions
@@ -150,7 +153,10 @@ on post-fs
symlink /dev/block/platform/soc.0/f9824900.sdhci /dev/block/bootdevice
start qseecomd
+ # Busy loop to wait for qseecomd started
exec - root root system -- /system/bin/init.angler.qseecomd.sh
+ # Start devices by sysfs trigger
+ start devstart_sh
on post-fs-data
# boot time fs tune
@@ -163,8 +169,6 @@ on post-fs-data
write /sys/block/dm-1/queue/read_ahead_kb 2048
write /sys/block/dm-2/queue/read_ahead_kb 2048
- write /sys/kernel/boot_adsp/boot 1
-
# Ecc_Handler qcril.db
mkdir /data/misc/radio 0770 system radio
@@ -499,3 +503,9 @@ service diag_test_server /vendor/bin/diag_test_server
on property:ro.boot.mode=hw-factory
start diag_test_server
+service devstart_sh /system/bin/init.qcom.devstart.sh
+ class main
+ user root
+ group root system
+ disabled
+ oneshot