import /vendor/etc/init/hw/init.zumapro.usb.rc import android.hardware.drm@1.2-service.widevine.rc import init.exynos.sensorhub.rc import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.soc.rc on early-init mount_all /vendor/etc/fstab.persist --early write /proc/sys/kernel/sched_pelt_multiplier 1 write /sys/kernel/mm/lru_gen/enabled n on init # CPU0 cannot be offline chmod 0444 /sys/devices/system/cpu/cpu0/online # Set teo as cpu idle governor write /sys/devices/system/cpu/cpuidle/current_governor teo # Disable util-awareness for mids and bigs write /proc/vendor_sched/teo_util_threshold "2 1024 1024" # Boot time fs tuning write /sys/block/sda/queue/scheduler mq-deadline chown system system /proc/vendor_sched/groups/bg/set_task_group chown system system /proc/vendor_sched/groups/cam/set_task_group chown system system /proc/vendor_sched/groups/fg/set_task_group chown system system /proc/vendor_sched/groups/nnapi/set_task_group chown system system /proc/vendor_sched/groups/sys/set_task_group chown system system /proc/vendor_sched/groups/sys_bg/set_task_group chown system system /proc/vendor_sched/groups/ta/set_task_group chown system system /proc/vendor_sched/groups/rt/set_task_group chown system system /proc/vendor_sched/groups/sf/set_task_group chown system system /proc/vendor_sched/groups/dex2oat/set_task_group chown system system /proc/vendor_sched/groups/cam_power/set_task_group chown system system /proc/vendor_sched/groups/ota/set_task_group chown system system /proc/vendor_sched/groups/bg/set_proc_group chown system system /proc/vendor_sched/groups/cam/set_proc_group chown system system /proc/vendor_sched/groups/fg/set_proc_group chown system system /proc/vendor_sched/groups/nnapi/set_proc_group chown system system /proc/vendor_sched/groups/sys/set_proc_group chown system system /proc/vendor_sched/groups/sys_bg/set_proc_group chown system system /proc/vendor_sched/groups/ta/set_proc_group chown system system /proc/vendor_sched/groups/rt/set_proc_group chown system system /proc/vendor_sched/groups/sf/set_proc_group chown system system /proc/vendor_sched/groups/dex2oat/set_proc_group chown system system /proc/vendor_sched/groups/cam_power/set_proc_group chown system system /proc/vendor_sched/groups/ota/set_proc_group chown system system /proc/vendor_sched/prefer_idle_set chown system system /proc/vendor_sched/prefer_idle_clear chown system system /proc/vendor_sched/pmu_poll_enable chown system system /proc/vendor_sched/pmu_poll_time chmod 0220 /proc/vendor_sched/groups/bg/set_task_group chmod 0220 /proc/vendor_sched/groups/cam/set_task_group chmod 0220 /proc/vendor_sched/groups/fg/set_task_group chmod 0220 /proc/vendor_sched/groups/nnapi/set_task_group chmod 0220 /proc/vendor_sched/groups/sys/set_task_group chmod 0220 /proc/vendor_sched/groups/sys_bg/set_task_group chmod 0220 /proc/vendor_sched/groups/ta/set_task_group chmod 0220 /proc/vendor_sched/groups/rt/set_task_group chmod 0220 /proc/vendor_sched/groups/sf/set_task_group chmod 0220 /proc/vendor_sched/groups/dex2oat/set_task_group chmod 0220 /proc/vendor_sched/groups/cam_power/set_task_group chmod 0220 /proc/vendor_sched/groups/ota/set_task_group chmod 0220 /proc/vendor_sched/groups/bg/set_proc_group chmod 0220 /proc/vendor_sched/groups/cam/set_proc_group chmod 0220 /proc/vendor_sched/groups/fg/set_proc_group chmod 0220 /proc/vendor_sched/groups/nnapi/set_proc_group chmod 0220 /proc/vendor_sched/groups/sys/set_proc_group chmod 0220 /proc/vendor_sched/groups/sys_bg/set_proc_group chmod 0220 /proc/vendor_sched/groups/ta/set_proc_group chmod 0220 /proc/vendor_sched/groups/rt/set_proc_group chmod 0220 /proc/vendor_sched/groups/sf/set_proc_group chmod 0220 /proc/vendor_sched/groups/dex2oat/set_proc_group chmod 0220 /proc/vendor_sched/groups/cam_power/set_proc_group chmod 0220 /proc/vendor_sched/groups/ota/set_proc_group chmod 0220 /proc/vendor_sched/prefer_idle_set chmod 0220 /proc/vendor_sched/prefer_idle_clear chmod 0660 /proc/vendor_sched/pmu_poll_enable chmod 0220 /proc/vendor_sched/pmu_poll_time start vendor.keymaster-4-0 # ZRAM setup write /sys/block/zram0/comp_algorithm lz77eh write /proc/sys/vm/page-cluster 0 # Some user code relies on ro.boot.hardware.revision setprop ro.boot.hardware.revision ${ro.revision} # Allow PAI targeting per hardware SKU setprop ro.oem.key1 ${ro.boot.hardware.sku} # Property used by vintf for sku specific manifests # Property used by NFC for sku specific configurations setprop ro.boot.product.hardware.sku ${ro.boot.hardware.sku} # Support legacy paths symlink /data/app /factory # Apply network parameters for high data performance. write /proc/sys/net/core/rmem_default 1310720 write /proc/sys/net/core/rmem_max 8388608 write /proc/sys/net/core/wmem_default 327680 write /proc/sys/net/core/wmem_max 8388608 write /proc/sys/net/core/optmem_max 20480 write /proc/sys/net/core/netdev_max_backlog 10000 write /proc/sys/net/ipv4/tcp_rmem "2097152 4194304 8388608" write /proc/sys/net/ipv4/tcp_wmem "262144 524288 8388608" write /proc/sys/net/ipv4/tcp_mem "44259 59012 88518" write /proc/sys/net/ipv4/udp_mem "88518 118025 177036" write /sys/class/net/rmnet0/queues/rx-0/rps_cpus fe write /sys/class/net/rmnet1/queues/rx-0/rps_cpus fe write /sys/class/net/rmnet2/queues/rx-0/rps_cpus fe write /sys/class/net/rmnet3/queues/rx-0/rps_cpus fe write /sys/class/net/rmnet4/queues/rx-0/rps_cpus fe write /sys/class/net/rmnet5/queues/rx-0/rps_cpus fe write /sys/class/net/rmnet6/queues/rx-0/rps_cpus fe write /sys/class/net/rmnet7/queues/rx-0/rps_cpus fe # Create UDS structure for base VR services. mkdir /dev/socket/pdx 0775 system system mkdir /dev/socket/pdx/system 0775 system system mkdir /dev/socket/pdx/system/buffer_hub 0775 system system mkdir /dev/socket/pdx/system/performance 0775 system system mkdir /dev/socket/pdx/system/vr 0775 system system mkdir /dev/socket/pdx/system/vr/display 0775 system system mkdir /dev/socket/pdx/system/vr/pose 0775 system system mkdir /dev/socket/pdx/system/vr/sensors 0775 system system # RT uclamp setting write /proc/sys/kernel/sched_util_clamp_min_rt_default 0 write /proc/vendor_sched/groups/cam/prefer_idle 1 write /proc/vendor_sched/groups/cam/uclamp_min 1 chown system system /dev/cpuset/cgroup.procs # nanohub sensor chmod 0664 /dev/nanohub chmod 0664 /dev/nanohub_comms chown system system /dev/nanohub chown system system /dev/nanohub_comms # Loading common kernel modules in background start init_display # Power Stats HAL chown system system /dev/bbd_pwrstat # Add a boost for NNAPI HAL write /proc/vendor_sched/groups/nnapi/prefer_idle 0 write /proc/vendor_sched/groups/nnapi/uclamp_min 512 # Set boost_adpf_prio, -1 by default write /proc/vendor_sched/boost_adpf_prio ${persist.device_config.vendor_system_native_boot.boost_adpf_prio:--1} # Add dsulat governor settings # TODO(b/308970898): tune these values write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/ratio_ceil_cl0 700 write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/ratio_ceil_cl1 1000 write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/ratio_ceil_cl2 3000 write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/mem_stall_floor_cl0 1750 write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/mem_stall_floor_cl1 1750 write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/mem_stall_floor_cl2 1750 write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/dsulat_cpuidle_state_aware_cl0 2 write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/dsulat_cpuidle_state_aware_cl1 2 write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/dsulat_cpuidle_state_aware_cl2 2 # Give pixelstats group access to PCIe link statistics counters chown system system /sys/devices/platform/12100000.pcie/link_stats/complete_timeout_irqs chown system system /sys/devices/platform/12100000.pcie/link_stats/link_down_irqs chown system system /sys/devices/platform/12100000.pcie/link_stats/link_recovery_failures chown system system /sys/devices/platform/12100000.pcie/link_stats/link_up_failures chown system system /sys/devices/platform/13120000.pcie/link_stats/complete_timeout_irqs chown system system /sys/devices/platform/13120000.pcie/link_stats/link_down_irqs chown system system /sys/devices/platform/13120000.pcie/link_stats/link_recovery_failures chown system system /sys/devices/platform/13120000.pcie/link_stats/link_up_failures # Change GSA log group for dumpstate chown root system /sys/devices/platform/16490000.gsa-ns/log_main chown root system /sys/devices/platform/16490000.gsa-ns/log_intermediate on post-fs # Ensure device is ready and start storageproxyd wait /dev/sg1 start storageproxyd on late-fs # Start bootanimation class before mount start bootanim class_start animation # Mount RW partitions which need run fsck mount_all --late on post-fs-data # Modem temperature driver chown radio system /sys/devices/platform/cp-tm1/cp_temp chown radio system /sys/devices/platform/cpif/dynamic_pcie_spd/tp_threshold chown radio system /sys/devices/platform/cpif/dynamic_pcie_spd/tp_hysteresis chown radio system /sys/devices/platform/cpif/dynamic_pcie_spd/dynamic_spd_enable # Log data folder mkdir /data/vendor 0771 radio system mkdir /data/vendor/log 0771 radio system mkdir /data/vendor/log/cbd 0771 radio system mkdir /data/vendor/log/rfsd 0771 radio system mkdir /data/exynos/log 0771 radio system mkdir /data/vendor/rild 0771 radio system mkdir /data/vendor/dump 0771 radio system mkdir /data/vendor/slog 0771 system system # PixelLogger log paths. mkdir /data/vendor/radio 773 system radio mkdir /data/vendor/radio/logs 773 system radio mkdir /data/vendor/radio/logs/always-on 777 system radio # Modem extended log folder mkdir /data/vendor/radio/extended_logs 0770 radio system # Modem MDS log folder mkdir /data/vendor/radio/mds 0771 radio system # Modem SIM log folder mkdir /data/vendor/radio/sim 0771 radio system # Unzipped modem images folder mkdir /data/vendor/radio/image 0771 radio system # Modem stat folder mkdir /data/vendor/modem_stat 0771 radio system write /data/vendor/modem_stat/debug.txt "" chown radio system /data/vendor/modem_stat/debug.txt chmod 0664 /data/vendor/modem_stat/debug.txt # Modem replay folder mkdir /mnt/vendor/modem_userdata/replay 0775 radio system # Write display MIPI frequency from Modem chown system system /sys/devices/platform/19440000.drmdsim/hs_clock chown system system /sys/devices/platform/19450000.drmdsim/hs_clock chmod 0664 /sys/devices/platform/19440000.drmdsim/hs_clock chmod 0664 /sys/devices/platform/19450000.drmdsim/hs_clock # IPSEC PIDDIR for VoWiFi mkdir /data/vendor/misc 0771 root system mkdir /data/vendor/misc/vpn 0771 root system # Permissions Camera mkdir /data/vendor/camera 0770 system camera mkdir /data/vendor/camera/catpipe 0770 system camera chmod 0755 /sys/kernel/debug/tracing restorecon /sys/kernel/debug/tracing/trace_marker # ranging sensor chown system system /dev/ispolin_ranging chmod 0660 /dev/ispolin_ranging # Factory calibration files chmod 0771 /mnt/vendor/persist/camera chmod 0771 /mnt/vendor/persist/camera/OTP_calibration chmod 0771 /mnt/vendor/persist/camera/pdaf_calibration_data mkdir /mnt/vendor/persist/camera/rear 0771 system camera chmod 0771 /mnt/vendor/persist/camera/rear # Audio dump and debug mkdir /data/vendor/audio 0770 audio audio # Create the directories for Darwinn HAL. mkdir /data/vendor/hal_neuralnetworks_darwinn 0770 system system mkdir /data/vendor/hal_neuralnetworks_darwinn/checksum_cache 0770 system system mkdir /data/vendor/edgetpu 0770 system system mkdir /data/vendor/edgetpu/cache 0770 system system # Compatibility path for TPU symlink /dev/edgetpu-soc /dev/edgetpu on post-fs-data # Create the directories used by the Wireless subsystem mkdir /data/vendor/wifi 0771 wifi wifi mkdir /data/vendor/wifi/wpa 0770 wifi wifi mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi # Gatekeeper data mkdir /data/vendor/gk 0771 system system # HWC data mkdir /data/vendor/log/hwc 0771 system graphics # Video data mkdir /data/vendor/media 0700 mediacodec mediacodec on early-boot # Wait for insmod_sh to finish all common modules wait_for_prop vendor.common.modules.ready 1 # logbuffer chown system system /dev/logbuffer_pcie0 chown system system /dev/logbuffer_pcie1 chown system system /dev/logbuffer_bd chown system system /dev/logbuffer_cpif on boot # Allow to access debugfs for system:system chmod 0755 /sys/kernel/debug chown system system /sys/kernel/debug #setprop ro.radio.noril no # default country code setprop ro.boot.wificountrycode 00 # Set up kernel tracing, but disable it by default chmod 0222 /sys/kernel/debug/tracing/trace_marker write /sys/kernel/debug/tracing/tracing_on 0 # Trigger TMU to ACPM pi table update write /sys/module/gs_thermal/parameters/update_acpm_pi_table 1 # Change permission for A-Box firmware logs file & GPR dump chown audioserver system /sys/devices/platform/17c50000.abox/reset chown audioserver system /sys/devices/platform/17c50000.abox/service chown audioserver system /sys/devices/platform/17c50000.abox/0.abox_debug/gpr chown audioserver system /sys/devices/platform/17c50000.abox/0.abox_debug/calliope_sram chown audioserver system /sys/devices/platform/17c50000.abox/0.abox_debug/calliope_dram chown audioserver system /sys/devices/platform/17c50000.abox/0.abox_debug/calliope_iva chown audioserver system /sys/kernel/debug/abox/log-00 # Permission for USB SELECT chown system system /sys/class/android_usb/android0/enable chmod 0660 /sys/class/android_usb/android0/enable chown system system /sys/class/android_usb/android0/idVendor chmod 0660 /sys/class/android_usb/android0/idVendor chown system system /sys/class/android_usb/android0/idProduct chmod 0660 /sys/class/android_usb/android0/idProduct chown system system /sys/class/android_usb/android0/f_diag/clients chmod 0660 /sys/class/android_usb/android0/f_diag/clients chown system system /sys/class/android_usb/android0/functions chmod 0660 /sys/class/android_usb/android0/functions chown system system /sys/class/android_usb/android0/bDeviceClass chmod 0660 /sys/class/android_usb/android0/bDeviceClass # Permission for UART SWITCH chmod 0660 /sys/class/sec/switch/uart_sel chown system system /sys/class/sec/switch/uart_sel # VTS sysfs file permission chown audioserver system /sys/devices/platform/13810000.vts/vts_svoice_model chown audioserver system /sys/devices/platform/13810000.vts/vts_google_model chmod 0660 /sys/devices/platform/13810000.vts/vts_svoice_model chmod 0660 /sys/devices/platform/13810000.vts/vts_google_model on property:persist.vendor.radio.no_modem_board=1 setprop ro.radio.noril yes on fs mount_all --early restorecon_recursive /mnt/vendor/efs chown radio system /mnt/vendor/efs restorecon_recursive /mnt/vendor/efs_backup chown radio system /mnt/vendor/efs_backup restorecon_recursive /mnt/vendor/modem_userdata chown radio system /mnt/vendor/modem_userdata # for battery defender mkdir /mnt/vendor/persist/battery 0700 system system # Mount modem partition mount_all /vendor/etc/fstab.modem --early restorecon_recursive /mnt/vendor/modem_img restorecon_recursive /mnt/vendor/persist restorecon_recursive /mnt/vendor/persist/aoc restorecon_recursive /mnt/vendor/persist/audio restorecon_recursive /mnt/vendor/persist/sensors restorecon_recursive /mnt/vendor/persist/battery restorecon_recursive /mnt/vendor/persist/camera restorecon_recursive /mnt/vendor/persist/modem # Set up display-related directories and permissions # Add restorecon_recursive command to make sure the restorecon label is persist_display_file. restorecon_recursive /mnt/vendor/persist/display mkdir /mnt/vendor/persist/data/sfs 0700 system system mkdir /mnt/vendor/persist/data/tz 0700 system system mkdir /mnt/vendor/persist/touch 0770 system system # Permissions for ION chmod 0660 /sys/class/ion_cma/ion_video_ext/isolated chown system system /sys/class/ion_cma/ion_video_ext/isolated # Permissions for hwcomposer chown system system /sys/class/backlight/panel0-backlight/als_table chown system system /sys/class/backlight/panel0-backlight/brightness chown system system /sys/class/backlight/panel0-backlight/dimming_on chown system system /sys/class/backlight/panel0-backlight/hbm_mode chown system system /sys/class/backlight/panel0-backlight/local_hbm_mode chown system system /sys/devices/platform/exynos-drm/primary-panel/gamma chown system system /sys/devices/platform/exynos-drm/primary-panel/min_vrefresh chown system system /sys/devices/platform/exynos-drm/primary-panel/idle_delay_ms chown system system /sys/devices/platform/exynos-drm/primary-panel/panel_idle chown system system /sys/devices/platform/exynos-drm/primary-panel/panel_need_handle_idle_exit chown system system /sys/devices/platform/exynos-drm/primary-panel/op_hz chown system system /sys/devices/platform/exynos-drm/primary-panel/refresh_ctrl chown system system /sys/devices/platform/exynos-drm/primary-panel/te2_rate_hz chown system system /sys/devices/platform/exynos-drm/primary-panel/te2_option chown system system /sys/devices/platform/exynos-drm/primary-panel/power_state chown system system /sys/devices/platform/exynos-drm/primary-panel/frame_rate chown system system /sys/module/drm/parameters/vblankoffdelay chown system system /sys/module/drm/parameters/debug chown system system /sys/class/dqe0/atc/ambient_light chown system system /sys/class/dqe0/atc/st chown system system /sys/class/dqe0/atc/en chown system system /sys/class/dqe0/atc/lt chown system system /sys/class/dqe0/atc/ns chown system system /sys/class/dqe0/atc/dither chown system system /sys/class/dqe0/atc/pl_w1 chown system system /sys/class/dqe0/atc/pl_w2 chown system system /sys/class/dqe0/atc/ctmode chown system system /sys/class/dqe0/atc/pp_en chown system system /sys/class/dqe0/atc/upgrade_on chown system system /sys/class/dqe0/atc/tdr_max chown system system /sys/class/dqe0/atc/tdr_min chown system system /sys/class/dqe0/atc/back_light chown system system /sys/class/dqe0/atc/dstep chown system system /sys/class/dqe0/atc/scale_mode chown system system /sys/class/dqe0/atc/threshold_1 chown system system /sys/class/dqe0/atc/threshold_2 chown system system /sys/class/dqe0/atc/threshold_3 chown system system /sys/class/dqe0/atc/gain_limit chown system system /sys/class/dqe0/atc/lt_calc_ab_shift chown system system /sys/devices/platform/19470000.drmdecon/early_wakeup chmod 0660 /sys/devices/platform/19470000.drmdecon/early_wakeup chown system system /sys/devices/platform/19470000.drmdecon/hibernation chmod 0644 /sys/devices/platform/19470000.drmdecon/hibernation # Copy DRM Key # copy /system/app/wv.keys /factory/wv.keys # Permission for DRM Key # chmod 0644 /factory/wv.keys # Permission for flashlight control for HAL3.3 # The Istor espresso board does not have the flash led h/w, So the below permission line are blocked. # If you want to test the flashlight in board which have the flash led h/w, Enable the below blocked lines. chmod 0660 /sys/class/camera/flash/rear_torch_flash chown system camera /sys/class/camera/flash/rear_torch_flash #load ecd firmware write /proc/ecd/load_firmware 1 service abox /vendor/bin/main_abox 17c50000.abox class late_start user audioserver group audioserver seclabel u:r:abox:s0 # on userdebug and eng builds, enable kgdb on the serial console on property:ro.debuggable=1 write /sys/module/kgdboc/parameters/kgdboc ttyFIQ1 write /sys/module/fiq_debugger/parameters/kgdb_enable 1 # Touch on property:vendor.device.modules.ready=1 chown system system /sys/class/spi_master/spi20/spi20.0/stm_fts_cmd chown system system /sys/class/spi_master/spi20/spi20.0/glove_mode chown system system /sys/devices/virtual/sec/tsp/fw_version chown system system /sys/devices/virtual/sec/tsp/cmd chown system system /sys/devices/virtual/sec/tsp/cmd_result chown system system /sys/devices/virtual/sec/tsp/status chown system system /sys/devices/virtual/goog_touch_interface/gti.0/force_active chown system system /sys/devices/virtual/goog_touch_interface/gti.0/fw_ver chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ms_base chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ms_diff chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ms_raw chown system system /sys/devices/virtual/goog_touch_interface/gti.0/self_test chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ss_base chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ss_diff chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ss_raw # Route touch_sensitivity_mode to persist on property:debug.touch_sensitivity_mode=0 setprop persist.vendor.touch_sensitivity_mode 0 on property:debug.touch_sensitivity_mode=1 setprop persist.vendor.touch_sensitivity_mode 1 on property:sys.boot_completed=1 # Enable ZRAM on boot_complete swapon_all /vendor/etc/fstab.${ro.board.platform} write /proc/sys/vm/swappiness 60 # Adjust watermark level write /proc/sys/vm/watermark_scale_factor 200 # Back to default VM settings write /proc/sys/vm/dirty_expire_centisecs 3000 write /proc/sys/vm/dirty_background_ratio 10 # Cancel boot devfreq write /sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/exynos_data/cancel_boot_freq 1 # Setup scheduler parameters write /proc/vendor_sched/min_granularity_ns 1000000 write /proc/vendor_sched/latency_ns 8000000 write /proc/vendor_sched/max_load_balance_interval 4 write /proc/vendor_sched/enable_hrtick 1 # Setup final cpu.uclamp write /proc/vendor_sched/groups/ta/uclamp_min 1 write /proc/vendor_sched/groups/fg/uclamp_min 0 write /proc/vendor_sched/groups/sys/prefer_idle 0 # Set ug group write /proc/vendor_sched/groups/bg/ug 0 write /proc/vendor_sched/groups/sys_bg/ug 0 write /proc/vendor_sched/groups/ota/ug 0 write /proc/vendor_sched/groups/dex2oat/ug 1 write /proc/vendor_sched/groups/ta/ug 1 # Set bg group throttle write /proc/vendor_sched/ug_bg_group_throttle ${persist.device_config.vendor_system_native.ug_bg_group_throttle:-308} # Set uclamp.max for some groups, which could indicate cpu importance used in scheduling write /proc/vendor_sched/auto_uclamp_max "130 130 130 130 512 512 512 670" write /proc/vendor_sched/groups/bg/uclamp_max 130 write /proc/vendor_sched/groups/sys_bg/uclamp_max 512 write /proc/vendor_sched/groups/ota/uclamp_max 512 write /proc/vendor_sched/groups/dex2oat/uclamp_max -2 write /proc/vendor_sched/uclamp_max_filter_divider 4 write /proc/vendor_sched/uclamp_max_filter_rt 16 write /proc/vendor_sched/uclamp_max_filter_enable 1 # Make devices on the critical path for suspend/resume asynchronous write /sys/devices/platform/fixedregulator@0/regulator/regulator.2/power/async "enabled" write /sys/devices/platform/fixedregulator@0/power/async "enabled" write /sys/devices/platform/26040000.clock-controller/power/async "enabled" write /sys/devices/platform/10840000.pinctrl/power/async "enabled" write /sys/devices/platform/13060000.pinctrl/power/async "enabled" # Setup cpu.shares to throttle background groups (bg ~ 5% sysbg ~ 5% dex2oat ~2.5%) write /dev/cpuctl/background/cpu.shares 1024 write /dev/cpuctl/system-background/cpu.shares 1024 write /dev/cpuctl/dex2oat/cpu.shares 512 write /dev/cpuctl/system/cpu.shares 20480 # We only have system and background groups holding tasks and the groups below are empty write /dev/cpuctl/camera-daemon/cpu.shares 20480 write /dev/cpuctl/foreground/cpu.shares 20480 write /dev/cpuctl/nnapi-hal/cpu.shares 20480 write /dev/cpuctl/rt/cpu.shares 20480 write /dev/cpuctl/top-app/cpu.shares 20480 # gvotables for dumpstate chown system system /sys/kernel/debug/gvotables # AOC reset permission chown root system /sys/devices/platform/19000000.aoc/reset chmod 0220 /sys/devices/platform/19000000.aoc/reset # AOC UDFPS clock compensation permission chown system system /sys/devices/platform/17000000.aoc/control/udfps_set_clock_source chmod 220 /sys/devices/platform/17000000.aoc/control/udfps_set_clock_source chown system system /sys/devices/platform/17000000.aoc/control/udfps_get_osc_freq chmod 440 /sys/devices/platform/17000000.aoc/control/udfps_get_osc_freq chown system system /sys/devices/platform/17000000.aoc/control/udfps_get_disp_freq chmod 440 /sys/devices/platform/17000000.aoc/control/udfps_get_disp_freq # Disable GPU firmware logging write /sys/devices/platform/1f000000.mali/firmware_config/Log\ verbosity/cur 0 #Enable SICD write /sys/devices/system/cpu/cpupm/cpupm/sicd 1 on property:sys.boot_completed=1 && property:persist.sys.device_provisioned=1 write /sys/class/power_supply/battery/first_usage_date 0 # IMS WiFi Calling service charonservice /system/vendor/bin/charon class main user root disabled seclabel u:r:charonservice:s0 on property:vendor.charon.exec=1 rm /data/vendor/misc/vpn/charon.pid chmod 0666 /dev/tun start charonservice on property:vendor.charon.exec=0 stop charonservice rm /data/vendor/misc/vpn/charon.pid # charger driver exposes now finer grain control, map demo mode to those properties # NOTE: demo mode can only be exit wiping data (which reset the persist properties) on property:sys.retaildemo.enabled=1 setprop persist.vendor.charge.stop.level 35 setprop persist.vendor.charge.start.level 30 # Test Harness Mode default battery profile. on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=0 setprop persist.vendor.charge.stop.level 70 setprop persist.vendor.charge.start.level 35 setprop vendor.battery.defender.disable 1 # Extremely restricted battery profile. on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=1 setprop persist.vendor.charge.stop.level 50 setprop persist.vendor.charge.start.level 35 setprop vendor.battery.defender.disable 1 # Normal behavior (as if the device was a regular device) on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=2 setprop persist.vendor.charge.stop.level 100 setprop persist.vendor.charge.start.level 0 # Unrestricted, allows charging to 100% on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=3 setprop persist.vendor.charge.stop.level 100 setprop persist.vendor.charge.start.level 0 setprop vendor.battery.defender.disable 1 # bugreport is triggered by holding down volume down, volume up and power service bugreport /system/bin/dumpstate -d -p -z class main disabled oneshot keycodes 114 115 116 # Proxy for Secure Storage on post-fs-data mkdir /data/vendor/rebootescrow 0770 hsm hsm mkdir /data/vendor/ss 0770 root system mkdir /mnt/vendor/persist/ss 0770 root system restorecon_recursive /mnt/vendor/persist/ss symlink /mnt/vendor/persist/ss /data/vendor/ss/persist chown root system /data/vendor/ss/persist chmod 0770 /data/vendor/ss/persist chown system system /data/vendor/ss/0 chown system system /data/vendor/ss/persist/0 chown system system /data/vendor/ss/persist/nsp restart storageproxyd service storageproxyd /vendor/bin/storageproxyd \ -d /dev/trusty-ipc-dev0 \ -r /dev/sg1 \ -p /data/vendor/ss \ -t ufs \ -f 0:/dev/block/platform/13200000\.ufs/by-name/trusty_userdata \ -f persist/0:/dev/block/platform/13200000\.ufs/by-name/trusty_persist \ -m /dev/block/platform/13200000\.ufs/by-name/trusty_userdata class early_hal user system group system task_profiles MaxPerformance # Write build info to kdebuginfo on property:ro.build.fingerprint=* write /sys/module/debug_kinfo/parameters/build_info ${ro.build.fingerprint} # Bluetooth on early-boot chown bluetooth system /sys/devices/platform/175b0000.serial/serial0/serial0-0/bluetooth/hci0/rfkill0/state chown bluetooth system /sys/devices/platform/odm/odm:btbcm/rfkill/rfkill0/state chown bluetooth system /sys/devices/platform/odm/odm:btbcm/rfkill/rfkill2/state on post-fs-data chown bluetooth system /proc/bluetooth/sleep/btwake chown bluetooth system /proc/bluetooth/sleep/lpm chown bluetooth system /proc/bluetooth/sleep/btwrite mkdir /data/vendor/bluetooth 0770 bluetooth system # ODPM on fs chown system system /sys/devices/platform/acpm_mfd_bus@18100000/i2c-7/i2c-s2mpg12mfd/s2mpg12-meter/s2mpg12-odpm/iio\:device0/enabled_rails chown system system /sys/devices/platform/acpm_mfd_bus@18110000/i2c-8/i2c-s2mpg13mfd/s2mpg13-meter/s2mpg13-odpm/iio\:device1/enabled_rails on post-fs-data mkdir /data/vendor/powerstats 0771 system system chown system system /data/vendor/powerstats # Thermal Residency Stats (write 1 to reset) chown system system /sys/kernel/metrics/thermal/tr_by_group/tmu/stats_reset chown system system /sys/kernel/metrics/thermal/tr_by_group/spmic/stats_reset on property:vendor.thermal.link_ready=1 chown system system /dev/thermal/tz-by-name/soc/mode chown system system /dev/thermal/tz-by-name/vdroop2/trip_point_0_temp chown system system /dev/thermal/tz-by-name/vdroop2/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/vdroop1/trip_point_0_temp chown system system /dev/thermal/tz-by-name/vdroop1/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/smpl_gm/trip_point_0_temp chown system system /dev/thermal/tz-by-name/smpl_gm/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/ocp_cpu1/trip_point_0_temp chown system system /dev/thermal/tz-by-name/ocp_cpu1/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/ocp_cpu2/trip_point_0_temp chown system system /dev/thermal/tz-by-name/ocp_cpu2/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/ocp_tpu/trip_point_0_temp chown system system /dev/thermal/tz-by-name/ocp_tpu/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/ocp_gpu/trip_point_0_temp chown system system /dev/thermal/tz-by-name/ocp_gpu/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/soft_ocp_cpu1/trip_point_0_temp chown system system /dev/thermal/tz-by-name/soft_ocp_cpu1/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/soft_ocp_cpu2/trip_point_0_temp chown system system /dev/thermal/tz-by-name/soft_ocp_cpu2/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/soft_ocp_tpu/trip_point_0_temp chown system system /dev/thermal/tz-by-name/soft_ocp_tpu/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/soft_ocp_gpu/trip_point_0_temp chown system system /dev/thermal/tz-by-name/soft_ocp_gpu/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/soc/trip_point_0_temp chown system system /dev/thermal/tz-by-name/soc/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/batoilo/trip_point_0_temp chown system system /dev/thermal/tz-by-name/batoilo/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/batoilo2/trip_point_0_temp chown system system /dev/thermal/tz-by-name/batoilo2/trip_point_0_hyst # Thermal chown system system /dev/thermal/tz-by-name/disp_therm/trip_point_0_temp chown system system /dev/thermal/tz-by-name/disp_therm/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/north_therm/trip_point_0_temp chown system system /dev/thermal/tz-by-name/north_therm/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/cam_therm/trip_point_0_temp chown system system /dev/thermal/tz-by-name/cam_therm/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/charging_therm/trip_point_0_temp chown system system /dev/thermal/tz-by-name/charging_therm/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/soc_therm/trip_point_0_temp chown system system /dev/thermal/tz-by-name/soc_therm/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/neutral_therm/trip_point_0_temp chown system system /dev/thermal/tz-by-name/neutral_therm/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/usb_pwr_therm/trip_point_0_temp chown system system /dev/thermal/tz-by-name/usb_pwr_therm/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/quiet_therm/trip_point_0_temp chown system system /dev/thermal/tz-by-name/quiet_therm/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/usb_conn_therm/trip_point_0_temp chown system system /dev/thermal/tz-by-name/usb_conn_therm/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/btmspkr_therm/trip_point_0_temp chown system system /dev/thermal/tz-by-name/btmspkr_therm/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/rfpa_therm/trip_point_0_temp chown system system /dev/thermal/tz-by-name/rfpa_therm/trip_point_0_hyst chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote chown system system /dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote chown system system /dev/thermal/cdev-by-name/gxp-cooling/user_vote chown system system /dev/thermal/cdev-by-name/tpu_cooling/user_vote chown system system /dev/thermal/cdev-by-name/fcc/cur_state chown system system /dev/thermal/cdev-by-name/dc_icl/cur_state chown system system /dev/thermal/cdev-by-name/wlc_fcc/cur_state chown system system /dev/thermal/cdev-by-name/chg_mdis/cur_state chown system system /dev/thermal/cdev-by-name/usbc-port/cur_state chown system system /dev/thermal/cdev-by-name/thermal-uclamp-0/cur_state chown system system /dev/thermal/cdev-by-name/thermal-uclamp-4/cur_state chown system system /dev/thermal/cdev-by-name/thermal-uclamp-7/cur_state on charger # Use charger thermal config setprop vendor.thermal.config "thermal_info_config_charge.json" # Wait for insmod_sh to finish all common modules wait_for_prop vendor.common.modules.ready 1 # Create thermal symlink in off charging mode mkdir /dev/thermal 0750 system system mkdir /dev/thermal/tz-by-name 0750 system system mkdir /dev/thermal/cdev-by-name 0750 system system start vendor.thermal.symlinks on property:vendor.disable.bcl.control=1 write /sys/devices/virtual/pmic/mitigation/instruction/enable_mitigation 0 on property:vendor.disable.bcl.control=0 write /sys/devices/virtual/pmic/mitigation/instruction/enable_mitigation 1 # UDFPS on post-fs-data && property:ro.vendor.factory=1 # HBM mode for UDFPS factory apk chmod 666 /d/dri/0/DSI-1/panel/reg/payload chmod 666 /d/dri/0/DSI-1/panel/reg/count chmod 666 /d/dri/0/DSI-1/panel/reg/address chmod 666 /d/dri/0/DSI-1/panel/hbm_mode chmod 666 /sys/class/backlight/panel0-backlight/local_hbm_max_timeout chmod 666 /sys/class/backlight/panel0-backlight/local_hbm_mode chmod 666 /sys/class/backlight/panel0-backlight/hbm_mode on property:ro.boot.mode=charger && property:init.svc.vendor.charger=running # Disable dock-defend in Off Mode Charger write /sys/devices/platform/google,charger/dd_state -1 # Haptics on property:vendor.all.modules.ready=1 mkdir /mnt/vendor/persist/haptics 0770 system system chmod 770 /mnt/vendor/persist/haptics chmod 440 /mnt/vendor/persist/haptics/cs40l26.cal chown system system /mnt/vendor/persist/haptics chown system system /mnt/vendor/persist/haptics/cs40l26.cal chown system system /sys/bus/i2c/devices/9-0043/calibration/f0_stored chown system system /sys/bus/i2c/devices/9-0043/calibration/q_stored chown system system /sys/bus/i2c/devices/9-0043/calibration/redc_stored chown system system /sys/bus/i2c/devices/9-0043/default/vibe_state chown system system /sys/bus/i2c/devices/9-0043/default/num_waves chown system system /sys/bus/i2c/devices/9-0043/default/f0_offset chown system system /sys/bus/i2c/devices/9-0043/default/owt_free_space chown system system /sys/bus/i2c/devices/9-0043/default/f0_comp_enable chown system system /sys/bus/i2c/devices/9-0043/default/redc_comp_enable chown system system /sys/bus/i2c/devices/9-0043/default/delay_before_stop_playback_us chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_env_rel_coef chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_rise_headroom chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_fall_headroom chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_enable chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_tx_lvl_thresh_fs chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_tx_lvl_hold_off_ms chown system system /sys/bus/i2c/devices/9-0043/default/pm_active_timeout_ms enable vendor.vibrator.cs40l26