android_device_lenovo_msm89.../rootdir/init.qcom.rc
Zhao Wei Liew 995de1847f land: rootdir: Clean out init - part 2
Change-Id: I3819d3964f7e482fd8d0455a363399d4fc6bd83a
2016-11-11 16:18:06 +08:00

1009 lines
30 KiB
Text

# 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 system system
# Support legacy paths
symlink /sdcard /mnt/sdcard
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
on post-fs
wait /dev/block/bootdevice/by-name/oem
mount ext4 /dev/block/bootdevice/by-name/oem /oem ro nosuid nodev barrier=1
# 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 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 system 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
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
chown system system /sys/module/radio_iris_transport/parameters/fmsmd_set
chmod 0660 /sys/module/bluetooth_power/parameters/power
chmod 0660 /sys/module/hci_smd/parameters/hcismd_set
chmod 0660 /sys/module/radio_iris_transport/parameters/fmsmd_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
#Create NETMGR daemon socket area
mkdir /dev/socket/netmgr 0750 radio radio
#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
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: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 "
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:init.svc.wpa_supplicant=stopped
stop dhcpcd
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
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
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
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
oneshot
on property:bluetooth.hciattach=true
start hciattach
on property:bluetooth.hciattach=false
setprop bluetooth.status off
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
service netmgrd /system/bin/netmgrd
class main
service qti /system/vendor/bin/qti
class main
user radio
group radio net_raw qcom_diag usb net_admin
service sensors /system/bin/sensors.qcom
class core
user root
group root
# 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 -dd \
-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 -dd \
-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:<hostap ctrl iface>");
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 dhcpcd_wlan0 /system/bin/dhcpcd -ABKLG
class late_start
disabled
oneshot
service dhcpcd_bond0 /system/bin/dhcpcd -ABKLG
class late_start
disabled
oneshot
service dhcpcd_p2p /system/bin/dhcpcd -ABKLG
class late_start
disabled
oneshot
service iprenew_wlan0 /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service iprenew_bond0 /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service iprenew_p2p /system/bin/dhcpcd -n
class late_start
disabled
oneshot
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 root
group root
oneshot
service cnss-daemon /system/bin/cnss-daemon -n -l
class late_start
service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG
class late_start
disabled
oneshot
service iprenew_bt-pan /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service dhcpcd_bnep0 /system/bin/dhcpcd -BKLG
disabled
oneshot
service dhcpcd_bnep1 /system/bin/dhcpcd -BKLG
disabled
oneshot
service dhcpcd_bnep2 /system/bin/dhcpcd -BKLG
disabled
oneshot
service dhcpcd_bnep3 /system/bin/dhcpcd -BKLG
disabled
oneshot
service dhcpcd_bnep4 /system/bin/dhcpcd -BKLG
disabled
oneshot
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 fm_dl /system/bin/sh /system/etc/init.qcom.fm.sh
class late_start
user system
group system
disabled
oneshot
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 system graphics
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
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
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
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