Custom init script support with Omni extras
Based on a stripped-down version of Cyanogenmod's initscript extras
Change-Id: I5d4dc3da437f6fe3a86d5dada563c1df8d20c902
diff --git a/config/common.mk b/config/common.mk
index da92c9b..35451c3 100644
--- a/config/common.mk
+++ b/config/common.mk
@@ -25,6 +25,14 @@
vendor/custom/prebuilt/etc/init.d/00banner:system/etc/init.d/00banner \
vendor/custom/prebuilt/bin/sysinit:system/bin/sysinit
+# userinit support
+PRODUCT_COPY_FILES += \
+ vendor/custom/prebuilt/etc/init.d/90userinit:system/etc/init.d/90userinit
+
+# Init script file with custom extras
+PRODUCT_COPY_FILES += \
+ vendor/custom/prebuilt/etc/init.local.rc:root/init.custom.rc
+
# Enable SIP and VoIP on all targets
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml
diff --git a/prebuilt/etc/init.d/90userinit b/prebuilt/etc/init.d/90userinit
new file mode 100755
index 0000000..e2b1643
--- /dev/null
+++ b/prebuilt/etc/init.d/90userinit
@@ -0,0 +1,15 @@
+#!/system/bin/sh
+# call userinit.sh and/or userinit.d/* scripts if present in /data/local
+
+if [ -e /data/local/userinit.sh ];
+then
+ log -p i -t userinit "Executing /data/local/userinit.sh";
+ logwrapper /system/bin/sh /data/local/userinit.sh;
+ setprop omni.userinit.active 1;
+fi;
+
+if [ -d /data/local/userinit.d ];
+then
+ logwrapper busybox run-parts /data/local/userinit.d;
+ setprop omni.userinit.active 1;
+fi;
diff --git a/prebuilt/etc/init.local.rc b/prebuilt/etc/init.local.rc
new file mode 100644
index 0000000..677f570
--- /dev/null
+++ b/prebuilt/etc/init.local.rc
@@ -0,0 +1,21 @@
+# Omni Extras
+
+on init
+ export ANDROID_CACHE /cache
+ export TERMINFO /system/etc/terminfo
+ export TERM linux
+
+on post-fs-data
+ mkdir /cache/dalvik-cache 0771 system system
+ chown system system /cache/dalvik-cache
+ chmod 0771 /cache/dalvik-cache
+ mkdir /data/.ssh 0750 root shell
+
+ # Run sysinit
+ start sysinit
+
+# sysinit (/system/etc/init.d)
+service sysinit /system/bin/sysinit
+ user root
+ oneshot
+ disabled