summaryrefslogtreecommitdiffstats
path: root/etc/init.rc
diff options
context:
space:
mode:
Diffstat (limited to 'etc/init.rc')
-rw-r--r--etc/init.rc23
1 files changed, 20 insertions, 3 deletions
diff --git a/etc/init.rc b/etc/init.rc
index 175489066..6e0595b44 100644
--- a/etc/init.rc
+++ b/etc/init.rc
@@ -1,11 +1,18 @@
import /init.recovery.${ro.hardware}.rc
on early-init
+ # Apply strict SELinux checking of PROT_EXEC on mmap/mprotect calls.
+ write /sys/fs/selinux/checkreqprot 0
+
+ # Set the security context for the init process.
+ # This should occur before anything else (e.g. ueventd) is started.
+ setcon u:r:init:s0
+
start ueventd
start healthd
on init
- export PATH /sbin
+ export PATH /sbin:/system/bin
export ANDROID_ROOT /system
export ANDROID_DATA /data
export EXTERNAL_STORAGE /sdcard
@@ -16,14 +23,20 @@ on init
mkdir /system
mkdir /data
mkdir /cache
- mount /tmp /tmp tmpfs
+ mount tmpfs tmpfs /tmp
chown root shell /tmp
chmod 0775 /tmp
+on fs
+ mkdir /dev/usb-ffs 0770 shell shell
+ mkdir /dev/usb-ffs/adb 0770 shell shell
+ mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
+
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 18D1
write /sys/class/android_usb/android0/idProduct D001
+ write /sys/class/android_usb/android0/f_ffs/aliases adb
write /sys/class/android_usb/android0/functions adb
write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
write /sys/class/android_usb/android0/iProduct ${ro.product.model}
@@ -43,15 +56,19 @@ on property:sys.powerctl=*
service ueventd /sbin/ueventd
critical
+ seclabel u:r:ueventd:s0
service healthd /sbin/healthd -n
critical
+ seclabel u:r:healthd:s0
service recovery /sbin/recovery
+ seclabel u:r:recovery:s0
-service adbd /sbin/adbd recovery
+service adbd /sbin/adbd --root_seclabel=u:r:su:s0 --device_banner=recovery
disabled
socket adbd stream 660 system system
+ seclabel u:r:adbd:s0
# Always start adbd on userdebug and eng builds
on property:ro.debuggable=1