blob: 4280b85b936b731fe887932dfa73bef2931ecad4 [file] [log] [blame]
import init.tenderloin.usb.rc
on early-init
start serial
on init
mkdir /boot
mkdir /system
mkdir /data 0771 system system
mkdir /cache 0770 system cache
# Enable LVM
# We need to set LVM_SYSTEM_DIR for lvm to work and it does not work
# with embedded export command until too late, so we exploit
# the fact that there is /bin/sh on the 13th partition that we can use.
mount ext3 /dev/block/mmcblk0p13 /boot wait noatime barrier=1
# Unfortunately it's dynamically linked so we need to create this
# /lib symlink first and kill it later when no longer needed.
symlink /boot/lib /lib
# Also stupid lvm binary expects block devices to live in /dev,
# not /dev/block
symlink /dev/block/mmcblk0p14 /dev/mmcblk0p14
exec /boot/bin/sh -c "LVM_SYSTEM_DIR=/boot/etc/lvm /boot/usr/sbin/lvm.static vgchange -ay"
# regular mounts
mount ext4 /dev/store/cm-system /system wait ro barrier=1
mount ext4 /dev/store/cm-data /data wait noatime nosuid nodev barrier=1 noauto_da_alloc
mount ext4 /dev/store/cm-cache /cache wait noatime nosuid nodev barrier=1
# remove all the lvm stuff as well as the moboot nextboot instruction
exec /system/xbin/rm -rf /dev/mmcblk0p14 /lib /boot/moboot.next /var
# remount /boot read-only
mount ext3 /dev/block/mmcblk0p13 /boot remount ro wait noatime barrier=1
export EXTERNAL_STORAGE /mnt/sdcard
mkdir /mnt/sdcard 0000 system system
# for backwards compatibility
symlink /mnt/sdcard /sdcard
on post-fs
# camera calibration
mkdir /data/misc/camera 0770 media media
mkdir /data/misc/camera/R5_MVEN003_LD2_ND0_IR0_SH0_FL1_SVEN003_DCCID1044 0770 media media
setprop vold.post_fs_data_done 1
on init
chmod 0666 /proc/net/xt_qtaguid/ctrl
chmod 0660 /dev/ctp_uart
# for Invense MPU3050
chmod 0664 /dev/mpu
chmod 0664 /dev/mpuirq
chmod 0664 /dev/timerirq
chown system system /dev/mpu
chown system system /dev/mpuirq
chown system system /dev/timerirq
chmod 0664 /dev/lm8502
chmod 0664 /sys/class/leds/core_navi_left/brightness
chmod 0664 /sys/class/leds/core_navi_right/brightness
chown system system /dev/lm8502
chown system system /sys/class/leds/core_navi_left/brightness
chown system system /sys/class/leds/core_navi_right/brightness
# for mounting USB storage
mkdir /mnt/usbdisk 0000 system system
# For TS control
chown system system /sys/devices/platform/cy8ctma395/vdd
chown system system /sys/devices/platform/cy8ctma395/xres
chown system system /sys/user_hw/pins/ctp/wake/level
chown system system /dev/i2c-5
# increase per-process file limit to prevent warning
setrlimit 7 10000 10000
on boot
mount debugfs /sys/kernel/debug /sys/kernel/debug
mkdir /data/misc/wifi 0770 system wifi
mkdir /data/misc/wifi/sockets 0770 system wifi
mkdir /data/misc/dhcp
chown dhcp dhcp /data/misc/dhcp
mount debugfs /sys/kernel/debug /sys/kernel/debug
# bluetooth power up/down interface
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
chmod 0660 /sys/class/rfkill/rfkill0/state
# fmtx
chown bluetooth bluetooth /sys/class/rfkill/rfkill1/type
chown bluetooth bluetooth /sys/class/rfkill/rfkill1/state
chmod 0660 /sys/class/rfkill/rfkill1/state
chown bluetooth bluetooth /dev/rfkill
chmod 0660 /dev/rfkill
chown bluetooth bluetooth /sys/user_hw/pins/bt/reset/level
chown bluetooth bluetooth /sys/user_hw/pins/bt/host_wake/level
# Headphone jack detection
chown audio audio /dev/input/event5
chmod 0660 /dev/input/event5
# Increase readahead buffers on MMC devices
write /sys/block/mmcblk0/bdi/read_ahead_kb 1024
# Enable low memory killer to check file pages
write /sys/module/lowmemorykiller/parameters/minfree 8192,10240,12288,14336,16384,20480
write /sys/devices/system/cpu/cpufreq/ondemand/up_threshold 90
write /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate 50000
# allow libaudio to change idle collapse on open/close
#chown audio audio /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
#chmod 0660 /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
#chown audio audio /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
#chmod 0660 /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
#chown audio audio /sys/module/pm_8x60/modes/cpu1/power_collapse/idle_enabled
#chmod 0660 /sys/module/pm_8x60/modes/cpu1/power_collapse/idle_enabled
#chown audio audio /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled
#chmod 0660 /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled
# Enable power collapse where always safe
write /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled 1
write /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled 1
#write /sys/module/pm_8x60/modes/cpu1/power_collapse/idle_enabled 1
write /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled 1
#write /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled 1
write /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/suspend_enabled 1
write /sys/module/rpm_resources/enable_low_power/vdd_dig 2
write /sys/module/rpm_resources/enable_low_power/vdd_mem 2
write /sys/module/rpm_resources/enable_low_power/L2_cache 1
write /sys/module/rpm_resources/enable_low_power/pxo 1
# modules
insmod /system/lib/modules/nls_utf8.ko
insmod /system/lib/modules/cifs.ko
insmod /system/lib/modules/ntfs.ko
insmod /system/lib/modules/tun.ko
insmod /system/lib/modules/compat.ko
insmod /system/lib/modules/cfg80211.ko
# change permissions for i2c-2 device
chmod 0660 /dev/i2c-2
chown media media /dev/i2c-2
on property:persist.service.adb.enable=1
start adbd
on property:persist.service.adb.enable=0
stop adbd
service wpa_supplicant /system/bin/wpa_supplicant -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf
# we will start as root and wpa_supplicant will switch to user wifi
# after setting up the capabilities required for WEXT
# user wifi
# group wifi inet keystore
class main
socket wpa_wlan0 dgram 660 wifi wifi
disabled
oneshot
service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL
class main
disabled
oneshot
service iprenew_wlan0 /system/bin/dhcpcd -n
class main
disabled
oneshot
# bugreport is triggered by the KEY_BACK and KEY_MENU keycodes
service bugreport /system/bin/dumpstate -d -v -o /sdcard/bugreports/bugreport
disabled
oneshot
keycodes 158 139
service hciattach /system/bin/sh /system/etc/init.qcom.bt.sh
user bluetooth
class main
group qcom_oncrpc bluetooth net_bt_admin system
disabled
oneshot
service tsdriver /system/bin/ts_srv
class core
user root
critical
service dcvs0 /system/bin/dcvs --cpu=0 --slacktime=64
class core
user root
disabled
service dcvs1 /system/bin/dcvs --cpu=1 --slacktime=64
class core
user root
disabled
service mpdecision /system/bin/mpdecision --no_sleep --avg_comp
class core
user root
disabled
service thermald /system/bin/thermald
class core
user root
disabled
service serial /sbin/serial
class core
disabled
oneshot
on property:init.svc.bootanim=stopped
start thermald
start mpdecision