on boot mount debugfs /sys/kernel/debug /sys/kernel/debug # Backwards Compat - XXX: Going away in G* symlink /system/etc /etc symlink /mnt/sdcard /sdcard symlink /mnt/emmc /emmc # Include extra init file import /system/etc/init.local.rc import /device.rc # Run sysinit exec /system/bin/sysinit setprop ro.build.product aries setprop ro.product.device aries setprop ro.radio.noril yes # fake some battery state setprop status.battery.state Slow setprop status.battery.level 5 setprop status.battery.level_raw 50 setprop status.battery.level_scale 9 # wi-fi mkdir /data/misc/wifi/sockets 0770 wifi wifi mkdir /data/misc/dhcp 0770 dhcp dhcp # phone setprop ro.telephony.call_ring.multiple 0 # change permission for uart_switch chown radio radio /sys/class/sec/uart_switch/UART_SEL/value chown compass root /sys/class/input/input3/distortion chown compass root /sys/class/input/input3/offsets chown compass root /sys/class/input/input3/shape chown compass root /sys/class/input/input3/threshold chmod 660 /sys/class/sec/uart_switch/UART_SEL/value # change permission for compass chown compass input /sys/class/input/input3/offsets chown compass input /sys/class/input/input3/shape chown compass input /sys/class/input/input3/distortion chown compass input /sys/class/input/input3/threshold # create data/gps for GPS demon mkdir /data/gps 700 gps system chown gps system /data/gps chown gps root /sys/class/sec/gps/GPS_PWR_EN/value chmod 660 /sys/class/sec/gps/GPS_PWR_EN/value on fs mkdir /radio 0775 radio radio mount yaffs2 mtd@system /system mount yaffs2 mtd@system /system ro remount mount yaffs2 mtd@cache /cache mount yaffs2 mtd@radio /radio mount ext4 /dev/block/mmcblk0p2 /data wait nosuid nodev noatime nodiratime noauto_da_alloc mount yaffs2 mtd@datadata /datadata chown radio radio /radio/modem.bin # We chown/chmod /efs because mount is run as root + defaults mkdir /efs 0775 radio radio mount yaffs2 /dev/block/mtdblock4 /efs chown radio radio /efs chmod 770 /efs/bluetooth chmod 770 /efs/imei # permissions for bluetooth. chown bluetooth bluetooth /dev/s3c2410_serial0 chmod 0600 /dev/s3c2410_serial0 chmod 0660 /sys/class/rfkill/rfkill0/state chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type # Permissions for System Server and daemons. chown system system /sys/class/backlight/s5p_bl/brightness on post-fs # remove /sbin/sh so that "adb install" can work properly exec /sbin/setupenv.sh # We chown/chmod /data and /datadata again so because mount is run as root + defaults chown system system /data chmod 0771 /data chown system system /datadata chmod 0771 /datadata # Create dump dir and collect dumps. # Do this before we mount cache so eventually we can use cache for # storing dumps on platforms which do not have a dedicated dump partition. mkdir /data/dontpanic chown root log /data/dontpanic chmod 0750 /data/dontpanic # Collect apanic data, free resources and re-arm trigger copy /proc/apanic_console /data/dontpanic/apanic_console chown root log /data/dontpanic/apanic_console chmod 0640 /data/dontpanic/apanic_console copy /proc/apanic_threads /data/dontpanic/apanic_threads chown root log /data/dontpanic/apanic_threads chmod 0640 /data/dontpanic/apanic_threads write /proc/apanic_console 1 # Same reason as /data above chown system cache /cache chmod 0771 /cache # This may have been created by the recovery system with odd permissions chown system cache /cache/recovery chmod 0770 /cache/recovery #change permissions on vmallocinfo so we can grab it from bugreports chown root log /proc/vmallocinfo chmod 0440 /proc/vmallocinfo #change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks chown root system /proc/kmsg chmod 0440 /proc/kmsg chown root system /proc/sysrq-trigger chmod 0220 /proc/sysrq-trigger # create basic filesystem structure mkdir /data/misc 01771 system misc mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth mkdir /data/misc/bluetooth 0770 system system mkdir /data/misc/keystore 0700 keystore keystore mkdir /data/misc/vpn 0770 system system mkdir /data/misc/systemkeys 0700 system system mkdir /data/misc/vpn/profiles 0770 system system # give system access to wpa_supplicant.conf for backup and restore mkdir /data/misc/wifi 0770 wifi wifi chmod 0770 /data/misc/wifi chmod 0660 /data/misc/wifi/wpa_supplicant.conf mkdir /data/local 0771 shell shell mkdir /data/local/tmp 0771 shell shell #mkdir /data/data 0771 system system # symlink /data/data to /datadata for performance symlink /datadata /data/data mkdir /data/app-private 0771 system system mkdir /data/app 0771 system system mkdir /data/property 0700 root root # create dalvik-cache and double-check the perms mkdir /data/dalvik-cache 0771 system system chown system system /data/dalvik-cache chmod 0771 /data/dalvik-cache mkdir /cache/dalvik-cache 0771 system system chown system system /cache/dalvik-cache chmod 0771 /cache/dalvik-cache # create the lost+found directories, so as to enforce our permissions mkdir /data/lost+found 0770 mkdir /cache/lost+found 0770 # double check the perms, in case lost+found already exists, and set owner chown root root /data/lost+found chmod 0770 /data/lost+found chown root root /cache/lost+found chmod 0770 /cache/lost+found # allow net_raw to have access to /dev/socket directory chown root net_raw /dev/socket chmod 0775 /dev/socket #symlinks for samsung RIL symlink /radio/modem.bin /dev/block/bml12 # allow system to modify cpufreq control files chown root system /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor chown root system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq chown root system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq # 3D init service pvrsrvinit /system/vendor/bin/pvrsrvinit user root group root oneshot service gpsd /system/vendor/bin/gpsd -c /vendor/etc/gps.xml socket gps seqpacket 0660 gps system user gps group system inet service wpa_supplicant /system/bin/wpa_supplicant -Dwext -ieth0 -c/data/misc/wifi/wpa_supplicant.conf socket wpa_eth0 dgram 0660 wifi wifi disabled oneshot service dhcpcd_eth0 /system/bin/dhcpcd -ABKL disabled oneshot service iprenew_eth0 /system/bin/dhcpcd -n disabled oneshot service bdaddr /system/bin/bdaddr_read user root disabled oneshot on property:init.svc.bootanim=running start bdaddr service hciattach /system/bin/brcm_patchram_plus --enable_hci --enable_lpm \ --baudrate 3000000 --patchram /vendor/firmware/bcm4329.hcd /dev/s3c2410_serial0 user bluetooth group bluetooth net_bt_admin disabled oneshot # bugreport is triggered by holding down volume down, volume up and power service bugreport /system/bin/dumpstate -d -v -o /sdcard/bugreports/bugreport disabled oneshot keycodes 114 115 116 service servicemanager /system/bin/servicemanager user system critical onrestart restart zygote onrestart restart media service vold /system/bin/vold socket vold stream 0660 root mount ioprio be 2 service netd /system/bin/netd socket netd stream 0660 root system service debuggerd /system/bin/debuggerd service ril-daemon /system/bin/rild socket rild stream 660 root radio socket rild-debug stream 660 radio system user root group radio cache inet misc audio sdcard_rw net_admin net_raw service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server socket zygote stream 666 onrestart write /sys/android_power/request_state wake onrestart write /sys/power/state on onrestart restart media onrestart restart netd service media /system/bin/mediaserver user media group system audio camera graphics inet net_bt net_bt_admin net_raw ioprio rt 4 service bootanim /system/bin/bootanimation user graphics group graphics disabled oneshot service dbus /system/bin/dbus-daemon --system --nofork socket dbus stream 660 bluetooth bluetooth user bluetooth group bluetooth net_bt_admin service bluetoothd /system/bin/bluetoothd -n socket bluetooth stream 660 bluetooth bluetooth socket dbus_bluetooth stream 660 bluetooth bluetooth # init.rc does not yet support applying capabilities, so run as root and # let bluetoothd drop uid to bluetooth with the right linux capabilities group bluetooth net_bt_admin misc disabled service hfag /system/bin/sdptool add --channel=10 HFAG user bluetooth group bluetooth net_bt_admin disabled oneshot service hsag /system/bin/sdptool add --channel=11 HSAG user bluetooth group bluetooth net_bt_admin disabled oneshot service opush /system/bin/sdptool add --channel=12 OPUSH user bluetooth group bluetooth net_bt_admin disabled oneshot service pbap /system/bin/sdptool add --channel=19 PBAP user bluetooth group bluetooth net_bt_admin disabled oneshot service installd /system/bin/installd socket installd stream 600 system system service racoon /system/bin/racoon socket racoon stream 600 system system # racoon will setuid to vpn after getting necessary resources. group net_admin disabled oneshot service mtpd /system/bin/mtpd socket mtpd stream 600 system system user vpn group vpn net_admin net_raw disabled oneshot service keystore /system/bin/keystore /data/misc/keystore user keystore group keystore socket keystore stream 666 service dumpstate /system/bin/dumpstate -s socket dumpstate stream 0660 shell log disabled oneshot service orientationd /system/vendor/bin/orientationd user compass group system input service geomagneticd /system/vendor/bin/geomagneticd user compass group system input service tvout /system/bin/tvoutserver user system group graphics service console /system/bin/sh console disabled user shell group log on property:ro.secure=0 start console