android_device_lenovo_karate/rootdir/init.qcom.rc
Prateek Chaubey 8b2ee0fab3 land: ramdisk: Update from LA.UM.5.6.c1-02300-8x37.0
* restored init.target.rc
* removed old paths and services

Change-Id: Iac7ddd97989d76132a7ab252586b980976282550
2018-02-14 17:51:02 +01:00

488 lines
16 KiB
Text

# Copyright (c) 2009-2012, 2014-2016, 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.target.rc
on early-init
mount debugfs debugfs /sys/kernel/debug
chmod 0755 /sys/kernel/debug
on init
export LD_SHIM_LIBS "/system/bin/mm-qcamera-daemon|libshims_camera.so"
# Set permissions for persist partition
mkdir /persist 0771 root system
# Support legacy path
symlink /sdcard /storage/sdcard0
write /sys/module/qpnp_rtc/parameters/poweron_alarm 1
on post-fs
chmod 0755 /sys/kernel/debug/tracing
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 system system /sys/module/radio_iris_transport/parameters/fmsmd_set
chmod 0660 /sys/module/radio_iris_transport/parameters/fmsmd_set
# 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/alarm 0770 system system
mkdir /persist/time 0770 system system
# Create NETMGR daemon socket area
mkdir /dev/socket/netmgr 0750 radio radio
# Prevent permission denied error for telephony
chmod 0644 /proc/cmdline
# Define TCP buffer sizes for various networks
# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
setprop net.tcp.buffersize.wifi 524288,2097152,4194304,262144,524288,1048576
# enable camera read sensors data
setprop persist.camera.gyro.disable 0
# Remove SUID bit for iproute2 ip tool
chmod 0755 /system/bin/ip
# Define TCP buffer sizes for various networks
# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
setprop net.tcp.buffersize.default 4096,87380,524288,4096,16384,110208
setprop net.tcp.buffersize.lte 2097152,4194304,8388608,262144,524288,1048576
setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208
setprop net.tcp.buffersize.hspa 4094,87380,1220608,4096,16384,1220608
setprop net.tcp.buffersize.hsupa 4094,87380,1220608,4096,16384,1220608
setprop net.tcp.buffersize.hsdpa 4094,87380,1220608,4096,16384,1220608
setprop net.tcp.buffersize.hspap 4094,87380,1220608,4096,16384,1220608
setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040
setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680
setprop net.tcp.buffersize.evdo 4094,87380,524288,4096,16384,262144
setprop net.tcp.2g_init_rwnd 10
# 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 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
# Allow access to dload sysfs node
chown root system /sys/kernel/dload/emmc_dload
chmod 0660 /sys/kernel/dload/emmc_dload
# Goodix Fingerprint
chown system system /dev/goodix_fp
chmod 0644 /dev/goodix_fp
setprop persist.sys.fp.vendor none
start gx_fpd
# IR blaster
chown root system /sys/class/leds/infrared/transmit
chown root system /sys/class/leds/infrared/brightness
# Notification LEDs
chown root system /sys/class/leds/red/blink
chown root system /sys/class/leds/green/blink
chown root system /sys/class/leds/blue/blink
# msm specific files that need to be created on /data
on post-fs-data
#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/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 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 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
chown system system /persist/WCNSS_qcom_wlan_nv.bin
# 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 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
# Create PERFD deamon related dirs
mkdir /data/system/perfd 0770 root system
chmod 2770 /data/system/perfd
rm /data/system/perfd/default_values
start perfd
# 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
# copy prebuilt qcril.db files always
copy /system/vendor/qcril.db /data/misc/radio/qcril_prebuilt.db
chown radio radio /data/misc/radio/qcril_prebuilt.db
chmod 0660 /data/misc/radio/qcril_prebuilt.db
# 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
# set aggressive read ahead for dm-0 and dm-1 during boot up
write /sys/block/dm-0/queue/read_ahead_kb 2048
write /sys/block/dm-1/queue/read_ahead_kb 2048
# 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
service perfd /system/vendor/bin/perfd
class main
user root
group root readproc
disabled
socket perfd seqpacket 0666 root system
service iop /system/bin/iop
class main
user root
group root
disabled
socket iop seqpacket 0666 root system
on property:sys.boot_completed=1
write /dev/kmsg "Boot completed "
# Reset read ahead for dm-0 and dm-1 to 512kb
write /sys/block/dm-0/queue/read_ahead_kb 512
write /sys/block/dm-1/queue/read_ahead_kb 512
# WDSP FW boot sysfs node used by STHAL
chown media audio /sys/kernel/wdsp0/boot
# CPE fw_name used by sound trigger HAL
chown media audio /sys/kernel/wcd_cpe0/fw_name
on property:vold.decrypt=trigger_restart_framework
start config_bt_addr
start config_bluetooth
start wcnss-service
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
writepid /dev/cpuset/system-background/tasks
service dpmd /system/bin/dpmd
class late_start
socket dpmd stream 660 root system
group system readproc
writepid /dev/cpuset/system-background/tasks
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 system wakelock
writepid /dev/cpuset/system-background/tasks
service tftp_server /system/bin/tftp_server
class main
user root
writepid /dev/cpuset/system-background/tasks
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 netmgrd /system/bin/netmgrd
class main
user root
group root wifi wakelock radio inet
writepid /dev/cpuset/system-background/tasks
service qti /system/vendor/bin/qti
class main
user radio
group radio qcom_diag usb
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
# 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
on property:sys.sysctl.tcp_adv_win_scale=*
write /proc/sys/net/ipv4/tcp_adv_win_scale ${sys.sysctl.tcp_adv_win_scale}
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
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
class main
socket wpa_wlan0 dgram 660 wifi wifi
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
writepid /dev/cpuset/system-background/tasks
service qcom-sh /system/bin/sh /init.qcom.sh
class late_start
user root
oneshot
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 sap_uim_socket2 stream 660 bluetooth bluetooth
socket rild-debug2 stream 660 radio system
user root
group radio cache inet misc audio log readproc wakelock qcom_diag
service charger /charger
class charger
group system graphics
seclabel u:r:healthd:s0
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 qseeproxydaemon /system/vendor/bin/qseeproxydaemon
class late_start
user system
group system
writepid /dev/cpuset/system-background/tasks
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
on property:ro.boot.fpsensor=gdx
setprop ro.hardware.fingerprint goodix
service time_daemon /system/bin/time_daemon
class main
user root
group root