Files
device_google_wahoo/init.hardware.rc
Thierry Strudel 4e18dc435b Import common file from device specific directory
Test: boot, basic functionality
Change-Id: I9c07718b481730c3388f99c5e1eff17c9fd75a7b
Signed-off-by: Thierry Strudel <tstrudel@google.com>
2017-03-04 23:34:45 -08:00

406 lines
12 KiB
Plaintext

#
# Copyright (C) 2016 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.${ro.hardware}.usb.rc
import init.${ro.hardware}.diag.rc
on early-init
mount debugfs debugfs /sys/kernel/debug
chmod 0755 /sys/kernel/debug
on init
# Support legacy paths
symlink /sdcard /mnt/sdcard
symlink /sdcard /storage/sdcard0
on fs
wait /dev/block/platform/soc/${ro.boot.bootdevice}
symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
mount_all fstab.${ro.hardware}
swapon_all fstab.${ro.hardware}
# Keeping following partitions outside fstab file. As user may not have
# these partition flashed on the device. Failure to mount any partition in fstab file
# results in failure to launch late-start class.
wait /dev/block/bootdevice/by-name/cache
mount ext4 /dev/block/bootdevice/by-name/cache /cache nosuid nodev noatime barrier=1
wait /dev/block/bootdevice/by-name/persist
mount ext4 /dev/block/bootdevice/by-name/persist /persist nosuid nodev noatime barrier=1
restorecon_recursive /persist
mkdir /persist/data 0700 system system
on post-fs
# set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864
# Since bootloader does not have a UI turn screen ON
write /sys/class/leds/lcd-backlight/brightness 255
# Enable audio and video device for bootanim
write /sys/kernel/boot_adsp/boot 1
write /sys/kernel/boot_slpi/boot 1
start qseecomd
chmod 0664 /sys/devices/virtual/graphics/fb0/idle_time
chown system graphics /sys/devices/virtual/graphics/fb0/idle_time
on property:sys.listeners.registered=true
# load IPA FWs
write /dev/ipa 1
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 /data/misc/qvop 0660 system system
mkdir /data/misc/hbtp 0750 system system
mkdir /data/misc/seemp 0700 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
# 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
# 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 directory for hostapd
mkdir /data/hostapd 0770 system wifi
# Trigger WLAN driver load
write /sys/kernel/boot_wlan/boot_wlan 1
#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
# Create perfd related dirs
mkdir /data/system/perfd 0770 root system
chmod 2770 /data/system/perfd
chmod 775 /persist/sensors
chmod 664 /persist/sensors/sensors_settings
chown system root /persist/sensors/sensors_settings
mkdir /data/misc/sensors
chmod 775 /data/misc/sensors
# 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
# 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
# Set indication (checked by vold) that we have finished this action
setprop vold.post_fs_data_done 1
on early-boot
exec - root root system -- /system/bin/init.power.sh
# update cpusets now that processors are up
# initialize for Silver Only first and then Silver + Gold
# Silver Only configuration cannot work with 0-7
write /dev/cpuset/top-app/cpus 0-3
write /dev/cpuset/foreground/cpus 0-3
write /dev/cpuset/foreground/boost/cpus 0-3
write /dev/cpuset/background/cpus 0-3
write /dev/cpuset/system-background/cpus 0-3
write /dev/cpuset/top-app/cpus 0-7
write /dev/cpuset/foreground/cpus 0-7
write /dev/cpuset/foreground/boost/cpus 0-7
write /dev/cpuset/background/cpus 0-7
write /dev/cpuset/system-background/cpus 0-7
on boot
# Install touch modules
insmod /vendor/lib/modules/synaptics_dsx_core_htc.ko
insmod /vendor/lib/modules/synaptics_dsx_fw_update_htc.ko
insmod /vendor/lib/modules/synaptics_dsx_rmi_dev_htc.ko
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
# Create NETMGR daemon socket area
mkdir /dev/socket/netmgr 0750 radio radio
setprop wifi.interface wlan0
# Define TCP buffer sizes for various networks
# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
setprop net.tcp.buffersize.wifi 524288,2097152,4194304,262144,524288,1048576
# 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
# Bluetooth
chown bluetooth net_bt /sys/class/rfkill/rfkill0/type
chown bluetooth net_bt /sys/class/rfkill/rfkill0/state
chmod 0660 /sys/class/rfkill/rfkill0/state
chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo
chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
# Wifi firmware reload path
chown wifi wifi /sys/module/wlan/parameters/fwpath
# Required for time_daemon
mkdir /persist/time 0770 system system
mkdir /data/time/ 0700 system system
# Permission for laser sensor driver
chown camera camera /sys/class/htc_laser/laser/enable_ps_sensor
service init-radio-sh /system/bin/init.radio.sh
class late_start
user radio
group root radio
oneshot
service perfd /vendor/bin/perfd
class main
user root
group root readproc
socket perfd seqpacket 0666 root system
service thermal-engine /vendor/bin/thermal-engine
class main
user root
group root system
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
on property:persist.sys.ssr.restart_level=*
start ssr_setup
service ssr_setup /vendor/bin/ssr_setup
oneshot
disabled
service ssr_diag /vendor/bin/ssr_diag
class late_start
user system
group system
disabled
service per_mgr /vendor/bin/pm-service
class core
user system
group system
ioprio rt 4
service per_proxy /vendor/bin/pm-proxy
class core
user system
group system
disabled
on property:init.svc.per_mgr=running
start per_proxy
on property:sys.shutdown.requested=*
stop per_proxy
service qseecomd /vendor/bin/qseecomd
class core
user root
group root
service time_daemon /vendor/bin/time_daemon
class late_start
user root
group root
service ss_ramdump /vendor/bin/subsystem_ramdump
class main
user root
group root system
disabled
on property:persist.sys.ssr.enable_ramdumps=1
write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
mkdir /data/ramdump 761 root system
start ss_ramdump
on property:persist.sys.ssr.enable_ramdumps=0
write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
service sensors /vendor/bin/sensors.qcom
class core
user root
group root
service adsprpcd /vendor/bin/adsprpcd
class main
user media
group media
service irsc_util /vendor/bin/irsc_util "/etc/sec_config"
class core
user root
oneshot
service rmt_storage /vendor/bin/rmt_storage
class core
user root
service tftp_server /vendor/bin/tftp_server
class core
user root
service wpa_supplicant /vendor/bin/hw/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 cnss_diag /vendor/bin/cnss_diag -q -f
class main
user root
group root
oneshot
service cnss-daemon /vendor/bin/cnss-daemon -n -l
class late_start
user system
group system inet net_admin wifi
service netmgrd /vendor/bin/netmgrd
class main
user root
group root wifi wakelock radio inet
service port-bridge /vendor/bin/port-bridge
class main
user radio
group radio system inet
oneshot
service qti /vendor/bin/qti
class main
user radio
group radio net_raw diag usb net_admin
on property:wc_transport.start_hci=true
start hci_filter
on property:wc_transport.start_hci=false
stop hci_filter
service hci_filter /vendor/bin/wcnss_filter
class late_start
user bluetooth
group bluetooth diag
disabled
service loc_launcher /vendor/bin/loc_launcher
class late_start
group gps inet diag wifi
service pd_mapper /vendor/bin/pd-mapper
class core
# bugreport is triggered by holding down volume down, volume up and power
service bugreport /system/bin/dumpstate -d -p -B -z \
-o /data/user_de/0/com.android.shell/files/bugreports/bugreport
class main
disabled
oneshot
keycodes 114 115 116