blob: 8040494ec5db894242f21496d226d238424c1acb [file] [log] [blame]
import init.ruby.usb.rc
on early-init
mkdir /storage 0050 system sdcard_r
mkdir /storage/sdcard0 0000 system system
symlink /storage/sdcard0 /sdcard
symlink /storage/sdcard0 /mnt/sdcard
mkdir /storage/sdcard1 0000 system system
symlink /storage/sdcard1 /external_sd
symlink /storage/sdcard1 /mnt/external_sd
export EXTERNAL_STORAGE /storage/sdcard0
export SECONDARY_STORAGE /storage/sdcard1
# msm8x60 firmware
rm /vendor
mkdir /vendor 0771 system system
mkdir /vendor/firmware 0771 system system
mkdir /vendor/firmware/adsp 0771 system system
mkdir /vendor/firmware/misc 0771 system system
mkdir /vendor/firmware/misc_mdm 0771 system system
wait /dev/block/mmcblk0p21
wait /dev/block/mmcblk0p17
wait /dev/block/mmcblk0p18
mount vfat /dev/block/mmcblk0p21 /vendor/firmware/adsp wait ro shortname=lower
mount vfat /dev/block/mmcblk0p17 /vendor/firmware/misc wait ro shortname=lower
mount vfat /dev/block/mmcblk0p18 /vendor/firmware/misc_mdm 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
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
# Force loading of modem and Q6 images
write /dev/smd_pkt_loopback 1
on init
mkdir /devlog 0700 root root
on fs
# mount all mmc partitions
mount_all /fstab.ruby
setprop ro.crypto.tmpfs_options size=128m,mode=0771,uid=1000,gid=1000
mkdir /vendor/etc 0771 system system
symlink /system/vendor/etc/audio_effects.conf /vendor/etc/audio_effects.conf
on post-fs-data
# double check the perms and set owner
chown root root /devlog
chmod 0700 /devlog
# Set indication (checked by vold) that we have finished this action
setprop vold.post_fs_data_done 1
on boot
# for systrace
mount debugfs /sys/kernel/debug /sys/kernel/debug
# Chown polling nodes as needed from UI running on system server
chmod 0664 /sys/devices/platform/msm_sdcc.1/polling
chmod 0664 /sys/devices/platform/msm_sdcc.2/polling
chmod 0664 /sys/devices/platform/msm_sdcc.3/polling
chmod 0664 /sys/devices/platform/msm_sdcc.4/polling
chown system system /sys/devices/platform/msm_sdcc.1/polling
chown system system /sys/devices/platform/msm_sdcc.2/polling
chown system system /sys/devices/platform/msm_sdcc.3/polling
chown system system /sys/devices/platform/msm_sdcc.4/polling
# 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
# wifi
mkdir /data/misc 1771 system misc
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
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
# symlink for HDMI
symlink /dev/graphics/fb1 /dev/graphics/hdmi
# audio
mkdir /data/audio 2770 media audio
# radio
mkdir /data/qcks 0770 system system
mkdir /data/radio 2770 radio radio
chown radio system /sys/module/smd_rpcrouter/parameters/debug_mask
chown radio system /sys/module/rpcrouter_sdio_xprt/parameters/debug_mask
# liblights
chown system system /sys/class/leds/green/brightness
chown system system /sys/class/leds/green/blink
chown system system /sys/class/leds/amber/brightness
chown system system /sys/class/leds/amber/blink
chown system system /sys/class/leds/button-backlight/brightness
chown system system /sys/class/leds/lcd-backlight/brightness
# flashlight
chown system camera /sys/class/leds/flashlight/brightness
chmod 0660 /sys/class/leds/flashlight/brightness
# 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
# NFC
setprop debug.nfc.fw_download "false"
# for charging function
chown radio radio /sys/module/htc_battery_8x60/parameters/phone_call
chmod 0660 /sys/module/htc_battery_8x60/parameters/phone_call
# to enable low charge current in voice call
chown radio radio /sys/class/power_supply/battery/charger_control
chmod 0660 /sys/class/power_supply/battery/charger_control
# for RIL to notify battery driver talking and network_search state
chown radio radio /sys/class/power_supply/battery/phone_call
# for slate charging timer
chown radio /sys/class/power_supply/battery/charger_timer
# for flip to speaker
chown radio radio /sys/class/htc_accelerometer/accelerometer/PhoneOnOffFlag
chown radio radio /sys/class/htc_ecompass/ecompass/PhoneOnOffFlag
# remove write permissions to video nodes
chmod 0664 /sys/devices/virtual/graphics/fb1/hpd
chmod 0664 /sys/devices/virtual/graphics/fb1/video_mode
chmod 0664 /sys/devices/virtual/graphics/fb1/format_3d
# change owner and group for media server and surfaceflinger
chown system system /sys/devices/virtual/graphics/fb1/format_3d
chown system system /sys/devices/platform/panel_3d/3D_mode
chmod 0664 /sys/devices/platform/panel_3d/3D_mode
# sync fs
chown system /sys/devices/platform/rs300000a7.65536/force_sync
chown system /sys/devices/platform/rs300000a7.65536/sync_sts
# Services start here
service akmd /system/bin/akmd
class core
user compass
group compass misc input
service charging /system/bin/charging
user root
group root
disabled
oneshot
service chmod_nvs_wlan0 /system/bin/chmod 644 /data/misc/wifi/wl1271-nvs-calibrated.bin
class core
user root
group root
oneshot
disabled
service dhcpcd_p2p /system/bin/dhcpcd -aABKL
oneshot
disabled
service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL
class main
disabled
oneshot
service ewtzmud /system/bin/ewtzmud
class core
user system
group system misc input
service hdmid /system/bin/hdmid
class main
socket hdmid stream 0660 root system graphics
disabled
service hostapd_bin /system/bin/hostapd -d /data/misc/wifi/hostapd.conf
socket wpa_wlan0 dgram 660 wifi wifi
oneshot
disabled
service htcbatt /system/bin/htcbatt
class main
user root
service initial_regdom /system/bin/initial_regdom.sh
oneshot
disabled
service iprenew_p2p /system/bin/dhcpcd -n
oneshot
disabled
service iprenew_wlan0 /system/bin/dhcpcd -n
class main
disabled
oneshot
service kickstart /system/bin/qcks l
class main
oneshot
service mpdecision /system/bin/mpdecision --no_sleep --avg_comp --single_core_while_panel_off
user root
disabled
service netmgrd /system/bin/netmgrd
class main
service p2p_supplicant /system/bin/wpa_supplicant -Dnl80211 -iwlan0 -c /data/misc/wifi/wpa_supplicant.conf
user root
group wifi inet
socket wpa_wlan0 dgram 0660 wifi wifi
disabled
oneshot
service qcom-post-boot /system/bin/sh /system/etc/init.qcom.post_boot.sh
class main
user root
disabled
service qmuxd /system/bin/qmuxd
class main
user radio
group radio
service rmt_storage /system/bin/rmt_storage /dev/block/mmcblk0p25 /dev/block/mmcblk0p26 NULL NULL /dev/block/mmcblk0p27 /dev/block/mmcblk0p28 /dev/block/mmcblk0p20
class core
user root
service thermald /system/bin/thermald
user root
group root
disabled
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
class core
user root
group root
oneshot
disabled
service uim /system/bin/uimqc
class core
user root
group media bluetooth
oneshot
service wpa_supplicant /system/bin/wpa_supplicant -Dnl80211 -iwlan0 -c /data/misc/wifi/wpa_supplicant.conf
user root
group wifi inet
socket wpa_wlan0 dgram 660 wifi wifi
disabled
oneshot
service zchgd_offmode /system/bin/zchgd -pseudooffmode
user root
disabled
service zchgd_onmode /system/bin/zchgd -onmode
user root
oneshot
on property:init.svc.bootanim=stopped
start qcom-post-boot
on property:init.svc.hostapd_bin=running
start initial_regdom
on property:ro.use_data_netmgrd=false
# netmgr not supported on specific target
stop netmgrd
on property:service.adb.root=1
write /sys/class/android_usb/android0/enable 0
restart adbd
write /sys/class/android_usb/android0/enable 1
on property:wlan.driver.status=ok
chown wifi wifi /sys/devices/platform/wl1271/bt_coex_state
start initial_regdom