# Copyright (c) 2009-2012, 2014-2015, The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # * Neither the name of The Linux Foundation nor # the names of its contributors may be used to endorse or promote # products derived from this software without specific prior written # permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # import init.qcom.power.rc import init.qcom.usb.rc import init.qcom.factory.rc on early-init mkdir /firmware 0771 system system mkdir /system 0777 root root symlink /data/tombstones /tombstones mkdir /dsp 0771 media media mount debugfs debugfs /sys/kernel/debug chmod 0755 /sys/kernel/debug on init # Set permissions for persist partition mkdir /persist 0771 root system # Support legacy paths symlink /sdcard /storage/sdcard0 write /sys/module/qpnp_rtc/parameters/poweron_alarm 1 on fs mount_all fstab.qcom mkdir /persist/data 0700 system system restorecon_recursive /persist # msm specific files that need to be created on /data on post-fs-data mkdir /data/tombstones 0771 system system mkdir /tombstones/modem 0771 system system mkdir /tombstones/lpass 0771 system system mkdir /tombstones/wcnss 0771 system system mkdir /tombstones/dsps 0771 system system mkdir /persist/data/sfs 0700 system system mkdir /persist/data/tz 0700 system system mkdir /data/misc/hbtp 0750 system system mkdir /data/misc/dts 0770 media audio #Create directories for Fingerprint mkdir /data/misc/stargate 0770 system system mkdir /data/misc/stargate/bg_estimation 0770 system system mkdir /data/misc/stargate/calib_test 0770 system system mkdir /data/misc/stargate/database 0770 system system # Create directory for TZ Apps mkdir /data/misc/qsee 0770 system system #Create folder for mm-qcamera-daemon mkdir /data/misc/camera 0770 camera camera mkdir /data/media 0770 media_rw media_rw chown media_rw media_rw /data/media mkdir /data/misc/ipa 0700 net_admin net_admin mkdir /data/misc/bluetooth 0770 bluetooth bluetooth # Create the directories used by the Wireless subsystem mkdir /data/misc/wifi 0770 wifi wifi mkdir /data/misc/wifi/sockets 0770 wifi wifi mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi mkdir /data/misc/dhcp 0770 dhcp dhcp chown dhcp dhcp /data/misc/dhcp #create port-bridge log dir mkdir /data/misc/port_bridge 0770 radio radio chmod 0770 /data/misc/port_bridge #create netmgr log dir mkdir /data/misc/netmgr 0770 radio radio chmod 0770 /data/misc/netmgr # Create the directories used by CnE subsystem mkdir /data/connectivity 0771 system system chown system system /data/connectivity # Create the directories used by DPM subsystem mkdir /data/dpm 0771 system system chown system system /data/dpm mkdir /data/dpm/nsrm 0771 system system chown system system /data/dpm/nsrm # Create directory used by audio subsystem mkdir /data/misc/audio 0770 audio audio # Create directory for audio delta files mkdir /data/misc/audio/acdbdata 0770 media audio mkdir /data/misc/audio/acdbdata/delta 0770 media audio # Create directory used by the DASH client mkdir /data/misc/dash 0770 media audio # Create directory used by display clients mkdir /data/misc/display 0770 system graphics # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections # We chown/chmod /persist again so because mount is run as root + defaults chown root system /persist chmod 0771 /persist 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 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 #Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant mkdir /data/system 0775 system system #symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant #Create directories for Location services mkdir /data/misc/location 0770 gps gps mkdir /data/misc/location/mq 0770 gps gps mkdir /data/misc/location/xtwifi 0770 gps gps mkdir /data/misc/location/gpsone_d 0770 system gps mkdir /data/misc/location/quipc 0770 gps system mkdir /data/misc/location/gsiff 0770 gps gps #Create directory from IMS services mkdir /data/shared 0755 chown system system /data/shared #Create directory for FOTA mkdir /data/fota 0771 chown system system /data/fota #Create directory for hostapd mkdir /data/hostapd 0770 system wifi # Create /data/time folder for time-services mkdir /data/time/ 0700 system system mkdir /data/audio/ 0770 media audio # Create a folder for audio delta files mkdir /data/audio/acdbdata 0770 media audio mkdir /data/audio/acdbdata/delta 0770 media audio setprop vold.post_fs_data_done 1 #Create a folder for SRS to be able to create a usercfg file mkdir /data/data/media 0770 media media #Create FM dir for patchdownloader mkdir /data/misc/fm 0770 system system chmod 0770 /data/misc/fm # RIDL data #mkdir /data/misc/SelfHost/ 0710 system shell #mkdir /data/misc/SelfHost/QCLogs/ 2750 system shell #mkdir /data/misc/SelfHost/QCLogs/temp/ 0700 system shell #mkdir /data/misc/SelfHost/storage/ 0700 system shell #mkdir /data/misc/SelfHost/Running/ 2750 system shell #mkdir /data/misc/SelfHost/socket/ 2770 system system #Create PERFD deamon related dirs mkdir /data/system/perfd 0770 root system chmod 2770 /data/system/perfd # NFC local data and nfcee xml storage mkdir /data/nfc 0770 nfc nfc mkdir /data/nfc/param 0770 nfc nfc #Create IOP deamon related dirs mkdir /data/misc/iop 0770 root system # Mark the copy complete flag to not completed write /data/misc/radio/copy_complete 0 chown radio radio /data/misc/radio/copy_complete chmod 0660 /data/misc/radio/copy_complete # File flags for prebuilt ril db file write /data/misc/radio/prebuilt_db_support 1 chown radio radio /data/misc/radio/prebuilt_db_support chmod 0400 /data/misc/radio/prebuilt_db_support write /data/misc/radio/db_check_done 0 chown radio radio /data/misc/radio/db_check_done chmod 0660 /data/misc/radio/db_check_done # qti-logkit data mkdir /data/misc/qti-logkit/ 0771 system system mkdir /data/misc/qti-logkit/shared-privileged/ 2770 system system mkdir /data/misc/qti-logkit/shared-public/ 2770 system qcom_diag mkdir /data/misc/qti-logkit/socket-privileged/ 2770 system system mkdir /data/misc/qti-logkit/socket-public/ 2750 system qcom_diag mkdir /data/misc/qti-logkit/logdata/ 2750 system shell # Sensors chmod 0775 /persist/sensors chmod 0664 /persist/sensors/sensors_settings chown system root /persist/sensors/sensors_settings mkdir /data/misc/sensors chmod 0775 /data/misc/sensors restorecon_recursive /data/misc/sensor on early-boot # set RLIMIT_MEMLOCK to 64MB setrlimit 8 67108864 67108864 # Allow subsystem (modem etc) debugging write /sys/kernel/boot_adsp/boot 1 write /sys/kernel/boot_slpi/boot 1 # Graphics chown system graphics /sys/class/graphics/fb0/idle_time chmod 0664 /sys/class/graphics/fb0/idle_time chown system graphics /sys/class/graphics/fb0/dynamic_fps chmod 0664 /sys/class/graphics/fb0/dynamic_fps chown system graphics /sys/class/graphics/fb0/dyn_pu chmod 0664 /sys/class/graphics/fb0/dyn_pu chown system graphics /sys/class/graphics/fb0/modes chmod 0664 /sys/class/graphics/fb0/modes chown system graphics /sys/class/graphics/fb0/mode chmod 0664 /sys/class/graphics/fb0/mode chown system graphics /sys/class/graphics/fb0/msm_cmd_autorefresh_en chmod 0664 /sys/class/graphics/fb0/msm_cmd_autorefresh_en on boot chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power chown bluetooth net_bt /sys/class/rfkill/rfkill0/type chown bluetooth net_bt /sys/class/rfkill/rfkill0/state chown bluetooth bluetooth /proc/bluetooth/sleep/proto chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_lpm chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_btwrite chown system system /sys/module/sco/parameters/disable_esco chown bluetooth bluetooth /sys/module/hci_smd/parameters/hcismd_set chmod 0660 /sys/module/bluetooth_power/parameters/power chmod 0660 /sys/module/hci_smd/parameters/hcismd_set chmod 0660 /sys/class/rfkill/rfkill0/state chmod 0660 /proc/bluetooth/sleep/proto chown bluetooth net_bt /dev/ttyHS0 chmod 0660 /sys/module/hci_uart/parameters/ath_lpm chmod 0660 /sys/module/hci_uart/parameters/ath_btwrite 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 chmod 0660 /dev/ttyHS2 chown bluetooth bluetooth /dev/ttyHS2 chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo chmod 0660 /sys/class/rfkill/rfkill0/device/extldo #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_bluetooth 0770 bluetooth bluetooth chmod 2770 /dev/socket/qmux_bluetooth mkdir /dev/socket/qmux_gps 0770 gps gps chmod 2770 /dev/socket/qmux_gps mkdir /persist/drm 0770 system system mkdir /persist/bluetooth 0770 bluetooth bluetooth mkdir /persist/misc 0770 system system mkdir /persist/time 0770 system system #Create NETMGR daemon socket area mkdir /dev/socket/netmgr 0750 radio radio # Prevents permission denied error for telephony chmod 0644 /proc/cmdline #NULL lixiuzhen 2016\04\03 add ota prop for mbn update setprop persist.radio.start_ota_daemon 1 setprop persist.radio.sw_mbn_openmkt 1 #enable camera read sensors data setprop persist.camera.gyro.disable 0 setprop persist.camera.stats.test 5 #Remove SUID bit for iproute2 ip tool chmod 0755 /system/bin/ip chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state #For bridgemgr daemon to inform the USB driver of the correct transport chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport # 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 8388608 write /proc/sys/net/core/wmem_max 8388608 #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 write /proc/sys/net/ipv6/conf/rmnet_sdio0/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio1/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio2/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio3/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio4/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio5/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio6/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio7/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_usb0/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_usb1/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_usb2/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_usb3/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 # Set the console loglevel to < KERN_INFO # Set the default message loglevel to KERN_INFO write /proc/sys/kernel/printk "6 6 1 7" # Allow access for CCID command/response timeout configuration chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout # bond0 used by FST Manager chown wifi wifi /sys/class/net/bond0/bonding/queue_id # Goodix Fingerprint chown system system /dev/goodix_fp chmod 0644 /dev/goodix_fp setprop persist.sys.fp.vendor none start gx_fpd write /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/fw_name PR1702898-s3528t_00260005_00380008.img write /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/update_fw 1 restorecon /dev/block/mmcblk0p13 restorecon /dev/block/mmcblk0p14 restorecon /dev/block/mmcblk0p16 restorecon /dev/block/mmcblk0p2 restorecon /dev/block/mmcblk0p3 restorecon /dev/block/mmcblk0p27 restorecon /dev/block/mmcblk0p33 restorecon /dev/block/mmcblk0p34 start rmt_storage # access permission for secure touch chmod 0660 /sys/devices/soc.0/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch_enable chmod 0440 /sys/devices/soc.0/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch chmod 0660 /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch_enable chmod 0440 /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch chown system drmrpc /sys/devices/soc.0/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch_enable chown system drmrpc /sys/devices/soc.0/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch chown system drmrpc /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch_enable chown system drmrpc /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch chown root system /sys/class/leds/red/blink chown root system /sys/class/leds/green/blink chown root system /sys/class/leds/blue/blink # IR blaster chown root system /sys/class/leds/infrared/transmit chown root system /sys/class/leds/infrared/brightness # Subsystem restart 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 on class_start:late_start write /proc/sys/net/ipv6/conf/default/accept_ra_defrtr 1 copy /system/vendor/qcril.db /data/misc/radio/qcril.db chown radio radio /data/misc/radio/qcril.db write /data/misc/radio/db_check_done 1 service iop /system/bin/iop class main user root group root disabled service qcomsysd /system/bin/qcom-system-daemon class main user root group root qcom_diag service ssr_setup /system/bin/ssr_setup oneshot disabled service ss_ramdump /system/bin/subsystem_ramdump class main user system group system disabled on property:hw.fm.init=* write /sys/module/radio_iris_transport/parameters/fmsmd_set ${hw.fm.init} on property:persist.sys.ssr.enable_debug=* write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug} on property:persist.sys.mba_boot_timeout=* write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout} on property:persist.sys.modem_auth_timeout=* write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout} on property:persist.sys.pil_proxy_timeout=* write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout} on property:persist.sys.ssr.restart_level=* start ssr_setup on property:persist.sys.ssr.enable_ramdumps=1 write /sys/module/subsystem_restart/parameters/enable_ramdumps 1 mkdir /data/ramdump 770 system system start ss_ramdump on property:persist.sys.ssr.enable_ramdumps=0 write /sys/module/subsystem_restart/parameters/enable_ramdumps 0 on property:sys.boot_completed=1 write /dev/kmsg "Boot completed " # CPE fw_name used by sound trigger HAL chown media audio /sys/kernel/wcd_cpe0/fw_name on property:persist.radio.atfwd.start=false stop atfwd on property:radio.atfwd.start=false stop atfwd # corefile limit on property:persist.debug.trace=1 mkdir /data/core 0777 root root write /proc/sys/kernel/core_pattern "/data/core/%E.%p.%e" #bug156417 zhaoqf_sh add Allow usb charging to be disabled peristently on property:persist.sys.chgdisabled=1 write /sys/class/power_supply/battery/charging_enabled 0 on property:persist.sys.chgdisabled=0 write /sys/class/power_supply/battery/charging_enabled 1 on property:bluetooth.sap.status=running start bt-sap on property:bluetooth.sap.status=stopped stop bt-sap on property:bluetooth.dun.status=running start bt-dun on property:bluetooth.dun.status=stopped stop bt-dun on property:ro.bluetooth.ftm_enabled=true start ftmd on property:vold.decrypt=trigger_restart_framework start config_bt_addr start cnss_diag on property:persist.env.fastdorm.enabled=true setprop persist.radio.data_no_toggle 1 service cnd /system/bin/cnd class main socket cnd stream 660 root inet service dpmd /system/bin/dpmd class late_start socket dpmd stream 660 root system group system readproc service irsc_util /system/bin/irsc_util "/etc/sec_config" class core user root oneshot service rmt_storage /system/bin/rmt_storage class core user root group wakelock service rfs_access /system/bin/rfs_access class core user root group system net_raw service tftp_server /system/bin/tftp_server class main user root service config_bt_addr /system/bin/btnvtool -O class core user bluetooth group bluetooth radio oneshot service hciattach /system/bin/sh /system/etc/init.qcom.bt.sh class late_start user bluetooth group bluetooth net_bt_admin disabled seclabel u:r:bluetooth_loader:s0 oneshot on property:bluetooth.hciattach=true start hciattach #FM on property:hw.fm.init=0 write /sys/module/radio_iris_transport/parameters/fmsmd_set 0 on property:hw.fm.init=1 write /sys/module/radio_iris_transport/parameters/fmsmd_set 1 service bt-dun /system/bin/dun-server /dev/smd7 /dev/rfcomm0 class late_start user bluetooth group bluetooth net_bt_admin inet disabled oneshot service ftmd /system/bin/logwrapper /system/bin/ftmdaemon class late_start user root group bluetooth net_bt_admin misc net_bt_stack qcom_diag net_bt disabled oneshot service port-bridge /system/bin/port-bridge class main user radio system group radio system inet oneshot # QMUX must be in multiple groups to support external process connections service qmuxd /system/bin/qmuxd class main user root group radio audio bluetooth gps nfc qcom_diag wakelock writepid /dev/cpuset/system-background/tasks service netmgrd /system/bin/netmgrd class main group system wakelock writepid /dev/cpuset/system-background/tasks service qti /system/vendor/bin/qti class main user radio group radio net_raw qcom_diag usb net_admin writepid /dev/cpuset/system-background/tasks service sensors /system/bin/sensors.qcom class core user root group root writepid /dev/cpuset/system-background/tasks # Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB) # but only if ro.data.large_tcp_window_size property is set. on property:ro.data.large_tcp_window_size=true write /proc/sys/net/ipv4/tcp_adv_win_scale 2 service p2p_supplicant /system/bin/wpa_supplicant \ -ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \ -I/system/etc/wifi/p2p_supplicant_overlay.conf -N \ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \ -I/system/etc/wifi/wpa_supplicant_overlay.conf \ -O/data/misc/wifi/sockets -puse_p2p_group_interface=1 \ -e/data/misc/wifi/entropy.bin -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 \ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \ -I/system/etc/wifi/wpa_supplicant_overlay.conf \ -O/data/misc/wifi/sockets \ -e/data/misc/wifi/entropy.bin -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 # FST Manager can be started by property_set("ctl.start", "fstman:"); service fstman /system/bin/fstman -B -ddd -c /data/misc/wifi/fstman.ini user wifi group wifi net_admin net_raw class main disabled oneshot on property:netd.fstman.start=true start fstman on property:netd.fstman.start=false stop fstman service ptt_socket_app /system/bin/ptt_socket_app -d class main user root group root oneshot service ptt_ffbm /system/bin/ptt_socket_app -f -d user root group root disabled oneshot service cnss_diag /system/bin/cnss_diag -q -f class main user system group system wifi inet net_admin sdcard_rw media_rw diag oneshot service cnss-daemon /system/bin/cnss-daemon -n -l class late_start user system group system inet net_admin wifi on property:sys.shutdown.requested=* stop cnss-daemon service loc_launcher /system/bin/loc_launcher #loc_launcher will start as root and set its uid to gps class late_start group gps inet net_raw qcom_diag net_admin wifi service qcom-sh /system/bin/sh /init.qcom.sh class late_start user root oneshot service atfwd /system/bin/ATFWD-daemon class late_start user system group system radio service hostapd /system/bin/hostapd -dd /data/hostapd/hostapd.conf class late_start user root group root oneshot disabled service ril-daemon2 /system/bin/rild -c 2 class main socket rild2 stream 660 root radio socket rild-debug2 stream 660 radio system user root group radio cache inet misc audio sdcard_r sdcard_rw qcom_diag diag log service usb_uicc_enable /system/bin/sh /system/etc/init.qcom.uicc.sh class late_start user root disabled oneshot on property:sys.usb_uicc.enabled=1 start usb_uicc_enable on property:sys.usb_uicc.enabled=0 start usb_uicc_enable service hcidump /system/bin/sh /system/etc/hcidump.sh user bluetooth group bluetooth system net_bt_admin net_admin disabled oneshot service charger /charger class charger group graphics system seclabel u:r:healthd:s0 service ssr_diag /system/bin/ssr_diag class late_start user system group system disabled service qbcharger /charger -m 1 disabled oneshot on property:sys.qbcharger.enable=true start qbcharger on property:sys.qbcharger.enable=false stop qbcharger #+first boot,jiangtao.wt,add 20150810 on property:sys.installed.running=1 write /sys/power/wake_lock InstalldWakeLock on property:sys.installed.running=0 write /sys/power/wake_unlock InstalldWakeLock #-first boot,jiangtao.wt,add 20150810 service diag_mdlog_start /system/bin/diag_mdlog -s 200 -n 10 class late_start user shell group system qcom_diag sdcard_rw sdcard_r media_rw disabled oneshot service diag_mdlog_stop /system/bin/diag_mdlog -k class late_start user shell group system qcom_diag sdcard_rw sdcard_r media_rw disabled oneshot on property:persist.radio.otaconfig=0 setprop persist.radio.start_ota_daemon 0 on property:persist.radio.otaconfig=1 setprop persist.radio.start_ota_daemon 1 service msm_irqbalance /system/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance.conf class late_start user root group root writepid /dev/cpuset/system-background/tasks service wfdservice /system/bin/wfdservice class main user system group audio camera inet net_bt_stack drmrpc media_rw media input net_admin #removed these because of limit of 12 groups #graphics net_bt net_bt_admin bluetooth disabled oneshot on property:sys.wfdservice=enable start wfdservice on property:sys.wfdservice=disable stop wfdservice on property:sys.dbg.coresight.enable=1 write /persist/coresight/enable 1 on property:sys.dbg.coresight.enable=0 write /persist/coresight/enable 0 service qseeproxydaemon /system/vendor/bin/qseeproxydaemon class late_start user system group system # Add poweroffhandler service poweroffhandler /system/bin/poweroffhandler class core user media group graphics audio disabled oneshot service fingerprintd /system/bin/fingerprintd class late_start socket fpce stream 0666 system system user system group system sdcard_rw disabled service gx_fpd /system/bin/gx_fpd class core user root group system system disabled on property:persist.sys.fp.vendor=switchf stop gx_fpd setprop persist.sys.fp.vendor searchf start fingerprintd setprop ro.boot.fpsensor fpc on property:persist.sys.fp.vendor=goodix setprop ro.boot.fpsensor gdx on property:persist.sys.fp.onstart=1 start fingerprintd # Start camera server as daemon service qcamerasvr /system/bin/mm-qcamera-daemon class late_start user camera group camera system inet input graphics writepid /dev/cpuset/system-background/tasks # Allow usb charging to be disabled peristently on property:persist.usb.chgdisabled=1 write /sys/class/power_supply/battery/charging_enabled 0 on property:persist.usb.chgdisabled=0 write /sys/class/power_supply/battery/charging_enabled 1 service qseecomd /system/bin/qseecomd class core user root group root service perfd /system/vendor/bin/perfd class main user root group root readproc socket perfd seqpacket 0666 root system disabled writepid /dev/cpuset/system-background/tasks service thermal-engine /system/vendor/bin/thermal-engine class main user root socket thermal-send-client stream 0666 system system socket thermal-recv-client stream 0660 system system socket thermal-recv-passive-client stream 0666 system system group root service time_daemon /system/bin/time_daemon class late_start user root group root service audiod /system/bin/audiod class late_start user system group system service wcnss-service /system/bin/wcnss_service class main user system group system wifi radio oneshot service imsqmidaemon /system/bin/imsqmidaemon class main user system socket ims_qmid stream 0660 system radio group radio net_raw log diag disabled on property:service.qti.ims.enabled=1 start imsqmidaemon service imsdatadaemon /system/bin/imsdatadaemon class main user system socket ims_datad stream 0660 system radio group system wifi radio inet net_raw log diag net_admin disabled on property:sys.ims.QMI_DAEMON_STATUS=1 start imsdatadaemon service ims_rtp_daemon /system/bin/ims_rtp_daemon class main user system socket ims_rtpd stream 0660 system radio group radio net_raw diag diag inet log disabled service imscmservice /system/bin/imscmservice class main user system group radio net_raw diag diag log disabled on property:sys.ims.DATA_DAEMON_STATUS=1 start ims_rtp_daemon start imscmservice service ppd /system/vendor/bin/mm-pp-dpps class late_start disabled user system socket pps stream 0660 system system group system graphics on property:init.svc.surfaceflinger=stopped stop ppd on property:init.svc.surfaceflinger=running start ppd on property:init.svc.surfaceflinger=restarting stop ppd on property:init.svc.zygote=stopped stop ppd on property:init.svc.zygote=running start ppd on property:init.svc.zygote=restarting stop ppd on charger wait /dev/block/bootdevice/by-name/system mount ext4 /dev/block/bootdevice/by-name/system /system ro barrier=1 load_all_props setprop persist.sys.usb.config mass_storage setprop persist.sys.usb.config mass_storage start hvdcp_opti service hbtp /system/vendor/bin/hbtp_daemon class main user system group system disabled service adsprpcd /system/bin/adsprpcd class main user media group media service per_mgr /system/bin/pm-service class core user system group system net_raw service hvdcp_opti /system/bin/hvdcp_opti class main user root group root service mdtpd /system/vendor/bin/mdtpd class late_start user root group system radio drmrpc service mtservice /system/bin/mtd class late_start