blob: 33324d89451e4009b8e7cc42fb6e04230fa4cc48 [file] [log] [blame]
import init.ruby.usb.rc
on early-init
device /dev/block/mmcblk0p16 0460 radio diag
on init
# external sdcard
export EXTERNAL_STORAGE /mnt/sdcard
mkdir /mnt/sdcard 0000 system system
symlink /mnt/sdcard /sdcard
# internal sd on emmc
export SECONDARY_STORAGE /mnt/emmc
mkdir /mnt/emmc 0000 system system
symlink /mnt/emmc /emmc
# create our mount directories
mkdir /system
mkdir /data 0771 system system
mkdir /cache 0770 system cache
mkdir /devlog 0700 root root
rm /vendor
mkdir /vendor 0771 system system
mkdir /vendor/firmware 0771 system system
mkdir /vendor/firmware/misc 0771 system system
mkdir /vendor/firmware/adsp 0771 system system
mkdir /vendor/firmware/misc_mdm 0771 system system
# double check the perms and set owner
chown root root /devlog
chmod 0700 /devlog
# 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
# set G-Sensor and Compass permissions
chown compass system /dev/akm8975_aot
chown compass system /dev/akm8975_daemon
chown compass system /dev/bma150
chmod 0640 /dev/akm8975_aot
chmod 0640 /dev/akm8975_daemon
chmod 0640 /dev/bma150
# set pana gyro permissions
chmod 0664 /dev/ewtzmu2daemon
chmod 0664 /dev/ewtzmu2hal
chmod 0664 /dev/ewtzmu2
chown system system /dev/ewtzmu2hal
chown system system /dev/ewtzmu2daemon
chown system system /dev/ewtzmu2
on early-fs
mount ext4 /dev/block/mmcblk0p29 /system wait ro noatime barrier=1
mount ext4 /dev/block/mmcblk0p30 /cache wait noatime nosuid nodev barrier=1
mount ext4 /dev/block/mmcblk0p31 /data wait noatime nosuid nodev barrier=1 noauto_da_alloc
mount ext4 /dev/block/mmcblk0p32 /devlog wait noatime nosuid nodev barrier=1
mount vfat /dev/block/mmcblk0p17 /vendor/firmware/misc wait ro shortname=lower
mount vfat /dev/block/mmcblk0p21 /vendor/firmware/adsp wait ro shortname=lower
symlink /vendor/firmware/adsp/q6.b07 /vendor/firmware/q6.b07
symlink /vendor/firmware/adsp/q6.b06 /vendor/firmware/q6.b06
symlink /vendor/firmware/adsp/q6.b05 /vendor/firmware/q6.b05
symlink /vendor/firmware/adsp/q6.b04 /vendor/firmware/q6.b04
symlink /vendor/firmware/adsp/q6.b03 /vendor/firmware/q6.b03
symlink /vendor/firmware/adsp/q6.b02 /vendor/firmware/q6.b02
symlink /vendor/firmware/adsp/q6.b01 /vendor/firmware/q6.b01
symlink /vendor/firmware/adsp/q6.b00 /vendor/firmware/q6.b00
symlink /vendor/firmware/adsp/q6.mdt /vendor/firmware/q6.mdt
symlink /vendor/firmware/misc/modem.b10 /vendor/firmware/modem.b10
symlink /vendor/firmware/misc/modem.b09 /vendor/firmware/modem.b09
symlink /vendor/firmware/misc/modem.b08 /vendor/firmware/modem.b08
symlink /vendor/firmware/misc/modem.b07 /vendor/firmware/modem.b07
symlink /vendor/firmware/misc/modem.b06 /vendor/firmware/modem.b06
symlink /vendor/firmware/misc/modem.b05 /vendor/firmware/modem.b05
symlink /vendor/firmware/misc/modem.b04 /vendor/firmware/modem.b04
symlink /vendor/firmware/misc/modem.b03 /vendor/firmware/modem.b03
symlink /vendor/firmware/misc/modem.b02 /vendor/firmware/modem.b02
symlink /vendor/firmware/misc/modem.b01 /vendor/firmware/modem.b01
symlink /vendor/firmware/misc/modem.b00 /vendor/firmware/modem.b00
symlink /vendor/firmware/misc/modem.mdt /vendor/firmware/modem.mdt
mount vfat /dev/block/mmcblk0p18 /vendor/firmware/misc_mdm wait ro shortname=lower
symlink /vendor/firmware/misc_mdm/image/amss.mbn /vendor/firmware/amss.mbn
symlink /vendor/firmware/misc_mdm/image/dsp1.mbn /vendor/firmware/dsp1.mbn
symlink /vendor/firmware/misc_mdm/image/dsp2.mbn /vendor/firmware/dsp2.mbn
symlink /vendor/firmware/misc_mdm/image/dbl.mbn /vendor/firmware/dbl.mbn
symlink /vendor/firmware/misc_mdm/image/osbl.mbn /vendor/firmware/osbl.mbn
symlink /vendor/firmware/misc_mdm/image/efs1.mbn /vendor/firmware/efs1.mbn
symlink /vendor/firmware/misc_mdm/image/efs2.mbn /vendor/firmware/efs2.mbn
symlink /vendor/firmware/misc_mdm/image/amss.mbn /vendor/firmware/amss.mbn
symlink /vendor/firmware/misc_mdm/image/htcssmem.mbn /vendor/firmware/htcssmem.mbn
on post-fs
mkdir /data/qcks 0770 system system
on post-fs-data
# HTC_WIFI
mkdir /data/misc/wifi 0770 wifi wifi
mkdir /data/misc/wifi/sockets 0770 wifi wifi
mkdir /data/misc/dhcp 0770 dhcp dhcp
chown dhcp dhcp /data/misc/dhcp
chown wifi wifi /system/etc/firmware/ti-connectivity/*
chown wifi wifi /system/etc/wifi/wpa_supplicant.conf
chown wifi wifi /data/misc/wifi/wpa_supplicant.conf
chown wifi wifi /data/misc/wifi/p2p_supplicant.conf
chown wifi wifi /data/misc/wifi/p2p_supplicant_manual.conf
mkdir /data/radio 0770 radio radio
mkdir /data/d 0777 system system
# HTC add: Smartcard Service on ICS
chmod 0660 /dev/assd
chown smartcard smartcard /dev/assd
# HTC add: 3LM setting on ICS
setprop ro.3lm.production 1
# HTC add: 3LM encryption on ICS
setprop ro.3lm.legacy_encryption 1
mkdir /data/secure 0755 system system
mkdir /data/secure/data 0755 system system
mount tmpfs tmpfs /data/secure/data mode=0755,gid=1000
# HTC add: double check the perms of /data/data for already existed case
chown system system /data/data
chmod 0771 /data/data
chmod 0660 /data/data/com.android.providers.settings/databases/settings.db-wal
chmod 0660 /data/data/com.android.providers.settings/databases/settings.db-shm
chmod 0660 /data/data/com.android.providers.settings/databases/settings.db-journal
# HTC add: double check the perms of /data/data/recovery for already existed case
chown root recvy_access /data/data/recovery
chmod 0775 /data/data/recovery
chown system system /sys/class/graphics/fb0/ratelimit
# Set indication (checked by vold) that we have finished this action
setprop vold.post_fs_data_done 1
on boot
# mount debugfs /sys/kernel/debug /sys/kernel/debug
mount debugfs /data/d /data/d
chown radio system /sys/module/smd_rpcrouter/parameters/debug_mask
chown radio system /sys/module/rpcrouter_sdio_xprt/parameters/debug_mask
# 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
# HTC_WIFI
insmod /system/lib/modules/compat.ko
insmod /system/lib/modules/cfg80211.ko
insmod /system/lib/modules/mac80211.ko
insmod /system/lib/modules/wl12xx.ko debug_level=0x63c00
# for modem link
chown system system /sys/module/serial/parameters/modem_enabled
chown system system /dev/ttyHSUSB0
chown system system /dev/ttySA0
chown system system /dev/smd9
# for Flip to speaker
chown radio radio /sys/class/htc_accelerometer/accelerometer/PhoneOnOffFlag
chown radio radio /sys/class/htc_ecompass/ecompass/PhoneOnOffFlag
# for Optical sensors
chown system system /sys/class/optical_sensors/lightsensor/ls_adc
chown system system /sys/class/optical_sensors/lightsensor/ls_auto
chown system system /sys/class/optical_sensors/lightsensor/ls_kadc
chown system radio /sys/class/optical_sensors/proximity/ps_adc
chown system system /sys/class/optical_sensors/proximity/ps_kadc
chown system system /sys/class/optical_sensors/proximity/ps_led
chown system system /sys/class/optical_sensors/proximity/ps_test_mode
# permissions for NFC
chmod 0600 /dev/pn544
chown nfc nfc /dev/pn544
setprop debug.nfc.fw_download "false"
# for simlock
chown radio radio /dev/simlock
chmod 0660 /dev/simlock
# for charging function
chown radio radio /sys/module/htc_battery_8x60/parameters/phone_call
chmod 0660 /sys/module/htc_battery_8x60/parameters/phone_call
# for RIL to notify battery driver talking and network_search state
chown radio radio /sys/class/power_supply/battery/phone_call
# KSM
write /sys/kernel/mm/ksm/sleep_millisecs 3000
write /sys/kernel/mm/ksm/pages_to_scan 256
write /sys/kernel/mm/ksm/run 1
# Load kineto_gan.ko while booting
insmod /system/lib/modules/kineto_gan.ko
# HTC add: Define TCP buffer sizes for various networks
# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208
setprop net.tcp.buffersize.wifi 524288,1048576,2097152,262144,524288,1048576
# Enlarge TCP window size for HSDPA Cat 14
setprop net.tcp.buffersize.hsdpa 4096,174760,1572864,4096,16384,110208
setprop net.tcp.buffersize.umts 4096,174760,1572864,4096,16384,110208
setprop net.tcp.buffersize.edge 4096,174760,1572864,4096,16384,35040
setprop net.tcp.buffersize.gprs 4096,174760,1572864,4096,8760,11680
setprop net.tcp.buffersize.lte 4096,221184,3461120,4096,221184,3461120
setprop net.tcp.buffersize.evdo_b 4094,87380,262144,4096,16384,262144
setprop net.tcp.buffersize.wimax 4096,221184,524288,4096,16384,110208
# HTC add: Assign TCP buffer thresholds to be ceiling value of technology maximums
# Increased technology maximums should be reflected here.
write /proc/sys/net/core/rmem_max 262144
write /proc/sys/net/core/wmem_max 262144
# HTC add: Assign TCP buffer thresholds to be ceiling value of technology maximums
# Increased technology maximums should be reflected here.
write /proc/sys/net/core/rmem_max 262144
write /proc/sys/net/core/wmem_max 262144
# HTC add: set RLIMIT_NICE to allow priorities from 19 to -20
setrlimit 8 268435456 268435456
# HTC add: Tweak background writeout
write /proc/sys/vm/dirty_bytes 10240000
write /proc/sys/vm/highmem_is_dirtyable 1
# HTC add: Permissions for System Server and daemons.
chmod 0444 /sys/android_camera/fps_mode
chmod 0660 /sys/android_camera2/htcwc
chown media system /sys/android_camera2/htcwc
chown media system /sys/android_camera/cam3Dmode
chown radio system /sys/camera_led_status/led_ril_status
chown system system /sys/camera_led_status/led_wimax_status
chown system system /sys/camera_led_status/led_hotspot_status
chown media system /sys/android_camera/cam_mode
# HTC SSD Peripheral UI - BEGIN
chown system system /sys/class/leds/red/brightness
chown system system /sys/class/leds/red/blink
chown system system /sys/class/leds/red/off_timer
chown system system /sys/class/leds/green/brightness
chown system system /sys/class/leds/green/blink
chown system system /sys/class/leds/green/off_timer
chown system system /sys/class/leds/blue/brightness
chown system system /sys/class/leds/blue/blink
chown system system /sys/class/leds/blue/off_timer
chown system system /sys/class/leds/amber/brightness
chown system system /sys/class/leds/amber/blink
chown system system /sys/class/leds/amber/off_timer
chown system system /sys/class/leds/button-backlight-portrait/brightness
chown system system /sys/class/leds/button-backlight-landscape/brightness
chown system system /sys/class/leds/amber-portrait/brightness
chown system system /sys/class/leds/green-portrait/brightness
chown system system /sys/class/leds/blue-portrait/brightness
chown system system /sys/class/leds/amber-landscape/brightness
chown system system /sys/class/leds/green-landscape/brightness
chown system system /sys/class/leds/blue-landscape/brightness
chown system system /sys/class/leds/sharekey/brightness
chown system system /sys/class/leds/sharekey/breath_times
chown system system /sys/class/leds/sharekey/breath_max_brightness
chown system system /sys/class/leds/charming-led/brightness
chown system system /sys/class/leds/charming-led/blink
chown system system /sys/class/leds/charming-led/off_timer
chown system system /sys/class/leds/flashlight/brightness
chown system system /sys/class/leds/caps/brightness
chown system system /sys/class/leds/func/brightness
chown media media /sys/class/leds/green-camera/brightness
chown system system /sys/devices/virtual/htc_accessory/fm/flag
chown system system /sys/devices/virtual/htc_accessory/tty/flag
chown system system /sys/class/switch/dock/dmb_wakeup
# HTC SSD Peripheral UI - END
# HTC SSD Peripheral Touch - START
chown system system /sys/android_touch/unlock
# HTC SSD Peripheral UI -END
# HTC SSD USB
chown system system /sys/class/android_usb/f_modem/on
chown system system /sys/class/android_usb/f_diag/on
chown system system /sys/class/android_usb/f_rmnet/on
# HTC add: set diag permissions
chown radio radio /dev/diag
chown radio radio /dev/diag_mdm
chown radio radio /dev/htcdiag
chown radio radio /dev/diag_arm9
chown radio radio /dev/btdiag
chmod 0660 /dev/diag
chmod 0660 /dev/diag_mdm
chmod 0660 /dev/htcdiag
chmod 0660 /dev/diag_arm9
chmod 0660 /dev/btdiag
# Force loading of modem and Q6 images
service load-modem /system/bin/load-modem.sh
oneshot
service kickstart /system/bin/qcks l
oneshot
# shared transport user space mgr service for BT, FM, GPS
service uim /system/bin/uimqc
class core
user root
group media bluetooth
oneshot
# compass/accelerometer daemon
service akmd /system/bin/akmd
# class main
user compass
group compass misc input
# gyro daemon
service ewtzmud /system/bin/ewtzmud
# class main
user system
group system misc input
# bugreport is triggered by the KEY_VOL-UP and KEY_VOL-DOWN keycodes
service bugreport /system/bin/dumpstate -d -v -o /sdcard/bugreports/bugreport
disabled
oneshot
keycodes 114 115
# wifi ++
service wpa_supplicant /system/bin/wpa_supplicant -Dnl80211 -iwlan0
socket wpa_wlan0 dgram 660 wifi wifi
disabled
oneshot
service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL
disabled
oneshot
service iprenew_wlan0 /system/bin/dhcpcd -n
disabled
oneshot
service dhcpcd_p2p /system/bin/dhcpcd -aABKL
disabled
oneshot
service iprenew_p2p /system/bin/dhcpcd -n
disabled
oneshot
service hostapd_bin /system/bin/hostapd -d /data/misc/wifi/hostapd.conf
socket wpa_wlan1 dgram 660 wifi wifi
disabled
oneshot
service p2p_supplicant /system/bin/wpa_supplicant -Dnl80211 -iwlan0 -c/data/misc/wifi/p2p_supplicant.conf -dt
socket wpa_p2p_wlan0:0 dgram 660 wifi wifi
disabled
oneshot
service initial_regdom /system/bin/initial_regdom.sh
disabled
oneshot
on property:wlan.driver.status=ok
chown wifi wifi /sys/devices/platform/wl1271/bt_coex_state
start initial_regdom
on property:init.svc.hostapd_bin=running
start initial_regdom
service upd_nvs_wlan0 /system/bin/calibrator set upd_nvs /system/etc/wifi/TQS_D_1.7.ini /proc/calibration /data/misc/wifi/wl1271-nvs-calibrated.bin
disabled
class core
user root
group root
oneshot
service chmod_nvs_wlan0 /system/bin/chmod 644 /data/misc/wifi/wl1271-nvs-calibrated.bin
disabled
class core
user root
group root
oneshot
# wifi--
## for USB internet sharing
#service udhcpd /system/bin/udhcpd
# disabled
# oneshot
#service netsharing_on /system/bin/netsharing net on
# disabled
# oneshot
#service netsharing_off /system/bin/netsharing net off
# disabled
# oneshot
#service netsharing_pass /system/bin/netsharing net_pass on
# disabled
# oneshot
#service srv_ser2net /system/bin/ser2net -n
# disabled
#on property:service.ser2net.enable=1
# start srv_ser2net
#on property:service.ser2net.enable=0
# stop srv_ser2net
# HTC add: 3LM service default launched on ICS
#service tund /system/bin/tund
# socket tund stream 0660 vpn system
# user vpn
# group vpn net_admin net_raw
# ioprio be 2
service rmt_storage /system/bin/rmt_storage /dev/block/mmcblk0p25 /dev/block/mmcblk0p26 NULL NULL /dev/block/mmcblk0p27 /dev/block/mmcblk0p28 /dev/block/mmcblk0p20
user root
disabled
on property:ro.emmc=1
start rmt_storage
# for modem link
service modem /system/xbin/wireless_modem
user system
group system radio
disabled
on property:service.modem.enable=1
start modem
on property:service.modem.enable=0
stop modem
service zchgd_offmode /system/bin/zchgd -pseudooffmode
user root
disabled
service zchgd_onmode /system/bin/zchgd -onmode
user root
oneshot
service qmuxd /system/bin/qmuxd
# class core
# user radio
# group radio audio
service netmgrd /system/bin/netmgrd
on property:ro.use_data_netmgrd=false
# netmgr not supported on specific target
stop netmgrd
service hdmid /system/bin/hdmid
socket displayd stream 0660 root system graphics
service mpld /system/bin/mpld
user system
oneshot
service htcbatt /system/bin/htcbatt
user root
service dcvs0 /system/bin/dcvs --cpu=0 --slacktime=16
user root
disabled
service dcvs1 /system/bin/dcvs --cpu=1 --slacktime=16
user root
disabled
service mpdecision /system/bin/mpdecision --no_sleep --avg_comp --single_core_while_panel_off
user root
disabled
service thermald /system/bin/thermald
user root
disabled
service ipd /system/bin/ipd
socket ipd stream 660 root radio
on property:dev.bootcomplete=1
start bootcomplete
service bootcomplete /system/bin/bootcomplete
user root
group root
disabled
oneshot
service shutdown /system/bin/shutdown
user root
group root
disabled
oneshot
service charging /system/bin/charging
user root
group root
disabled
oneshot
on property:init.svc.bootanim=stopped
start qcom-post-boot
# Overwrite ActivityManager's low memory killer settings
write /sys/module/lowmemorykiller/parameters/adj 0,2,4,7,9,12
write /sys/module/lowmemorykiller/parameters/minfree 8192,10240,12288,14336,16384,20480
write /sys/module/lowmemorykiller/parameters/minfile 8192,10240,12288,14336,16384,20480
write /sys/module/lowmemorykiller/parameters/check_filepages 1
# Protect more low memory pages
write /proc/sys/vm/min_free_kbytes 4096
start mpdecision
start thermald
service qcom-post-boot /system/bin/sh /system/etc/init.qcom.post_boot.sh
user root
disabled
oneshot
service htc_ebdlogd /system/bin/htc_ebdlogd -s -k -P 7
user root
disabled
oneshot
ioprio idle 0
service htc_ebdlogd_rel /system/bin/htc_ebdlogd -s -k
user root
disabled
oneshot
ioprio idle 0
## Discretix DRM
#service dx_drm_server /system/bin/DxDrmServerIpc -f -o allow_other /data/DxDrm/fuse
on property:ro.build.tags=test-keys
start htc_ebdlogd
on property:ro.build.tags=release-keys
start htc_ebdlogd_rel
service post-boot /system/bin/sh /system/etc/init.post_boot.sh
user root
oneshot