Home | History | Annotate | Download | only in wahoo
      1 #
      2 # Copyright (C) 2016 The Android Open-Source Project
      3 #
      4 # Licensed under the Apache License, Version 2.0 (the "License");
      5 # you may not use this file except in compliance with the License.
      6 # You may obtain a copy of the License at
      7 #
      8 #      http://www.apache.org/licenses/LICENSE-2.0
      9 #
     10 # Unless required by applicable law or agreed to in writing, software
     11 # distributed under the License is distributed on an "AS IS" BASIS,
     12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 # See the License for the specific language governing permissions and
     14 # limitations under the License.
     15 #
     16 
     17 import /vendor/etc/init/hw/init.${ro.hardware}.usb.rc
     18 
     19 on charger
     20     write /sys/devices/system/cpu/cpu2/online 0
     21     write /sys/devices/system/cpu/cpu3/online 0
     22     write /sys/devices/system/cpu/cpu4/online 0
     23     write /sys/devices/system/cpu/cpu5/online 0
     24     write /sys/devices/system/cpu/cpu6/online 0
     25     write /sys/devices/system/cpu/cpu7/online 0
     26     wait /dev/block/platform/soc/${ro.boot.bootdevice}
     27     # Enable UFS powersaving
     28     write /sys/devices/soc/${ro.boot.bootdevice}/clkscale_enable 1
     29     write /sys/devices/soc/${ro.boot.bootdevice}/clkgate_enable 1
     30     write /sys/class/typec/port0/port_type sink
     31     write /sys/module/lpm_levels/parameters/sleep_disabled N
     32 
     33 service vendor.charger /charger
     34     class charger
     35     seclabel u:r:charger:s0
     36 
     37 on early-init
     38     mount debugfs debugfs /sys/kernel/debug
     39     chmod 0755 /sys/kernel/debug
     40     # Loading kernel modules in background
     41     start vendor.insmod_sh
     42 
     43 on init
     44     # Disable UFS powersaving
     45     write /sys/devices/soc/${ro.boot.bootdevice}/clkscale_enable 0
     46     write /sys/devices/soc/${ro.boot.bootdevice}/clkgate_enable 0
     47     write /sys/module/lpm_levels/parameters/sleep_disabled Y
     48 
     49     # QSEE rpmb listener need symlink for bootdevice
     50     wait /dev/block/platform/soc/${ro.boot.bootdevice}
     51     symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
     52 
     53     # start qseecomd early as we mount system/ vendor/ early
     54     # vold needs keymaster that needs qseecomd
     55     start vendor.qseecomd
     56 
     57     # Support legacy paths
     58     symlink /sdcard /mnt/sdcard
     59     symlink /sdcard /storage/sdcard0
     60 
     61     # disable thermal hotplug for thermal
     62     write /sys/module/msm_thermal/core_control/enabled 0
     63 
     64     # bring back all cores
     65     write /sys/devices/system/cpu/cpu0/online 1
     66     write /sys/devices/system/cpu/cpu1/online 1
     67     write /sys/devices/system/cpu/cpu2/online 1
     68     write /sys/devices/system/cpu/cpu3/online 1
     69     write /sys/devices/system/cpu/cpu4/online 1
     70     write /sys/devices/system/cpu/cpu5/online 1
     71     write /sys/devices/system/cpu/cpu6/online 1
     72     write /sys/devices/system/cpu/cpu7/online 1
     73     # configure governor settings for little cluster
     74     write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "schedutil"
     75     write /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us 500
     76     write /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us 20000
     77 
     78     # configure governor settings for big cluster
     79     write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor "schedutil"
     80     write /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us 500
     81     write /sys/devices/system/cpu/cpufreq/policy4/schedutil/down_rate_limit_us 20000
     82 
     83     # set default schedTune value for foreground/top-app
     84     write /dev/stune/foreground/schedtune.prefer_idle 1
     85     write /dev/stune/top-app/schedtune.boost 10
     86     write /dev/stune/top-app/schedtune.prefer_idle 1
     87 
     88     # Setup cpusets used by the VR services.
     89     mkdir /dev/cpuset/kernel 0750 root system
     90     write /dev/cpuset/kernel/cpus 0
     91     write /dev/cpuset/kernel/mems 0
     92     chown system system /dev/cpuset/kernel/tasks
     93     chmod 0660 /dev/cpuset/kernel/tasks
     94 
     95     mkdir /dev/cpuset/system 0750 root system
     96     write /dev/cpuset/system/cpus 0
     97     write /dev/cpuset/system/mems 0
     98     chown system system /dev/cpuset/system/tasks
     99     chmod 0660 /dev/cpuset/system/tasks
    100 
    101     mkdir /dev/cpuset/system/performance 0750 root system
    102     write /dev/cpuset/system/performance/cpus 0
    103     write /dev/cpuset/system/performance/mems 0
    104     chown system system /dev/cpuset/system/performance/tasks
    105     chmod 0660 /dev/cpuset/system/performance/tasks
    106 
    107     mkdir /dev/cpuset/system/background 0750 root system
    108     write /dev/cpuset/system/background/cpus 0
    109     write /dev/cpuset/system/background/mems 0
    110     chown system system /dev/cpuset/system/background/tasks
    111     chmod 0660 /dev/cpuset/system/background/tasks
    112 
    113     mkdir /dev/cpuset/application 0750 root system
    114     write /dev/cpuset/application/cpus 0
    115     write /dev/cpuset/application/mems 0
    116     chown system system /dev/cpuset/application/tasks
    117     chmod 0660 /dev/cpuset/application/tasks
    118 
    119     mkdir /dev/cpuset/application/performance 0750 root system
    120     write /dev/cpuset/application/performance/cpus 0
    121     write /dev/cpuset/application/performance/mems 0
    122     chown system system /dev/cpuset/application/performance/tasks
    123     chmod 0660 /dev/cpuset/application/performance/tasks
    124 
    125     mkdir /dev/cpuset/application/background 0750 root system
    126     write /dev/cpuset/application/background/cpus 0
    127     write /dev/cpuset/application/background/mems 0
    128     chown system system /dev/cpuset/application/background/tasks
    129     chmod 0660 /dev/cpuset/application/background/tasks
    130 
    131     # Create UDS structure for base VR services.
    132     mkdir /dev/socket/pdx 0775 system system
    133     mkdir /dev/socket/pdx/system 0775 system system
    134     mkdir /dev/socket/pdx/system/buffer_hub 0775 system system
    135     mkdir /dev/socket/pdx/system/performance 0775 system system
    136     mkdir /dev/socket/pdx/system/vr 0775 system system
    137     mkdir /dev/socket/pdx/system/vr/display 0775 system system
    138     mkdir /dev/socket/pdx/system/vr/pose 0775 system system
    139     mkdir /dev/socket/pdx/system/vr/sensors 0775 system system
    140 
    141     # Disable retention
    142     write /sys/module/lpm_levels/system/pwr/cpu0/ret/idle_enabled N
    143     write /sys/module/lpm_levels/system/pwr/cpu1/ret/idle_enabled N
    144     write /sys/module/lpm_levels/system/pwr/cpu2/ret/idle_enabled N
    145     write /sys/module/lpm_levels/system/pwr/cpu3/ret/idle_enabled N
    146     write /sys/module/lpm_levels/system/perf/cpu4/ret/idle_enabled N
    147     write /sys/module/lpm_levels/system/perf/cpu5/ret/idle_enabled N
    148     write /sys/module/lpm_levels/system/perf/cpu6/ret/idle_enabled N
    149     write /sys/module/lpm_levels/system/perf/cpu7/ret/idle_enabled N
    150     write /sys/module/lpm_levels/system/pwr/pwr-l2-dynret/idle_enabled N
    151     write /sys/module/lpm_levels/system/pwr/pwr-l2-ret/idle_enabled N
    152     write /sys/module/lpm_levels/system/perf/perf-l2-dynret/idle_enabled N
    153     write /sys/module/lpm_levels/system/perf/perf-l2-ret/idle_enabled N
    154 
    155     # b/37682684 Enable suspend clock reporting
    156     write /sys/kernel/debug/clk/debug_suspend 1
    157 
    158     # ZRAM setup
    159     write /sys/block/zram0/comp_algorithm lz4
    160     write /proc/sys/vm/page-cluster 0
    161 
    162 on fs
    163     # Start HW service manager early
    164     start hwservicemanager
    165     mount_all /vendor/etc/fstab.${ro.hardware} --early
    166 
    167     mkdir /persist/data 0700 system system
    168     mkdir /persist/display 0770 system graphics
    169     mkdir /persist/rfs 0770 root system
    170     mkdir /persist/hlos_rfs 0770 root system
    171     mkdir /persist/elabel 0700 system system
    172     chmod 0770 /persist/rfs
    173     chmod 0770 /persist/rfs/shared
    174     chmod 0770 /persist/rfs/msm
    175     chmod 0770 /persist/rfs/msm/adsp
    176     chown system system /persist/rfs/msm/adsp
    177     chmod 0770 /persist/rfs/msm/mpss
    178     chown system system /persist/rfs/msm/mpss
    179     mkdir /persist/rfs/msm/slpi 0770 system system
    180     chmod 0770 /persist/rfs/mdm
    181     chmod 0770 /persist/rfs/mdm/adsp
    182     chown system system /persist/rfs/mdm/adsp
    183     chmod 0770 /persist/rfs/mdm/mpss
    184     chown system system /persist/rfs/mdm/mpss
    185     mkdir /persist/rfs/mdm/slpi 0770 system system
    186     chmod 0770 /persist/rfs/mdm/sparrow
    187     chown system system /persist/rfs/mdm/sparrow
    188     mkdir /persist/rfs/mdm/tn 0770 system system
    189     chmod 0770 /persist/rfs/apq
    190     chmod 0770 /persist/rfs/apq/gnss
    191     chmod 0770 /persist/hlos_rfs
    192 
    193     # for android.hardware.health (at] 2.0-service.marlin cycle count backup
    194     mkdir /persist/battery 0700 system system
    195 
    196     restorecon_recursive /persist
    197 
    198 on late-fs
    199     # Start devices by sysfs trigger
    200     start vendor.devstart_sh
    201     # Start services for bootanim
    202     start surfaceflinger
    203     start bootanim
    204     start vendor.hwcomposer-2-1
    205     start vendor.configstore-hal
    206     start vendor.gralloc-2-0
    207 
    208     # Wait for hwservicemanager ready since fsck might be triggered in mount_all --late
    209     # In such case, init won't responce the property_set from hwservicemanager and then
    210     # cause services for bootanim not running.
    211     wait_for_prop hwservicemanager.ready true
    212     # Mount RW partitions which need run fsck
    213     mount_all /vendor/etc/fstab.${ro.hardware} --late
    214 
    215     # Required for time_daemon
    216     mkdir /persist/time 0770 system system
    217 
    218     # Start time daemon early so that the system time can be set early
    219     start vendor.time_daemon
    220 
    221 on post-fs
    222     # set RLIMIT_MEMLOCK to 64MB
    223     setrlimit 8 67108864 67108864
    224 
    225     chmod 0664 /sys/devices/virtual/graphics/fb0/idle_time
    226     chown system graphics /sys/devices/virtual/graphics/fb0/idle_time
    227     write /sys/devices/virtual/graphics/fb0/idle_time 100
    228 
    229     # Wait qseecomd started
    230     wait_for_prop sys.listeners.registered true
    231 
    232 on property:sys.user.0.ce_available=true
    233     mkdir /data/misc_ce/0/ramoops
    234     start vendor.ramoops_sh
    235 
    236 on property:sys.ramoops.decrypted=true
    237     mount pstore pstore /sys/fs/pstore
    238     chown system log /sys/fs/pstore
    239     chown system log /sys/fs/pstore/console-ramoops
    240     chmod 0440 /sys/fs/pstore/console-ramoops
    241     chown system log /sys/fs/pstore/console-ramoops-0
    242     chmod 0440 /sys/fs/pstore/console-ramoops-0
    243     chown system log /sys/fs/pstore/pmsg-ramoops-0
    244     chmod 0440 /sys/fs/pstore/pmsg-ramoops-0
    245 
    246 on property:sys.listeners.registered=true
    247     # load IPA FWs
    248     start vendor.ipastart_sh
    249 
    250 on post-fs-data
    251     # We can start netd here before in is launched in common init.rc on zygote-start
    252     start netd
    253 
    254     # b/38048356 Setup debug folders for camera
    255     mkdir /data/vendor/camera 0770 camera camera
    256 
    257     # b/38496103 Setup debug folders for display
    258     mkdir /data/vendor/display 0770 system graphics
    259 
    260     # keep that at the end of on post-fs-data
    261     # Set indication (checked by vold) that we have finished this action
    262     setprop vold.post_fs_data_done 1
    263 
    264     # Wait until the system time is set
    265     wait_for_prop sys.time.set true
    266 
    267 # zygote need to be started after otapreopt which will be done on post-fs-data
    268 on zygote-start
    269     # zygote is started in common init.rc
    270     # and now we can continue to initialize /data/
    271     mkdir /data/tombstones 0771 system system
    272     mkdir /tombstones/modem 0771 system system
    273     mkdir /tombstones/lpass 0771 system system
    274     mkdir /tombstones/wcnss 0771 system system
    275     mkdir /tombstones/dsps 0771 system system
    276     mkdir /data/misc/qvop 0660 system system
    277     mkdir /data/misc/hbtp 0750 system system
    278     mkdir /data/misc/seemp 0700 system system
    279 
    280     # Create directory for TZ Apps
    281     mkdir /data/misc/qsee 0770 system system
    282 
    283     mkdir /data/media 0770 media_rw media_rw
    284     chown media_rw media_rw /data/media
    285 
    286     mkdir /data/vendor/ipa 0770 radio radio
    287     chown radio radio /data/vendor/ipa
    288 
    289     # Create the directories used by the Wireless subsystem
    290     mkdir /data/misc/wifi 0770 wifi wifi
    291     mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi
    292     mkdir /data/vendor/wifi 0771 wifi wifi
    293     mkdir /data/vendor/wifi/wpa 0770 wifi wifi
    294     mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
    295     mkdir /data/misc/dhcp 0770 dhcp dhcp
    296     chown dhcp dhcp /data/misc/dhcp
    297 
    298     # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections
    299     # We chown/chmod /persist again so because mount is run as root + defaults
    300     chown root system /persist
    301     chmod 0771 /persist
    302     chown system system /persist/WCNSS_qcom_wlan_nv.bin
    303 
    304     # Create directory for hostapd
    305     mkdir /data/hostapd 0770 system wifi
    306 
    307     # Trigger WLAN driver load
    308     write /sys/kernel/boot_wlan/boot_wlan 1
    309 
    310     #create port-bridge log dir
    311     mkdir /data/misc/port_bridge 0770 radio radio
    312     chmod 0770 /data/misc/port_bridge
    313 
    314     #create netmgr log dir
    315     mkdir /data/vendor/netmgr 0771 radio radio
    316     chmod 0771 /data/vendor/netmgr
    317 
    318     # Create the directories used by CnE subsystem
    319     mkdir /data/connectivity 0771 system system
    320     chown system system /data/connectivity
    321 
    322     # Create the directories used by DPM subsystem
    323     mkdir /data/dpm 0771 system system
    324     chown system system /data/dpm
    325 
    326     mkdir /data/dpm/nsrm 0771 system system
    327     chown system system /data/dpm/nsrm
    328 
    329     # Create directory used by audio subsystem
    330     mkdir /data/vendor/audio 0770 audio audio
    331 
    332     # Create directory for audio delta files
    333     mkdir /data/vendor/audio/acdbdata 0770 media audio
    334     mkdir /data/vendor/audio/acdbdata/delta 0770 media audio
    335 
    336     # Create directory used by the DASH client
    337     mkdir /data/misc/dash 0770 media audio
    338 
    339     # Create directory for radio
    340     mkdir /data/vendor/radio 0771 system radio
    341 
    342     # Create directory used by display clients
    343     mkdir /data/misc/display 0770 system graphics
    344 
    345     # Create perfd related dirs
    346     mkdir /data/system/perfd 0770 root system
    347     chmod 2770 /data/system/perfd
    348 
    349     # Setup sensors-related directories and permissions
    350     mkdir /persist/sensors 0775
    351     chown root system /persist/sensors
    352     write /persist/sensors/sensors_settings 1
    353     chown root system /persist/sensors/sensors_settings
    354     chmod 664 /persist/sensors/sensors_settings
    355     chown root system /persist/sensors/sns.reg
    356     chmod 664 /persist/sensors/sns.reg
    357 
    358     mkdir /data/vendor/sensors 0770
    359     chown system system /data/vendor/sensors
    360 
    361     # These files might have been created by root from a prior build - make sure
    362     # they are accessible to the sensors daemon
    363     chown system system /data/vendor/sensors/cal.bin
    364     chown system system /data/vendor/sensors/cal.txt
    365 
    366     # /dev/sensors only supports an ioctl to get the current SLPI timestamp;
    367     # allow the sensors daemon to perform this as non-root
    368     chown root system /dev/sensors
    369     chmod 660 /dev/sensors
    370 
    371     # Mark the copy complete flag to not completed
    372     write /data/vendor/radio/copy_complete 0
    373     chown radio radio /data/vendor/radio/copy_complete
    374     chmod 0660 /data/vendor/radio/copy_complete
    375 
    376     # File flags for prebuilt ril db file
    377     write /data/vendor/radio/prebuilt_db_support 1
    378     chown radio radio /data/vendor/radio/prebuilt_db_support
    379     chmod 0400 /data/vendor/radio/prebuilt_db_support
    380     write /data/vendor/radio/db_check_done 0
    381     chown radio radio /data/vendor/radio/db_check_done
    382     chmod 0660 /data/vendor/radio/db_check_done
    383 
    384     # Create directories for Location services
    385     mkdir /data/vendor/location 0770 gps gps
    386     mkdir /data/vendor/location/mq 0770 gps gps
    387     mkdir /data/vendor/location/xtwifi 0770 gps gps
    388 
    389     # NFC local data and nfcee xml storage
    390     mkdir /data/vendor/nfc 0770 nfc nfc
    391 
    392     # b/62837579 elabel directory
    393     mkdir /data/misc/elabel 0700 system system
    394 
    395     # Setup permission for powerHAL
    396     chown system system /dev/stune/top-app/schedtune.boost
    397     chown system system /dev/cpu_dma_latency
    398     chown system system /sys/class/kgsl/kgsl-3d0/devfreq/min_freq
    399     chown system system /sys/class/kgsl/kgsl-3d0/devfreq/max_freq
    400     chown system system /sys/class/devfreq/soc:qcom,gpubw/min_freq
    401     chown system system /sys/devices/soc/soc:qcom,cpubw/devfreq/soc:qcom,cpubw/min_freq
    402 
    403 on early-boot
    404     # wait for devices
    405     wait_for_prop sys.qcom.devup 1
    406     # wait for insmod_sh to finish all modules
    407     wait_for_prop sys.all.modules.ready 1
    408     # Update dm-verity state and set partition.*.verified properties
    409     verity_update_state
    410 
    411     # Permission for laser sensor driver
    412     chown camera camera /sys/class/wahoo_laser/laser/enable_ps_sensor
    413 
    414     # Permission for Vibrator
    415     chown system system /sys/class/leds/vibrator/device/mode
    416     chown system system /sys/class/leds/vibrator/device/od_clamp
    417     chown system system /sys/class/leds/vibrator/device/rtp_input
    418     chown system system /sys/class/leds/vibrator/device/scale
    419     chown system system /sys/class/leds/vibrator/device/set_sequencer
    420     chown system system /sys/class/leds/vibrator/device/autocal_result
    421     chown system system /sys/class/leds/vibrator/device/ctrl_loop
    422     chown system system /sys/class/leds/vibrator/device/ol_lra_period
    423     chown system system /sys/class/leds/vibrator/device/autocal
    424     chown system system /sys/class/leds/vibrator/device/lp_trigger_effect
    425 
    426     # Permission for LED driver
    427     chown system system /sys/class/leds/red/on_off_ms
    428     chown system system /sys/class/leds/green/on_off_ms
    429     chown system system /sys/class/leds/blue/on_off_ms
    430     chown system system /sys/class/leds/red/rgb_start
    431     chown system system /sys/class/leds/green/rgb_start
    432     chown system system /sys/class/leds/blue/rgb_start
    433     chown system system /sys/class/graphics/fb0/msm_fb_persist_mode
    434 
    435     # dumpstate needs to read, vendor.health-hal needs to be able to RW
    436     chown system system /sys/devices/soc/800f000.qcom,spmi/spmi-0/spmi0-02/800f000.qcom,spmi:qcom,pmi8998@2:qpnp,fg/cycle_counts_bins
    437     # HardwareInfo needs to be able to read CC bins
    438     chmod 644 /sys/devices/soc/800f000.qcom,spmi/spmi-0/spmi0-02/800f000.qcom,spmi:qcom,pmi8998@2:qpnp,fg/cycle_counts_bins
    439 
    440     # dumpstate needs to read, vendor.health-hal needs to be able to RW
    441     chown system system /sys/devices/soc/800f000.qcom,spmi/spmi-0/spmi0-02/800f000.qcom,spmi:qcom,pmi8998@2:qpnp,fg/power_supply/bms/charge_full
    442     # HardwareInfo needs to be able to read charge_full
    443     chmod 644 /sys/devices/soc/800f000.qcom,spmi/spmi-0/spmi0-02/800f000.qcom,spmi:qcom,pmi8998@2:qpnp,fg/power_supply/bms/charge_full
    444 
    445 on boot
    446     mkdir /dev/socket/qmux_radio 0770 radio radio
    447     chmod 2770 /dev/socket/qmux_radio
    448     mkdir /dev/socket/qmux_audio 0770 media audio
    449     chmod 2770 /dev/socket/qmux_audio
    450     mkdir /dev/socket/qmux_bluetooth 0770 bluetooth bluetooth
    451     chmod 2770 /dev/socket/qmux_bluetooth
    452     mkdir /dev/socket/qmux_gps 0770 gps gps
    453     chmod 2770 /dev/socket/qmux_gps
    454 
    455     # Create NETMGR daemon socket area
    456     mkdir /dev/socket/netmgr 0750 radio radio
    457 
    458     setprop wifi.interface wlan0
    459 
    460     # Assign TCP buffer thresholds to be ceiling value of technology maximums
    461     # Increased technology maximums should be reflected here.
    462     write /proc/sys/net/core/rmem_max  8388608
    463     write /proc/sys/net/core/wmem_max  8388608
    464 
    465     # Update DVR cpusets to boot-time values.
    466     write /dev/cpuset/kernel/cpus 0-7
    467     write /dev/cpuset/system/cpus 0-7
    468     write /dev/cpuset/system/performance/cpus 0-7
    469     write /dev/cpuset/system/background/cpus 0-7
    470     write /dev/cpuset/system/cpus 0-7
    471     write /dev/cpuset/application/cpus 0-7
    472     write /dev/cpuset/application/performance/cpus 0-7
    473     write /dev/cpuset/application/background/cpus 0-7
    474     write /dev/cpuset/application/cpus 0-7
    475 
    476     # Bluetooth
    477     chown bluetooth net_bt /sys/class/rfkill/rfkill0/type
    478     chown bluetooth net_bt /sys/class/rfkill/rfkill0/state
    479     chmod 0660 /sys/class/rfkill/rfkill0/state
    480     chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo
    481     chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
    482 
    483     # Wifi firmware reload path
    484     chown wifi wifi /sys/module/wlan/parameters/fwpath
    485 
    486     # default country code
    487     setprop ro.boot.wificountrycode 00
    488 
    489     # Encrypted ramoops
    490     umount /sys/fs/pstore
    491     chmod 770 /dev/access-ramoops
    492     chown system system /dev/access-ramoops
    493     chmod 770 /dev/access-metadata
    494     chown system system /dev/access-metadata
    495 
    496     # Make the ftm4 command node writeable from dumpstate
    497     chown system system /sys/devices/virtual/input/ftm4_touch/cmd
    498 
    499     # ftm4 VR mode
    500     chown system system /sys/devices/virtual/input/ftm4_touch/vrmode
    501 
    502 service vendor.init-elabel-sh /system/bin/init.elabel.sh
    503     class late_start
    504     user system
    505     group system
    506     oneshot
    507 
    508 service vendor.init-radio-sh /vendor/bin/init.radio.sh
    509     class late_start
    510     user radio
    511     group root radio
    512     oneshot
    513 
    514 service vendor.folio_daemon /system/bin/folio_daemon
    515     class late_start
    516     user system
    517     group system
    518     disabled
    519 
    520 on property:init.svc.zygote=running
    521     start vendor.folio_daemon
    522 
    523 on property:init.svc.zygote=stopped
    524     stop vendor.folio_daemon
    525 
    526 service vendor.thermal-engine /vendor/bin/thermal-engine -c ${sys.qcom.thermalcfg:-/vendor/etc/thermal-engine.conf}
    527    class hal
    528    user root
    529    group root system diag
    530    socket thermal-send-client stream 0666 system system
    531    socket thermal-recv-client stream 0660 system system
    532    socket thermal-recv-passive-client stream 0666 system system
    533 
    534 service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /vendor/etc/msm_irqbalance.conf
    535     socket msm_irqbalance seqpacket 660 root system
    536     class core
    537     user root
    538     group root
    539     writepid /dev/cpuset/system-background/tasks
    540 
    541 on property:persist.sys.ssr.restart_level=*
    542     start vendor.ssr_setup
    543 
    544 service vendor.ssr_setup /vendor/bin/ssr_setup
    545     oneshot
    546     disabled
    547 
    548 service vendor.ssr_diag /vendor/bin/ssr_diag
    549     class late_start
    550     user system
    551     group system
    552     disabled
    553 
    554 service vendor.per_mgr /vendor/bin/pm-service
    555     class core
    556     user system
    557     group system
    558     ioprio rt 4
    559     shutdown critical
    560 
    561 service vendor.per_proxy /vendor/bin/pm-proxy
    562     class core
    563     user system
    564     group system
    565     disabled
    566 
    567 on property:sys.post_boot.parsed=1
    568     # Setup permission for powerHAL
    569     chown system system /sys/devices/soc/soc:qcom,cpubw/devfreq/soc:qcom,cpubw/bw_hwmon/hyst_trigger_count
    570     chown system system /sys/devices/soc/soc:qcom,cpubw/devfreq/soc:qcom,cpubw/bw_hwmon/hist_memory
    571     chown system system /sys/devices/soc/soc:qcom,cpubw/devfreq/soc:qcom,cpubw/bw_hwmon/hyst_length
    572 
    573 on property:sys.boot_completed=1
    574     # Enable power setting and set sys.post_boot.parsed to 1
    575     start vendor.power_sh
    576 
    577     # Enable UFS powersaving
    578     write /sys/devices/soc/${ro.boot.bootdevice}/clkscale_enable 1
    579     write /sys/devices/soc/${ro.boot.bootdevice}/clkgate_enable 1
    580     write /sys/module/lpm_levels/parameters/sleep_disabled N
    581 
    582     # Setup final cpuset
    583     write /dev/cpuset/top-app/cpus 0-7
    584     write /dev/cpuset/foreground/cpus 0-3,6-7
    585     write /dev/cpuset/background/cpus 0-1
    586     write /dev/cpuset/system-background/cpus 0-3
    587     write /dev/cpuset/restricted/cpus 0-3
    588 
    589     # Update DVR cpusets to runtime values.
    590     write /dev/cpuset/kernel/cpus 2,3
    591     write /dev/cpuset/system/performance/cpus 6-7
    592     write /dev/cpuset/system/background/cpus 0-1
    593     write /dev/cpuset/system/cpus 0-1,6-7
    594     write /dev/cpuset/application/performance/cpus 4-5
    595     write /dev/cpuset/application/background/cpus 0-1
    596     write /dev/cpuset/application/cpus 0-1,4-5
    597 
    598     # UFS health
    599     chmod 755 /sys/kernel/debug/ufshcd0
    600     chmod 644 /sys/kernel/debug/ufshcd0/err_state
    601     chmod 644 /sys/kernel/debug/ufshcd0/power_mode
    602     chmod 644 /sys/kernel/debug/ufshcd0/host_regs
    603     chmod 644 /sys/kernel/debug/ufshcd0/show_hba
    604     chmod 644 /sys/kernel/debug/ufshcd0/dump_device_desc
    605     chmod 644 /sys/kernel/debug/ufshcd0/dump_health_desc
    606     chmod 755 /sys/kernel/debug/ufshcd0/stats
    607     chmod 644 /sys/kernel/debug/ufshcd0/stats/req_stats
    608     chmod 644 /sys/kernel/debug/ufshcd0/stats/query_stats
    609     chmod 644 /sys/kernel/debug/ufshcd0/stats/err_stats
    610 
    611     # QCOM FG SRAM dump for dumpstate
    612     chown system system /d/fg/sram/data
    613     chown system system /d/fg/sram/count
    614     chown system system /d/fg/sram/address
    615 
    616     # com.google.android.hardwareinfo needs to be able to read cycle counts
    617     chmod 0666 /sys/class/power_supply/bms/cycle_count_id
    618 
    619     trigger sys-boot-completed-set
    620 
    621 # We want one opportunity per boot to enable zram, so we
    622 # use a trigger we fire from the above stanza. If
    623 # persist.sys.zram_enabled becomes true after boot,
    624 # we don't want to run swapon_all at that time.
    625 on sys-boot-completed-set && property:persist.sys.zram_enabled=1
    626     swapon_all /vendor/etc/fstab.${ro.hardware}
    627 
    628 on property:init.svc.vendor.per_mgr=running
    629     start vendor.per_proxy
    630 
    631 on shutdown
    632     stop vendor.per_proxy
    633     # Disable subsystem restart
    634     write /sys/module/subsystem_restart/parameters/disable_restart_work 0x9889deed
    635 
    636 service vendor.qseecomd /vendor/bin/qseecomd
    637    class core
    638    user root
    639    group root
    640    shutdown critical
    641 
    642 service vendor.time_daemon /vendor/bin/time_daemon
    643    class core
    644    user root
    645    group root
    646 
    647 service vendor.ss_ramdump /vendor/bin/subsystem_ramdump
    648     class main
    649     user root
    650     group root system
    651     disabled
    652 
    653 on property:persist.sys.ssr.enable_ramdumps=1
    654     write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
    655     mkdir /data/vendor/ssrdump 771 root system
    656     mkdir /data/vendor/ramdump 771 root system
    657     start vendor.ss_ramdump
    658 
    659 on property:persist.sys.ssr.enable_ramdumps=0
    660     write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
    661 
    662 service vendor.sensors /vendor/bin/sensors.qcom
    663     class core
    664     user system
    665     group system
    666     # Grants the ability for this daemon to bind IPC router ports so it can
    667     # register QMI services
    668     capabilities NET_BIND_SERVICE
    669 
    670 service vendor.adsprpcd /vendor/bin/adsprpcd
    671    class main
    672    user media
    673    group media
    674 
    675 service vendor.irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config"
    676     class core
    677     user root
    678     oneshot
    679 
    680 service vendor.rmt_storage /vendor/bin/rmt_storage
    681     class core
    682     user root
    683     ioprio rt 0
    684     shutdown critical
    685 
    686 service vendor.tftp_server /vendor/bin/tftp_server
    687    class core
    688    user root
    689    group root system
    690 
    691 service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
    692     -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 -dd \
    693     -g@android:wpa_wlan0
    694     #   we will start as root and wpa_supplicant will switch to user wifi
    695     #   after setting up the capabilities required for WEXT
    696     #   user wifi
    697     #   group wifi inet keystore
    698     interface android.hardware.wifi.supplicant@1.0::ISupplicant default
    699     interface android.hardware.wifi.supplicant@1.1::ISupplicant default
    700     class main
    701     socket wpa_wlan0 dgram 660 wifi wifi
    702     disabled
    703     oneshot
    704 
    705 service vendor.cnss-daemon /vendor/bin/cnss-daemon -n -l
    706    class late_start
    707    user system
    708    group system inet wifi
    709 
    710 service vendor.imsqmidaemon /vendor/bin/imsqmidaemon
    711    class main
    712    user system
    713    socket ims_qmid stream 0660 system radio
    714    group radio log diag
    715 
    716 service vendor.imsdatadaemon /vendor/bin/imsdatadaemon
    717    class main
    718    user system
    719    socket ims_datad stream 0660 system radio
    720    group system wifi radio inet log
    721    disabled
    722 
    723 on property:vendor.ims.QMI_DAEMON_STATUS=1
    724    start vendor.imsdatadaemon
    725 
    726 service vendor.ims_rtp_daemon /vendor/bin/ims_rtp_daemon
    727    class main
    728    user system
    729    group radio diag inet log
    730    disabled
    731 
    732 service vendor.imsrcsservice /vendor/bin/imsrcsd
    733    class hal
    734    user system
    735    group radio diag inet log
    736    disabled
    737 
    738 on property:vendor.ims.DATA_DAEMON_STATUS=1
    739    start vendor.ims_rtp_daemon
    740    start vendor.imsrcsservice
    741 
    742 service vendor.qmuxd /vendor/bin/qmuxd
    743    class main
    744    user root
    745    group radio audio bluetooth gps nfc qcom_diag
    746 
    747 service vendor.cnd /vendor/bin/cnd
    748    class main
    749    user radio
    750    group inet system wifi radio wakelock
    751 
    752 service vendor.netmgrd /vendor/bin/netmgrd
    753     class main
    754     user root
    755     group root wifi wakelock radio inet
    756 
    757 service vendor.port-bridge /vendor/bin/port-bridge
    758     class main
    759     user radio
    760     group radio system inet
    761     oneshot
    762 
    763 service vendor.ipacm /vendor/bin/ipacm
    764     class main
    765     user radio
    766     group radio inet
    767 
    768 service vendor.qti /vendor/bin/qti
    769     class main
    770     user radio
    771     group radio net_raw diag usb net_admin
    772 
    773 on property:wc_transport.start_hci=true
    774     start vendor.hci_filter
    775 
    776 on property:wc_transport.start_hci=false
    777     stop vendor.hci_filter
    778 
    779 service vendor.hci_filter /vendor/bin/wcnss_filter
    780     class late_start
    781     user bluetooth
    782     group bluetooth diag system wakelock
    783     disabled
    784 
    785 service vendor.loc_launcher /vendor/bin/loc_launcher
    786     class late_start
    787     group gps inet diag wifi
    788 
    789 service vendor.pd_mapper /vendor/bin/pd-mapper
    790      class core
    791 
    792 service vendor.atfwd /vendor/bin/ATFWD-daemon
    793     class late_start
    794     user system
    795     group system radio
    796     disabled
    797 
    798 on property:persist.radio.atfwd.start=true
    799     start vendor.atfwd
    800 
    801 on property:persist.radio.atfwd.start=false
    802     stop vendor.atfwd
    803 
    804 # b/68982314
    805 on property:sys.uidcpupower=*
    806    write /proc/uid_cpupower/enable 1
    807 
    808 on property:sys.uidcpupower=0
    809    write /proc/uid_cpupower/enable 0
    810 
    811 # bugreport is triggered by holding down volume down, volume up and power
    812 service bugreport /system/bin/dumpstate -d -p -B -z \
    813         -o /data/user_de/0/com.android.shell/files/bugreports/bugreport
    814     class main
    815     disabled
    816     oneshot
    817     keycodes 114 115 116
    818 
    819 service vendor.chre /vendor/bin/chre
    820     class late_start
    821     user system
    822     group system
    823     socket chre seqpacket 0660 root system
    824     shutdown critical
    825 
    826 service vendor.power_sh /vendor/bin/init.power.sh
    827     class main
    828     user root
    829     group root system
    830     disabled
    831     oneshot
    832 
    833 service vendor.devstart_sh /vendor/bin/init.qcom.devstart.sh
    834     class main
    835     user root
    836     group root system
    837     disabled
    838     oneshot
    839 
    840 service vendor.wlan_sh /vendor/bin/init.qcom.wlan.sh
    841     class main
    842     user root
    843     group root
    844     disabled
    845     oneshot
    846 
    847 service vendor.ipastart_sh /vendor/bin/init.qcom.ipastart.sh
    848     class main
    849     user system
    850     group net_admin
    851     disabled
    852     oneshot
    853 
    854 service vendor.insmod_sh /vendor/bin/init.insmod.sh
    855     class main
    856     user root
    857     group root system
    858     disabled
    859     oneshot
    860 
    861 service vendor.ramoops_sh /system/bin/init.ramoops.sh
    862     class main
    863     user root
    864     group root system
    865     disabled
    866     oneshot
    867 
    868 # b/70518189 vDSO experiments
    869 on property:sys.vdso=*
    870    write /sys/module/vdso/parameters/enable_32 1
    871    write /sys/module/vdso/parameters/enable_64 1
    872 
    873 on property:sys.vdso=false
    874    write /sys/module/vdso/parameters/enable_32 0
    875    write /sys/module/vdso/parameters/enable_64 0
    876 
    877 on property:sys.vdso=64
    878    write /sys/module/vdso/parameters/enable_32 0
    879 
    880 on property:sys.vdso=32
    881    write /sys/module/vdso/parameters/enable_64 0
    882 
    883 on property:wlan.driver.status=ok
    884    # Get the wlan driver/fw version
    885    start vendor.wlan_sh
    886 
    887 # charger driver exposes now finer grain control, map demo mode to those properties
    888 # demo mode can only be exit wipping data which will also reset the persist properties
    889 on property:sys.retaildemo.enabled=1
    890     setprop persist.vendor.charge.stop.level 35
    891     setprop persist.vendor.charge.start.level 30
    892 
    893 # system will not set the sys.retaildemo.enabled to 0 but this is used to set back to default charging
    894 on property:sys.retaildemo.enabled=0
    895     setprop persist.vendor.charge.stop.level 100
    896     setprop persist.vendor.charge.start.level 0
    897