blob: d3e34bb29aa451bc69c02b0de72e644ea68ebff4 [file] [log] [blame]
import init.target.rc
import init.smdk4x12.usb.rc
on init
chmod 0701 /mnt/media_rw
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
mkdir /mnt/media_rw/sdcard1 0775 system system
mkdir /mnt/media_rw/usbdisk0 0775 system system
export EXTERNAL_STORAGE /storage/emulated/legacy
export SECONDARY_STORAGE /storage/sdcard1:/storage/usbdisk0
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
on fs
mkdir /preload
mount_all /fstab.smdk4x12
setprop ro.crypto.fuse_sdcard true
chown radio system /efs
chmod 0771 /efs
# exfat module
insmod /system/lib/modules/exfat_core.ko
insmod /system/lib/modules/exfat_fs.ko
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
# 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
# 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_GD.bin
chmod 0775 /data/cfw/SlimISP_GD.bin
chown system media /data/cfw/SlimISP_ZD.bin
chmod 0775 /data/cfw/SlimISP_ZD.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/rear/rear_flash
chown system radio /sys/class/camera/flash/rear_flash
chmod 0666 /sys/class/camera/flash/rear_flash
chown system radio /sys/devices/virtual/flash/flash/flash_power
chmod 0666 /sys/devices/virtual/flash/flash/flash_power
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
write /data/ISP_CV 1
chmod 0622 /data/ISP_CV
# 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
# S-Pen
chown system system /sys/class/sec/sec_epen/epen_saving_mode
chmod 660 /sys/class/sec/sec_epen/epen_saving_mode
# 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 /dev/accelerometer
chown system radio /sys/class/sensors/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/input/input7/enable
chown system radio /sys/class/input/input7/poll_delay
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 /dev/lsm330dlc_gyro_misc
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/input/input5/pressure_reference_level
chown system radio /sys/class/input/input5/temperature_reference_level
chown system radio /sys/class/input/input5/enable_autozero
chown system radio /sys/class/input/input5/compensation_param
chown system radio /sys/class/input/input5/reg_value
chown system radio /sys/class/input/input5/reg_addr
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 /dev/akm8975
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
# 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
# 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
# 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
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 -u 1023 -g 1023 -l /data/media /mnt/shell/emulated
class late_start
service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 /mnt/media_rw/sdcard1 /storage/sdcard1
class late_start
disabled
service fuse_usbdisk0 /system/bin/sdcard -u 1023 -g 1023 /mnt/media_rw/usbdisk0 /storage/usbdisk0
class late_start
disabled
service p2p_supplicant /system/bin/wpa_supplicant \
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
-I/system/etc/wifi/wpa_supplicant.conf \
-O/data/misc/wifi/sockets -N \
-ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin \
-puse_p2p_group_interface=1 \
-g@android:wpa_wlan0
# 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 wpa_supplicant /system/bin/wpa_supplicant \
-Dnl80211 -iwlan0 -e/data/misc/wifi/entropy.bin \
-c/data/misc/wifi/wpa_supplicant.conf \
-I/system/etc/wifi/wpa_supplicant.conf \
-O/data/misc/wifi/sockets \
-g@android:wpa_wlan0
# 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 dhcpcd_p2p /system/bin/dhcpcd -aABKL
class main
disabled
oneshot
service dhcpcd_bt-pan /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_bt-pan /system/bin/dhcpcd -n
class main
disabled
oneshot
service macloader /system/bin/macloader
class main
oneshot