blob: 80916575f310e598866a2f128fb8d160234f37b7 [file] [log] [blame]
import init.smdk4x12.usb.rc
import init.bt.rc
on init
mkdir /mnt/shell/emulated 0700 shell shell
mkdir /storage 0550 system sdcard_r
mkdir /storage/emulated 0555 root root
mkdir /storage/sdcard1 0775 system system
mkdir /storage/usbdisk0 0775 system system
export EXTERNAL_STORAGE /storage/emulated/legacy
export SECONDARY_STORAGE /storage/sdcard1
export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
export EMULATED_STORAGE_TARGET /storage/emulated
# for backwards compatibility
symlink /storage/emulated/legacy /sdcard
symlink /storage/emulated/legacy /mnt/sdcard
symlink /storage/emulated/legacy /storage/sdcard0
symlink /mnt/shell/emulated/0 /storage/emulated/legacy
symlink /storage/sdcard1 /extSdCard
symlink /storage/sdcard1 /mnt/extSdCard
symlink /storage/usbdisk0 /usbdisk0
symlink /storage/usbdisk0 /mnt/usbdisk0
mkdir /efs 0771 radio system
mkdir /tombstones
symlink /efs /factory
# ko files for FM Radio
insmod /system/lib/modules/Si4709_driver.ko
on init
# WFD CES Demo
chmod 0666 /dev/graphics/fb5
# Vibetonz
export VIBE_PIPE_PATH /dev/pipes
mkdir /dev/pipes 0771 shell shell
#MDM requirement
mkdir /firmware 0771 system system
chown system system /tombstones
chmod 0775 /tombstones
mkdir /tombstones/modem 0775 system system
mkdir /tombstones/lpass 0775 system system
mkdir /tombstones/wcnss 0775 system system
mkdir /tombstones/dsps 0775 system system
rmdir /tombstones/qcks
mkdir /tombstones/qcks 771 system system
rmdir /tombstones/efs
mkdir /tombstones/efs 771 system system
on fs
mount_all /fstab.smdk4x12
setprop ro.crypto.fuse_sdcard true
chown radio system /efs
chmod 0771 /efs
chown system radio /dev/block/platform/dw_mmc/by-name
chmod 0775 /dev/block/platform/dw_mmc/by-name
on post-fs-data
# we will remap this as /mnt/sdcard with the sdcard fuse tool
mkdir /data/media 0775 media_rw media_rw
chown media_rw media_rw /data/media
#QCRIL
#Create QMUX deamon socket area
mkdir /dev/socket/qmux_radio 0770 radio radio
chmod 2770 /dev/socket/qmux_radio
mkdir /dev/socket/qmux_audio 0770 media audio
chmod 2770 /dev/socket/qmux_audio
mkdir /dev/socket/qmux_gps 0770 gps gps
chmod 2770 /dev/socket/qmux_gps
# Allow QMUX daemon to assign port open wait time
chown radio radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait
# To prevent out of order acknowledgements from making
# connection tracking to treat them as not belonging to
# the connection they belong to.
# Otherwise, a weird issue happens in which some long
# connections on high-throughput links get dropped when
# an ack packet comes out of order
write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
restorecon /efs/FactoryApp/keystr
restorecon /efs/FactoryApp/factorymode
restorecon /efs/FactoryApp/serial_no
# for AT distributor
chown system radio /sys/module/cpuidle_exynos4/parameters/enable_mask
chmod 0664 /sys/module/cpuidle_exynos4/parameters/enable_mask
# Waketime fot fast dormancy
chown system radio /sys/devices/platform/mdm_hsic_pm0/waketime
chmod 0660 /sys/devices/platform/mdm_hsic_pm0/waketime
# data/log
mkdir /data/log 0775 system log
chown system log /data/log
chmod 0775 /data/log
chmod 0775 /data/anr
# create data/gps for GPS demon
chown root system /dev/ttySAC1
chmod 0660 /dev/ttySAC1
chown root system /sys/class/sec/gps/GPS_PWR_EN/value
chmod 0664 /sys/class/sec/gps/GPS_PWR_EN/value
chown root system /sys/class/sec/gps/GPS_nRST/value
chmod 0664 /sys/class/sec/gps/GPS_nRST/value
mkdir /data/gps 771 system system
chown system system /data/gps
mkdir /data/misc/radio 0775 radio system
chmod 0775 /data/misc/radio
mkdir /efs/imei 0775 radio system
mkdir /data/local/audio 0775 media audio
chown media audio /data/local/audio
# HDCP 2.x
mkdir /data/system/hdcp2 0775 system system
# h2k permission
chmod 0644 /efs/redata.bin
chmod 0644 /efs/h2k.dat
# Camera firmware
mkdir /data/cfw 0775 system system
chown system media /data/cfw/SlimISP_GK.bin
chmod 0775 /data/cfw/SlimISP_GK.bin
chown system media /data/cfw/SlimISP_ZK.bin
chmod 0775 /data/cfw/SlimISP_ZK.bin
# Camera
chown system radio /sys/class/camera/rear/rear_camfw
chown system radio /sys/class/camera/rear/rear_camtype
chown system radio /sys/class/camera/rear/rear_flash
chmod 0666 /sys/class/camera/flash/rear_flash
chown system radio /sys/class/camera/rear/isp_core
chown system radio /sys/class/camera/front/front_camfw
chown system radio /sys/class/camera/front/front_camtype
chown system radio /sys/class/camera/flash/rear_flash
chown radio system /sys/devices/platform/samsung-pd.5/s3c-fimc.2/range_mode
chmod 0660 /sys/devices/platform/samsung-pd.5/s3c-fimc.2/range_mode
write /data/ISP_CV 1
restorecon /data/ISP_CV
symlink /dev/block/mmcblk0p7 /dev/block/param
# Permissions for bluetooth
setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr"
chown bluetooth bluetooth ro.bt.bdaddr_path
chown bluetooth bluetooth /dev/ttySAC0
chmod 0600 /dev/ttySAC0
chmod 0660 /sys/class/rfkill/rfkill0/state
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
restorecon /sys/class/rfkill/rfkill0/state
restorecon /sys/class/rfkill/rfkill0/type
# NFC
setprop ro.nfc.port "I2C"
chmod 0600 /dev/pn544
chown nfc nfc /dev/pn544
# Vibrator
chmod 0660 /dev/tspdrv
chown root shell /dev/tspdrv
chmod 0660 /sys/class/timed_output/vibrator/pwm_value
chown system system /sys/class/timed_output/vibrator/pwm_value
# LED
chmod 0660 /sys/class/sec/led/led_fade
chown system system /sys/class/sec/led/led_fade
# Touchkey
chmod 0660 /sys/class/sec/sec_touchkey/timeout
chown system system /sys/class/sec/sec_touchkey/timeout
chmod 0660 /sys/class/sec/sec_touchkey/force_disable
chown system system /sys/class/sec/sec_touchkey/force_disable
# Permissions for LCD
chown system radio /sys/class/lcd/panel/lcd_power
chown system radio /sys/class/lcd/panel/lcd_type
chown system radio /sys/class/lcd/panel/device/hs_toggle
chown system media_rw /sys/class/lcd/panel/power_reduce
chown system system /sys/class/backlight/panel/auto_brightness
chown system system /sys/class/backlight/panel/brightness
chown system system /sys/class/graphics/fb0/lcdfreq/level
# Permissions for mDNIe
chown system media_rw /sys/class/mdnie/mdnie/mode
chown system media_rw /sys/class/mdnie/mdnie/outdoor
chown system media_rw /sys/class/mdnie/mdnie/scenario
chown system system /sys/class/mdnie/mdnie/negative
write /sys/class/mdnie/mdnie/scenario 0
write /sys/class/mdnie/mdnie/mode 0
# Permissions for System Server and daemons.
chown radio system /sys/android_power/state
chown radio system /sys/android_power/request_state
chown radio system /sys/android_power/acquire_full_wake_lock
chown radio system /sys/android_power/acquire_partial_wake_lock
chown radio system /sys/android_power/release_wake_lock
chown radio system /sys/power/state
chown radio system /sys/power/wake_lock
chown radio system /sys/power/wake_unlock
chown radio system /sys/power/cpufreq_table
chown radio system /sys/power/cpufreq_max_limit
chown radio system /sys/power/cpufreq_min_limit
chown radio system /sys/power/mali_lock
chown radio system /sys/class/power_supply/battery/siop_activated
chown radio system /sys/devices/system/cpu/cpufreq/pegasusq/max_cpu_lock
chown radio system /sys/devices/system/cpu/cpufreq/pegasusq/hotplug_lock
chown radio system /sys/devices/system/cpu/busfreq/curr_freq
chown radio system /sys/module/mali/parameters/mali_dvfs_control
chown system radio /sys/bus/platform/devices/s5p-tmu/lot_id
chmod 0660 /sys/power/state
chmod 0660 /sys/power/wake_lock
chmod 0660 /sys/power/wake_unlock
chmod 0660 /sys/power/cpufreq_table
chmod 0660 /sys/power/cpufreq_max_limit
chmod 0660 /sys/power/cpufreq_min_limit
chmod 0660 /sys/power/mali_lock
chmod 0660 /sys/class/power_supply/battery/siop_activated
chmod 0660 /sys/devices/system/cpu/cpufreq/pegasusq/max_cpu_lock
chmod 0660 /sys/devices/system/cpu/cpufreq/pegasusq/hotplug_lock
chmod 0660 /sys/devices/system/cpu/busfreq/curr_freq
chmod 0660 /sys/module/mali/parameters/mali_dvfs_control
chmod 0664 /sys/bus/platform/devices/s5p-tmu/lot_id
chown system system /sys/class/timed_output/vibrator/enable
chown system system /sys/class/leds/keyboard-backlight/brightness
chown system system /sys/class/leds/lcd-backlight/brightness
chown system system /sys/class/backlight/panel/brightness
chown system system /sys/class/leds/button-backlight/brightness
chown system system /sys/class/sec/sec_touchkey/brightness
chown system system /sys/class/leds/jogball-backlight/brightness
chown system system /sys/class/leds/red/brightness
chown system system /sys/class/leds/green/brightness
chown system system /sys/class/leds/blue/brightness
chown system system /sys/class/leds/red/device/grpfreq
chown system system /sys/class/leds/red/device/grppwm
chown system system /sys/class/leds/red/device/blink
chown system system /sys/class/leds/red/brightness
chown system system /sys/class/leds/green/brightness
chown system system /sys/class/leds/blue/brightness
chown system system /sys/class/leds/red/device/grpfreq
chown system system /sys/class/leds/red/device/grppwm
chown system system /sys/class/leds/red/device/blink
chown system system /sys/class/timed_output/vibrator/enable
chown system system /sys/module/sco/parameters/disable_esco
chown system system /sys/kernel/ipv4/tcp_wmem_min
chown system system /sys/kernel/ipv4/tcp_wmem_def
chown system system /sys/kernel/ipv4/tcp_wmem_max
chown system system /sys/kernel/ipv4/tcp_rmem_min
chown system system /sys/kernel/ipv4/tcp_rmem_def
chown system system /sys/kernel/ipv4/tcp_rmem_max
chown root radio /proc/cmdline
# Audio (Earjack)
chown system radio /sys/class/audio/earjack/select_jack
chown system radio /sys/class/audio/earjack/key_state
chown system radio /sys/class/audio/earjack/state
chown media system /sys/class/audio/earjack/reselect_jack
# Battery node
chown system radio /sys/class/power_supply/battery/batt_reset_soc
chown system radio /sys/class/power_supply/battery/batt_read_raw_soc
chown system radio /sys/class/power_supply/battery/batt_read_adj_soc
chown system radio /sys/class/power_supply/battery/batt_type
chown system radio /sys/class/power_supply/battery/batt_temp_adc
chown system radio /sys/class/power_supply/battery/batt_temp_aver
chown system radio /sys/class/power_supply/battery/batt_temp_adc_aver
chown system radio /sys/class/power_supply/battery/batt_vfocv
chown system radio /sys/class/power_supply/battery/batt_lp_charging
chown system radio /sys/class/power_supply/battery/batt_charging_source
chown system radio /sys/class/power_supply/battery/test_mode
chown system radio /sys/class/power_supply/battery/wc_status
chown system radio /sys/class/power_supply/battery/wpc_pin_state
# Thermistor node
chown radio system /sys/devices/platform/sec-thermistor/temp_adc
chown radio system /sys/devices/platform/sec-thermistor/temperature
# Permissions for touch
chown system radio /sys/class/sec/tsp/cmd
# Permissions for Touchkey
chown system radio /sys/class/sec/sec_touchkey/enable_disable
chown system radio /sys/class/sec/sec_touchkey/touchkey_brightness
chown system radio /sys/class/sec/sec_touchkey/touchkey_menu
chown system radio /sys/class/sec/sec_touchkey/touchkey_back
chown system radio /sys/class/sec/sec_touchkey/touch_update
chown system radio /sys/class/sec/sec_touchkey/touch_version
chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_version_panel
chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_version_phone
chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_update_status
chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_update
chown system radio /sys/class/sec/sec_touchkey/touch_sensitivity
chown system radio /sys/class/sec/sec_touchkey/touchkey_threshold
chown system system /sys/devices/virtual/sec/sec_touchkey/brightness
# Permissions for gpio_keys
chown radio system /sys/class/sec/sec_key/wakeup_keys
write /sys/class/sec/sec_key/wakeup_keys 116,172
# Switch Device
chown system system /sys/class/sec/switch/uart_sel
chown system system /sys/class/sec/switch/usb_sel
chown system system /sys/class/sec/switch/otg_test
chown system radio /sys/class/sec/switch/adc
# SVC LED
chown system system /sys/class/sec/led/led_r
chown system system /sys/class/sec/led/led_g
chown system system /sys/class/sec/led/led_b
chown system system /sys/class/leds/led_r/brightness
chown system system /sys/class/leds/led_g/brightness
chown system system /sys/class/leds/led_b/brightness
chown system system /sys/class/leds/led_r/delay_on
chown system system /sys/class/leds/led_g/delay_on
chown system system /sys/class/leds/led_b/delay_on
chown system system /sys/class/leds/led_r/delay_off
chown system system /sys/class/leds/led_g/delay_off
chown system system /sys/class/leds/led_b/delay_off
chown system system /sys/class/leds/led_r/blink
chown system system /sys/class/leds/led_g/blink
chown system system /sys/class/leds/led_b/blink
chown system system /sys/class/sec/led/led_pattern
chown system system /sys/class/sec/led/led_blink
chown system system /sys/class/sec/led/led_br_lev
# <Sensors & NFC>
# Input Events
chown system radio /sys/class/input/input2/enable
chown system radio /sys/class/input/input2/poll_delay
chown system radio /sys/class/input/input3/enable
chown system radio /sys/class/input/input3/poll_delay
chown system radio /sys/class/input/input4/enable
chown system radio /sys/class/input/input4/poll_delay
chown system radio /sys/class/input/input5/enable
chown system radio /sys/class/input/input5/poll_delay
chown system radio /sys/class/input/input6/enable
chown system radio /sys/class/input/input6/poll_delay
chown system radio /sys/class/input/input7/enable
chown system radio /sys/class/input/input7/poll_delay
chown system radio /sys/class/input/input8/enable
chown system radio /sys/class/input/input8/poll_delay
chown system radio /sys/class/input/input9/enable
chown system radio /sys/class/input/input9/poll_delay
# Accelerometer_sensor
chown system radio /sys/class/sensors/accelerometer_sensor/raw_data
chown system radio /sys/class/sensors/accelerometer_sensor/calibration
chown system radio /sys/class/sensors/accelerometer_sensor/reactive_alert
chown system radio /sys/class/sensors/accelerometer_sensor/vendor
chown system radio /sys/class/sensors/accelerometer_sensor/name
# Proximity_sensor
chown system radio /sys/class/sensors/proximity_sensor/state
chown system radio /sys/class/sensors/proximity_sensor/prox_avg
chown system radio /sys/class/sensors/proximity_sensor/prox_cal
chown system radio /sys/class/sensors/proximity_sensor/vendor
chown system radio /sys/class/sensors/proximity_sensor/name
chown system radio /sys/class/sensors/proximity_sensor/prox_thresh
chown system radio /sys/class/sensors/proximity_sensor/barcode_emul_en
# Light_sensor
chown system radio /sys/class/sensors/light_sensor/lux
chown system radio /sys/class/sensors/light_sensor/raw_data
chown system radio /sys/class/sensors/light_sensor/vendor
chown system radio /sys/class/sensors/light_sensor/name
# Gyro_sensor
chown system radio /sys/class/sensors/gyro_sensor/power_on
chown system radio /sys/class/sensors/gyro_sensor/power_off
chown system radio /sys/class/sensors/gyro_sensor/temperature
chown system radio /sys/class/sensors/gyro_sensor/selftest
chown system radio /sys/class/sensors/gyro_sensor/selftest_dps
chown system radio /sys/class/sensors/gyro_sensor/vendor
chown system radio /sys/class/sensors/gyro_sensor/name
# Barometer_sensor
chown system radio /sys/class/sensors/barometer_sensor/sea_level_pressure
chown system radio /sys/class/sensors/barometer_sensor/vendor
chown system radio /sys/class/sensors/barometer_sensor/name
chown system radio /sys/class/sensors/barometer_sensor/calibration
# Magnetic_sensor
chown system radio /dev/akm8963
chown system radio /sys/class/sensors/magnetic_sensor/raw_data
chown system radio /sys/class/sensors/magnetic_sensor/vendor
chown system radio /sys/class/sensors/magnetic_sensor/name
# SensorHub
chown system radio /sys/class/sensors/ssp_sensor/enable
chown system radio /sys/class/sensors/ssp_sensor/mcu_rev
chown system radio /sys/class/sensors/ssp_sensor/mcu_name
chown system radio /sys/class/sensors/ssp_sensor/mcu_test
chown system radio /sys/class/sensors/ssp_sensor/mcu_reset
chown system radio /sys/class/sensors/ssp_sensor/mcu_update
chown system radio /sys/class/sensors/ssp_sensor/mcu_sleep_test
chown system radio /sys/class/sensors/ssp_sensor/ori_poll_delay
chown system radio /sys/class/sensors/ssp_sensor/mag_poll_delay
# for datarouter
chown system system /dev/dun
chown system system /dev/ttyGS0
chown system system /dev/ttyGS1
chown system system /dev/ttyGS2
chown system system /dev/ttyGS3
# for wifi
mkdir /data/misc/wifi/sockets 0770 wifi wifi
mkdir /data/misc/dhcp 0775 dhcp dhcp
chown dhcp dhcp /data/misc/dhcp
# for TRP/TIS
write /data/.psm.info 1
chown system root /data/.psm.info
chmod 0660 /data/.psm.info
# 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
setprop ro.build.product smdk4x12
setprop ro.product.device smdk4x12
setprop wifi.interface wlan0
# 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
# wifi display
write /proc/sys/net/core/wmem_max 262144
# Set permission for Widevine DRM temporarily
chmod 0777 /dev/s5p-smem
rm /data/app/tlcd_sock
# make param block device link for SysScope
symlink /dev/block/mmcblk0p7 /dev/block/param
# serial keyboard port
chown root system /dev/ttySAC2
chmod 0660 /dev/ttySAC2
# touchscreen
chown radio system /sys/class/sec/tsp/cmd
chown media_rw media_rw /sys/class/sec/tsp/set_jitter
# epen
chown radio system /sys/class/sec/sec_epen/epen_firm_update
chown radio system /sys/class/sec/sec_epen/epen_checksum
chown radio system /sys/class/sec/sec_epen/epen_checksum_result
chown radio system /sys/class/sec/sec_epen/epen_reset
chown system system /sys/class/sec/sec_epen/epen_saving_mode
chmod 660 /sys/class/sec/sec_epen/epen_saving_mode
# wakeup keys
chown radio system /sys/class/sec/sec_key/wakeup_keys
write /sys/class/sec/sec_key/wakeup_keys 116,172
# serial keyboard daemon
service sec_keyboard /system/bin/sec_keyboard /dev/ttySAC2
class late_start
disabled
group system
# SISO-ANDR_PERF :: START Changing scheduler to cfq and reseting cpu min freq to -1 after boot complete
on property:sys.boot_completed=1
write /sys/block/mmcblk0/queue/scheduler cfq
write /sys/power/cpufreq_min_limit -1
# SISO-ANDR_PERF :: END
on property:ro.uart_debug=0
start sec_keyboard
# create virtual SD card at /mnt/sdcard, based on the /data/media directory
# daemon will drop to user/group system/media_rw after initializing
# underlying files in /data/media wil be created with user and group media_rw (1023)
service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023
class late_start
service p2p_supplicant /system/bin/wpa_supplicant \
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -N \
-ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin \
-puse_p2p_group_interface=1
# 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 u:object_r:wpa_socket:s0
disabled
oneshot
service wpa_supplicant /system/bin/wpa_supplicant \
-Dnl80211 -iwlan0 -e/data/misc/wifi/entropy.bin \
-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 u:object_r:wpa_socket:s0
disabled
oneshot
service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL
class main
disabled
oneshot
service dhcpcd_p2p /system/bin/dhcpcd -aABKL
class main
disabled
oneshot
service dhcpcd_bnep0 /system/bin/dhcpcd -ABKL
class main
disabled
oneshot
service iprenew_wlan0 /system/bin/dhcpcd -n
class main
disabled
oneshot
service iprenew_p2p /system/bin/dhcpcd -n
class main
disabled
oneshot
service iprenew_bnep0 /system/bin/dhcpcd -n
class main
disabled
oneshot
service macloader /system/bin/macloader
class main
oneshot
service netmgrd /system/bin/netmgrd
class late_start
service SMD-daemon /system/bin/smdexe
class main
user root
group system radio inet net_raw
service qc_kickstart /system/bin/qcks s
class core
user root
seclabel u:r:kickstart:s0
group radio cache inet misc audio sdcard_rw log
service secril-daemon /system/bin/sec-ril
class main
user root
seclabel u:r:secril-daemon:s0
group radio cache inet misc audio sdcard_rw qcom_diag log
#For EncryptionMode - remove disabled, Modify class main
service qmiproxy /system/bin/qmiproxy
class main
user radio
group radio gps
service qmuxd /system/bin/qmuxd
class main
user root
seclabel u:r:qmux:s0
group radio log audio bluetooth gps log
#start GNSS/Sensor interface daemon
service gsiff_daemon /system/bin/gsiff_daemon
class late_start
user system
group qcom_oncrpc gps