# # Copyright 2012 The Android Open Source Project # Copyright (C) 2013 The CyanogenMod Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # import /vendor/etc/init/hw/init.qcom.power.rc import /vendor/etc/init/hw/init.sony.rc import /vendor/etc/init/hw/init.sony.usb.rc import /vendor/etc/init/hw/init.platform-common.rc import /vendor/etc/init/hw/init.camera.rc on early-init mount debugfs /sys/kernel/debug /sys/kernel/debug mode=755 # Turn off backlight on blank write /sys/class/leds/lcd-backlight/trigger "backlight" on init symlink /dev/block/platform/msm_sdcc.1 /dev/block/bootdevice # Enable subsystem restart write /sys/module/subsystem_restart/parameters/enable_ramdumps 0 write /sys/bus/msm_subsys/devices/subsys0/restart_level "RELATED" write /sys/bus/msm_subsys/devices/subsys1/restart_level "RELATED" write /sys/bus/msm_subsys/devices/subsys2/restart_level "RELATED" write /sys/bus/msm_subsys/devices/subsys3/restart_level "RELATED" chmod 0664 /proc/rdtag chown root system /proc/rdtag wait /dev/block/mmcblk0p1 chown system system /dev/block/mmcblk0p1 chmod 0770 /dev/block/mmcblk0p1 write /sys/module/qpnp_rtc/parameters/poweron_alarm 1 # ZRAM setup write /sys/block/zram0/comp_algorithm lz4 write /proc/sys/vm/page-cluster 0 # Create a tmpfs for dynamic network mounting mkdir /storage/removable/remote 0700 root system mount tmpfs tmpfs /storage/removable/remote mode=0755,uid=0,gid=0 # Set the property to indicate type of virtual display to 0 # 0 indicates that virtual display is not a Wifi display and that the # session is not exercised through RemoteDisplay in the android framework setprop persist.sys.wfd.virtual 0 on fs mount_all ./vendor/etc/fstab.qcom # Adaptive LMK write /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk 1 write /sys/module/lowmemorykiller/parameters/vmpressure_file_min 53059 # Start hvdcp to enable quck charge 2.0 in power off charge start hvdcp # GnssConfiguration doesn't actually look at gps.conf, just the debug file mount none /system/etc/gps.conf /system/etc/gps_debug.conf bind on early-boot # set RLIMIT_MEMLOCK to 64MB setrlimit 8 67108864 67108864 write /sys/kernel/boot_adsp/boot 1 on boot write /sys/module/qpnp_power_on/parameters/forcecrash_on 1 # Bluetooth chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state # bluetooth LPM chown bluetooth bluetooth /proc/bluetooth/sleep/lpm chown bluetooth bluetooth /proc/bluetooth/sleep/btwrite # BT DUN port-bridge chmod 0660 /dev/smd7 chown bluetooth bluetooth /dev/smd7 chmod 0660 /sys/class/rfkill/rfkill0/state chown bluetooth bluetooth /dev/ttyHS0 chmod 0660 /dev/ttyHS0 chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/clock chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock # Create QMUX deamon socket area mkdir /dev/socket/qmux_radio 2770 radio radio mkdir /dev/socket/netmgr 0750 radio radio mkdir /dev/socket/qmux_audio 2770 media audio mkdir /dev/socket/qmux_bluetooth 2770 bluetooth bluetooth mkdir /dev/socket/qmux_gps 2770 gps gps # Create PERFD deamon related dirs mkdir /data/misc/perfd 2755 root system mkdir /data/system/perfd 2770 root system #Create NETMGR daemon socket area mkdir /dev/socket/netmgr 0750 radio radio # Wlan Interface Port setprop wifi.interface wlan0 # WiFi Firmware chown wifi wifi /sys/module/bcmdhd/parameters/firmware_path # Send single UNSOL_CALL_RING notification setprop ro.telephony.call_ring.multiple false # port-bridge chmod 0660 /dev/smd0 chown system system /dev/smd0 chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state # Graphics chown system graphics /sys/class/graphics/fb0/idle_time chmod 0664 /sys/devices/virtual/graphics/fb0/idle_time chown system graphics /sys/class/graphics/fb0/dynamic_fps chmod 0664 /sys/devices/virtual/graphics/fb0/dynamic_fps chown system graphics /sys/class/graphics/fb0/dyn_pu chmod 0664 /sys/devices/virtual/graphics/fb0/dyn_pu chown system graphics /sys/class/graphics/fb0/modes chmod 0664 /sys/devices/virtual/graphics/fb0/modes chown system graphics /sys/class/graphics/fb0/mode chmod 0664 /sys/devices/virtual/graphics/fb0/mode chown system graphics /sys/class/graphics/fb1/hpd chmod 0664 /sys/devices/virtual/graphics/fb1/hpd chown system graphics /sys/class/graphics/fb1/res_info chmod 0664 /sys/class/graphics/fb1/res_info chmod 0664 /sys/devices/virtual/graphics/fb1/res_info chown system graphics /sys/class/graphics/fb1/vendor_name chmod 0664 /sys/devices/virtual/graphics/fb1/vendor_name chown system graphics /sys/class/graphics/fb1/product_description chmod 0664 /sys/devices/virtual/graphics/fb1/product_description chown system graphics /sys/class/graphics/fb1/video_mode chmod 0664 /sys/devices/virtual/graphics/fb1/video_mode chown system graphics /sys/class/graphics/fb1/format_3d chmod 0664 /sys/devices/virtual/graphics/fb1/format_3d chown system graphics /sys/class/graphics/fb1/s3d_mode chmod 0664 /sys/devices/virtual/graphics/fb1/s3d_mode chown system graphics /sys/class/graphics/fb1/cec/enable chmod 0664 /sys/devices/virtual/graphics/fb1/cec/enable chown system graphics /sys/class/graphics/fb1/cec/logical_addr chmod 0664 /sys/devices/virtual/graphics/fb1/cec/logical_addr chown system graphics /sys/class/graphics/fb1/cec/rd_msg chmod 0664 /sys/devices/virtual/graphics/fb1/cec/rd_msg chown system graphics /sys/class/graphics/fb1/pa chmod 0664 /sys/devices/virtual/graphics/fb1/pa chown system graphics /sys/class/graphics/fb1/cec/wr_msg chmod 0664 /sys/devices/virtual/graphics/fb1/cec/wr_msg chown system graphics /sys/class/graphics/fb1/hdcp/tp chmod 0664 /sys/devices/virtual/graphics/fb1/hdcp/tp # create symlink for fb1 as HDMI symlink /dev/graphics/fb1 /dev/graphics/hdmi # Change owner and group to get adopter/device ids from MHL driver chown system system /sys/class/mhl/sii8334/adopter_id chown system system /sys/class/mhl/sii8334/device_id # For bridgemgr daemon to inform the USB driver of the correct transport chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport # For setting tcp delayed ack chown system system /sys/kernel/ipv4/tcp_delack_seg chown system system /sys/kernel/ipv4/tcp_use_userconfig # Define TCP delayed ack settings for WiFi & LTE setprop net.tcp.delack.default 1 setprop net.tcp.delack.wifi 20 setprop net.tcp.delack.lte 8 setprop net.tcp.usercfg.default 0 setprop net.tcp.usercfg.wifi 1 setprop net.tcp.usercfg.lte 1 # 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 2097152 write /proc/sys/net/core/wmem_max 2097152 chmod 660 /dev/rtc0 chown system system /dev/rtc0 # To allow interfaces to get v6 address when tethering is enabled write /proc/sys/net/ipv6/conf/rmnet0/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet1/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet2/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet3/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet4/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet5/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet6/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet7/accept_ra 2 # 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 chown system /sys/devices/virtual/timed_output/vibrator/vtg_level # charger chown root system /sys/module/qpnp_charger/parameters/charger_monitor chown root system /sys/class/power_supply/battery/input_current_max chown root system /sys/class/power_supply/battery/input_current_trim chown root system /sys/class/power_supply/battery/voltage_min chmod 0644 /sys/module/qpnp_charger/parameters/charger_monitor chmod 0644 /sys/class/power_supply/battery/input_current_max chmod 0644 /sys/class/power_supply/battery/input_current_trim chmod 0644 /sys/class/power_supply/battery/voltage_min # thermananger chmod 0644 /sys/class/power_supply/usb/current_max chown system system /sys/devices/virtual/graphics/fb0/rgb chmod 0660 /sys/devices/virtual/graphics/fb0/rgb # Touchscreen chown system system /sys/devices/virtual/input/clearpad/wakeup_gesture chown system system /sys/devices/virtual/input/max1187x/wakeup_gesture on post-fs # led RGB chown system system /sys/class/leds/rgb/sync_state chown system system /sys/class/leds/rgb/start_blink chown system system /sys/class/leds/led:rgb_red/brightness chown system system /sys/class/leds/led:rgb_red/lut_pwm chown system system /sys/class/leds/led:rgb_red/step_duration chown system system /sys/class/leds/led:rgb_red/pause_lo_multi chown system system /sys/class/leds/led:rgb_red/pause_hi_multi chown system system /sys/class/leds/led:rgb_green/brightness chown system system /sys/class/leds/led:rgb_green/lut_pwm chown system system /sys/class/leds/led:rgb_green/step_duration chown system system /sys/class/leds/led:rgb_green/pause_lo_multi chown system system /sys/class/leds/led:rgb_green/pause_hi_multi chown system system /sys/class/leds/led:rgb_blue/brightness chown system system /sys/class/leds/led:rgb_blue/lut_pwm chown system system /sys/class/leds/led:rgb_blue/step_duration chown system system /sys/class/leds/led:rgb_blue/pause_lo_multi chown system system /sys/class/leds/led:rgb_blue/pause_hi_multi on post-fs-data # Observe dnsmasq.leases file for dhcp information of soft ap. chown dhcp dhcp /data/misc/dhcp mkdir /data/misc/bluetooth 0770 bluetooth bluetooth mkdir /data/tombstones 0755 system system mkdir /data/tombstones/vendor 0755 system system mkdir /data/pc 0700 radio radio # Create directory used by audio subsystem mkdir /data/misc/audio 0770 audio audio # IR Blaster chown system system /dev/ttyHSL2 chmod 0660 /dev/ttyHSL2 chown system system /sys/devices/platform/ir_remote_control/enable chmod 0220 /sys/devices/platform/ir_remote_control/enable 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 # QCOM Sensors mkdir /data/system/sensors 0775 system system mkdir /data/misc/sensors 0775 system system write /data/system/sensors/settings 1 chmod 664 /data/system/sensors/settings chown system /data/system/sensors/settings # Chown polling nodes as needed from UI running on system server 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 chown system system /sys/devices/platform/kgsl-3d0.0/kgsl/kgsl-3d0/pwrscale/policy # Create directories for QuIPS mkdir /data/misc/quipc 0770 gps system # Create the directories used by the Wireless subsystem mkdir /data/vendor/wifi 0770 wifi wifi mkdir /data/vendor/wifi/wpa 0770 wifi wifi mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi # Create directory used by bluetooth subsystem mkdir /data/vendor/bluetooth 2770 bluetooth bluetooth # Nfc mkdir /data/vendor/nfc 0770 nfc nfc # Set owner of macaddr node chown system system /sys/devices/platform/bcmdhd_wlan/macaddr # Provide the access to hostapd.conf only to root and group chmod 0660 /data/hostapd/hostapd.conf mkdir /data/audio 0770 media audio # Enable Power save functionality for modem setprop persist.radio.add_power_save 1 chown system /dev/block/platform/msm_sdcc.1/by-name setprop vold.post_fs_data_done 1 # Create directory for TZ Apps mkdir /data/misc/qsee 0770 system system # Create directories for Location services mkdir /data/misc/location 0770 gps gps mkdir /data/misc/location/gpsone_d 0770 system gps mkdir /data/misc/location/gsiff 0770 gps gps mkdir /data/misc/location/mq 0770 gps gps mkdir /data/misc/location/quipc 0770 gps system mkdir /data/misc/location/xtra 0770 gps gps mkdir /data/misc/location/xtwifi 0770 gps gps # SONY: Create a dir on data partition not to be deleted during mr and wipedata mkdir /data/persist 0770 system system # SONY: Create dir for Widevine keybox mkdir /data/persist/wv 0700 system system # SONY: Create dir for marlin sdata mkdir /data/persist/marlin 0700 system system on property:sys.boot_completed=1 # Enable ZRAM on boot_complete swapon_all /vendor/etc/fstab.qcom on property:bluetooth.isEnabled=true # start btwlancoex write /sys/class/bluetooth/hci0/idle_timeout 7000 on property:apexd.status=ready mount none /system/etc/swcodec/ld.config.txt /apex/com.android.media.swcodec/etc/ld.config.txt bind # QMUX must be in multiple groups to support external process connections service qmuxd /vendor/bin/qmuxd class main user root group radio audio bluetooth gps nfc diag wakelock oem_2950 service netmgrd /vendor/bin/netmgrd class late_start user root group root wifi wakelock radio inet oem_2950 on property:ro.radio.noril=true stop ril-daemon stop netmgrd service qseecomd /vendor/bin/qseecomd class core user root group drmrpc root on property:ro.data.large_tcp_window_size=true # Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB) write /proc/sys/net/ipv4/tcp_adv_win_scale 2 service ril-daemon1 /vendor/bin/hw/rild -c 2 class main user radio group radio cache inet misc audio log readproc wakelock capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW on property:persist.radio.multisim.config=dsds start ril-daemon1 # Modem Log QMI service service mlog_qmi_service /vendor/bin/mlog_qmi_service class core user root service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config" class main user root oneshot service rmt_storage /vendor/bin/rmt_storage class core user root group system wakelock shutdown critical service sensors /vendor/bin/sensors.qcom class main user root group root wakelock # HexagonDSP FastRPC daemon service adsprpcd /vendor/bin/adsprpcd class main user media group media service charger /system/bin/charger class charger user system group system graphics input capabilities SYS_BOOT seclabel u:r:charger:s0 # Redefined Service service audioserver /system/bin/audioserver class main user audioserver # media gid needed for /dev/fm (radio) and for /data/misc/media (tee) group audio camera drmrpc inet media mediadrm net_bt bluetooth net_bw_acct oem_2950 ioprio rt 4 service drm /system/bin/drmserver class main user drm group drm system inet drmrpc readproc service media /system/bin/mediaserver class main user media group audio camera inet net_bt bluetooth net_bw_acct drmrpc mediadrm system ioprio rt 4 service mediadrm /system/bin/mediadrmserver class main user media group mediadrm drmrpc ioprio rt 4 service mpdecision /vendor/bin/mpdecision --avg_comp class main user root group root readproc disabled # brcm-uim-sysfs (BT/FM/ANT+) service uim /vendor/bin/brcm-uim-sysfs class late_start user root group bluetooth net_bt # Quick Charge service hvdcp /vendor/bin/hvdcp class core user root disabled