android_device_asus_deb/rootdir/etc/init.deb.rc

353 lines
11 KiB
Text
Raw Normal View History

#
# Copyright 2012 The Android Open Source 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 init.flo.usb.rc
import init.flo.power.rc
on early-init
mount debugfs debugfs /sys/kernel/debug
chown system system /sys/kernel/debug/kgsl/proc
symlink /data/tombstones /tombstones
write /sys/devices/virtual/graphics/fb0/rgb "32768 32768 32768"
on init
# Support legacy paths
symlink /sdcard /mnt/sdcard
symlink /sdcard /storage/sdcard0
# Set permissions for persist partition
mkdir /persist 0771 system system
mkdir /firmware 0771 system system
on fs
mount_all ./fstab.flo
restorecon_recursive /persist
write /sys/kernel/boot_adsp/boot 1
on early-boot
# set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864
on boot
#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
# Allow QMUX daemon to assign port open wait time
chown radio radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait
# java.io.FileNotFoundException: /proc/cmdline: open failed: EACCES (Permission denied)
chmod 0644 /proc/cmdline
2017-10-24 09:35:01 +00:00
#Create NETMGR daemon socket area
mkdir /dev/socket/netmgr 0750 radio radio
#port-bridge
chmod 0660 /dev/smd0
chown system system /dev/smd0
chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state
# create symlink for fb1 as HDMI
symlink /dev/graphics/fb1 /dev/graphics/hdmi
# Remove write permissions to video related nodes
chmod 0664 /sys/devices/virtual/graphics/fb1/hpd
chmod 0664 /sys/devices/virtual/graphics/fb1/video_mode
chmod 0664 /sys/devices/virtual/graphics/fb1/format_3d
# Change owner and group for media server and surface flinger
chown system system /sys/devices/virtual/graphics/fb1/format_3d
chown system system /sys/devices/virtual/graphics/fb1/hpd
#For bridgemgr daemon to inform the USB driver of the correct transport
chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport
chmod 660 /dev/rtc0
chown system system /dev/rtc0
chown root system /proc/net/ip_conntrack
#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
# CPUFreq limit
chown system system /sys/kernel/cpufreq_limit/limited_max_freq
chown system system /sys/kernel/cpufreq_limit/limited_min_freq
# NFC: create data/nfc for nv storage
mkdir /data/nfc 770 nfc nfc
mkdir /data/nfc/param 770 nfc nfc
# 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
chown wifi wifi /sys/module/wlan/parameters/fwpath
on post-fs
# Allow writing to the kernel trace log.
chmod 0222 /sys/kernel/debug/tracing/trace_marker
# msm specific files that need to be created on /data
on post-fs-data
chown system system /dev/wcnss_wlan
write /sys/module/wcnss_ssr_8960/parameters/enable_riva_ssr 1
2019-10-12 18:05:34 +00:00
# avoid USB crash
setprop persist.adb.nonblocking_ffs 0
setprop ro.adb.nonblocking_ffs 0
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 /tombstones/mdm 0771 system system
# Create directory used by audio subsystem
mkdir /data/misc/audio 0770 audio audio
# 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
# 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 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 directory used by sensor subsystem(dsps)
mkdir /data/system/sensors
Relabel sensors files In device/asus/flo commit 9d6624a0, /data/misc/sensors and /data/system/sensors were changed from system_data_file to sensors_data_file. /data/nfc was changed from system_data_file to nfc_data_file. However, we forgot to fix up existing files. Addresses the following sensors denials: <5>[ 103.234466] type=1400 audit(1387408621.036:26): avc: denied { setattr } for pid=4833 comm="sensors.qcom" name="debug" dev="mmcblk0p31" ino=188441 scontext=u:r:sensors:s0 tcontext=u:object_r:system_data_file:s0 tclass=dir <5>[ 103.254089] type=1400 audit(1387408621.066:27): avc: denied { append } for pid=4833 comm="sensors.qcom" name="error_log" dev="mmcblk0p31" ino=188442 scontext=u:r:sensors:s0 tcontext=u:object_r:system_data_file:s0 tclass=file <5>[ 103.273681] type=1400 audit(1387408621.086:28): avc: denied { open } for pid=4833 comm="sensors.qcom" name="error_log" dev="mmcblk0p31" ino=188442 scontext=u:r:sensors:s0 tcontext=u:object_r:system_data_file:s0 tclass=file <5>[ 103.293914] type=1400 audit(1387408621.106:29): avc: denied { read } for pid=4833 comm="sensors.qcom" name="debug" dev="mmcblk0p31" ino=188441 scontext=u:r:sensors:s0 tcontext=u:object_r:system_data_file:s0 tclass=dir <5>[ 103.313537] type=1400 audit(1387408621.126:30): avc: denied { open } for pid=4833 comm="sensors.qcom" name="debug" dev="mmcblk0p31" ino=188441 scontext=u:r:sensors:s0 tcontext=u:object_r:system_data_file:s0 tclass=dir nfc denials: <5>[ 579.726409] type=1400 audit(1387410509.432:35): avc: denied { write } for pid=1257 comm=4173796E635461736B202331 name="nfc" dev="mmcblk0p31" ino=253953 scontext=u:r:nfc:s0 tcontext=u:object_r:system_data_file:s0 tclass=dir <5>[ 579.746185] type=1400 audit(1387410509.452:36): avc: denied { add_name } for pid=1257 comm=4173796E635461736B202331 name="halStorage.bin4" scontext=u:r:nfc:s0 tcontext=u:object_r:system_data_file:s0 tclass=dir <5>[ 579.765014] type=1400 audit(1387410509.472:37): avc: denied { create } for pid=1257 comm=4173796E635461736B202331 name="halStorage.bin4" scontext=u:r:nfc:s0 tcontext=u:object_r:system_data_file:s0 tclass=file <5>[ 579.783477] type=1400 audit(1387410509.492:38): avc: denied { write } for pid=1257 comm=4173796E635461736B202331 name="halStorage.bin4" dev="mmcblk0p31" ino=253956 scontext=u:r:nfc:s0 tcontext=u:object_r:system_data_file:s0 tclass=file Change-Id: Ic2076102123f9336c35974a944664ecbf8d216ae
2013-12-18 23:27:45 +00:00
chmod 775 /data/system/sensors
write /data/system/sensors/settings 1
chmod 660 /data/system/sensors/settings
# AKM setting data
mkdir /data/misc/sensors
chmod 775 /data/misc/sensors
mkdir /persist/sensors
chmod 775 /persist/sensors
# Modify from 777 (for camera calibration) to 775
chmod 775 /persist/camera_calibration
# Modify from 777 (for lightsensor) to 775
chmod 775 /persist/lightsensor
# Modify from 777 (for lightsensor calibration data) to 664
chmod 664 /persist/lightsensor/AL3010_Config.ini
chmod 664 /persist/ssn
chmod 664 /persist/60isn
#Provide the access to hostapd.conf only to root and group
chmod 0660 /data/hostapd/hostapd.conf
# Enable the setgid bit on the directory
mkdir /data/audio 0770 media audio
chmod 2770 /data/audio
# kickstart
mkdir /data/qcks 0770 system system
chown system /dev/block/platform/msm_sdcc.1/by-name
rm /data/local/tmp/adreno_config.txt
# White LED
chown system system /sys/class/leds/white/device/lock
chown system system /sys/class/leds/white/brightness
chown system system /sys/class/leds/white/device/grpfreq
chown system system /sys/class/leds/white/device/grppwm
chown system system /sys/class/leds/white/device/blink
# communicate with mpdecision and thermald
mkdir /dev/socket/mpdecision 2770 root system
# adjust vibrator amplitude
write /sys/class/timed_output/vibrator/amp 70
setprop vold.post_fs_data_done 1
2019-01-20 19:35:39 +00:00
service irsc_util /vendor/bin/irsc_util "/etc/sec_config"
class main
user root
oneshot
2019-01-20 19:35:39 +00:00
service rmt_storage /vendor/bin/rmt_storage
class core
user root
group system wakelock
2019-01-20 19:35:39 +00:00
service hciattach /vendor/bin/init.flo.bt.sh
class late_start
user bluetooth
group bluetooth system
2019-01-11 15:21:54 +00:00
seclabel u:r:bluetooth_loader:s0
disabled
oneshot
on property:vendor.bluetooth.hciattach=true
start hciattach
on property:vendor.bluetooth.hciattach=false
setprop vendor.bluetooth.status off
2019-01-20 19:35:39 +00:00
service bridgemgrd /vendor/bin/bridgemgrd
class main
user radio
group radio
# QMUX must be in multiple groups to support external process connections
2019-01-20 19:35:39 +00:00
service qmuxd /vendor/bin/qmuxd
class main
user root
group radio audio bluetooth wakelock gps
2019-01-20 19:35:39 +00:00
service ks_checker /vendor/bin/kickstart_checker.sh
class core
group system
oneshot
2019-01-20 19:35:39 +00:00
service kickstart /vendor/bin/qcks -i /firmware/image/ -r /data/tombstones/mdm/
class core
user system
group system wakelock
disabled
oneshot
on property:gsm.radio.kickstart=on
start kickstart
setprop gsm.radio.kickstart running
on property:gsm.radio.kickstart=off
stop kickstart
on property:ril.asus_debugger_running=1
start asus-dbug-d
2019-01-20 19:35:39 +00:00
service netmgrd /vendor/bin/netmgrd
class main
group radio wakelock
2017-10-24 09:35:28 +00:00
service ril-daemon /vendor/bin/hw/rild
class main
socket rild stream 660 root radio
socket sap_uim_socket1 stream 660 bluetooth bluetooth
socket rild-debug stream 660 radio system
user root
group radio cache inet misc audio log readproc wakelock net_raw
2017-10-24 09:35:28 +00:00
2019-01-20 19:35:39 +00:00
service sensors /vendor/bin/sensors.qcom
class late_start
user root
group root wakelock
service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
-O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 \
-g@android:wpa_wlan0
interface android.hardware.wifi.supplicant@1.0::ISupplicant default
interface android.hardware.wifi.supplicant@1.1::ISupplicant default
interface android.hardware.wifi.supplicant@1.2::ISupplicant default
# 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
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 1
service charger /sbin/healthd -c
class charger
critical
seclabel u:r:healthd:s0
2019-01-20 19:35:39 +00:00
service thermald /vendor/bin/thermald
class main
group radio system
2019-01-20 19:35:39 +00:00
service mpdecision /vendor/bin/mpdecision --avg_comp
class main
user root
group root readproc system
2019-01-20 19:35:39 +00:00
service qcamerasvr /vendor/bin/mm-qcamera-daemon
class late_start
user camera
group camera system inet input
2019-01-20 19:35:39 +00:00
service wcnss_init /vendor/bin/init.flo.wifi.sh
class late_start
user system
group system wifi
oneshot
2019-01-20 19:35:39 +00:00
service bdAddrLoader /vendor/bin/bdAddrLoader -f /persist/bluetooth/.bdaddr -h -x
class main
user bluetooth
group system bluetooth
oneshot
2019-01-20 19:35:39 +00:00
service qseecomd /vendor/bin/qseecomd
class late_start
user system
group system
2019-01-20 19:35:39 +00:00
service diag_mdlog /vendor/bin/diag_mdlog -s 100
class late_start
disabled