| import init.gs101.usb.rc |
| import android.hardware.drm@1.2-service.widevine.rc |
| import init.exynos.sensorhub.rc |
| import /vendor/etc/init/hw/init.aoc.rc |
| |
| service vendor.charger /system/bin/charger |
| class charger |
| seclabel u:r:charger:s0 |
| user system |
| group system wakelock input |
| capabilities SYS_BOOT |
| file /dev/kmsg w |
| file /sys/fs/pstore/console-ramoops-0 r |
| file /sys/fs/pstore/console-ramoops r |
| file /proc/last_kmsg r |
| |
| on early-init |
| mkdir /mnt/vendor/efs 0771 radio system |
| mkdir /mnt/vendor/efs_backup 0771 radio system |
| mkdir /mnt/vendor/modem_img 0771 radio system |
| mkdir /mnt/vendor/modem_userdata 0771 radio system |
| mkdir /mnt/vendor/persist 0771 system system |
| mount debugfs /sys/kernel/debug /sys/kernel/debug |
| mount_all /vendor/etc/fstab.persist --early |
| |
| on init |
| # CPU0 cannot be offline |
| chmod 0444 /sys/devices/system/cpu/cpu0/online |
| |
| # Boot time fs tuning |
| write /sys/block/sda/queue/iostats 0 |
| write /sys/block/sda/queue/scheduler bfq |
| write /sys/block/sda/queue/iosched/slice_idle 8 |
| write /sys/block/sda/queue/nr_requests 256 |
| write /dev/sys/fs/by-name/userdata/data_io_flag 56 |
| write /dev/sys/fs/by-name/userdata/node_io_flag 56 |
| |
| chown system system /sys/kernel/vendor_sched/clear_prefer_high_cap |
| chown system system /sys/kernel/vendor_sched/set_prefer_high_cap |
| chmod 0220 /sys/kernel/vendor_sched/clear_prefer_high_cap |
| chmod 0220 /sys/kernel/vendor_sched/set_prefer_high_cap |
| |
| wait /dev/block/platform/${ro.boot.boot_devices} |
| symlink /dev/block/platform/${ro.boot.boot_devices} /dev/block/bootdevice |
| |
| # to access UFS/eMMC sysfs directly |
| symlink /sys/devices/platform/${ro.boot.boot_devices} /dev/sys/block/bootdevice |
| |
| # Disable UFS powersaving |
| write /dev/sys/block/bootdevice/clkgate_enable 0 |
| |
| start vendor.keymaster-3-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} |
| |
| # NFC streset tool name |
| setprop persist.vendor.nfc.streset libstreset21 |
| setprop persist.vendor.se.streset libstreset21 |
| |
| # Support legacy paths |
| symlink /data/app /factory |
| |
| # Apply network parameters for high data performance. |
| write /proc/sys/net/core/rmem_default 327680 |
| 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 1048576" |
| 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 |
| |
| # EAS utilclamp boosting interfaces |
| chown system system /dev/cpuctl/top-app/cpu.uclamp.min |
| chown system system /dev/cpuctl/top-app/cpu.uclamp.max |
| chown system system /dev/cpuctl/top-app/cpu.uclamp.latency_sensitive |
| chown system system /dev/cpuctl/top-app/cgroup.procs |
| |
| chown system system /dev/cpuctl/foreground/cpu.uclamp.min |
| chown system system /dev/cpuctl/foreground/cpu.uclamp.max |
| chown system system /dev/cpuctl/foreground/cpu.uclamp.latency_sensitive |
| chown system system /dev/cpuctl/foreground/cgroup.procs |
| |
| chown system system /dev/cpuctl/background/cpu.uclamp.min |
| chown system system /dev/cpuctl/background/cpu.uclamp.max |
| chown system system /dev/cpuctl/background/cpu.uclamp.latency_sensitive |
| chown system system /dev/cpuctl/background/cgroup.procs |
| |
| chown system system /dev/cpuctl/rt/cpu.uclamp.min |
| chown system system /dev/cpuctl/rt/cpu.uclamp.max |
| chown system system /dev/cpuctl/rt/cpu.uclamp.latency_sensitive |
| chown system system /dev/cpuctl/rt/cgroup.procs |
| |
| write /dev/cpuctl/top-app/cpu.uclamp.min 30 |
| write /dev/cpuctl/top-app/cpu.uclamp.latency_sensitive 1 |
| write /dev/cpuctl/foreground/cpu.uclamp.min 30 |
| write /dev/cpuctl/foreground/cpu.uclamp.latency_sensitive 1 |
| |
| # governor setting |
| write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor sched_pixel |
| write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/up_rate_limit_us 500 |
| write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us 500 |
| write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor sched_pixel |
| write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/up_rate_limit_us 500 |
| write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us 20000 |
| write /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor sched_pixel |
| write /sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/up_rate_limit_us 500 |
| write /sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/down_rate_limit_us 20000 |
| |
| # RT uclamp setting |
| write /proc/sys/kernel/sched_util_clamp_min_rt_default 0 |
| |
| # change permissions and default values for camera-daemon cpu controller |
| chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.min |
| chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.max |
| chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.latency_sensitive |
| chown system system /dev/cpuctl/camera-daemon/cgroup.procs |
| write /dev/cpuctl/camera-daemon/cpu.uclamp.latency_sensitive 1 |
| write /dev/cpuctl/camera-daemon/cpu.uclamp.min 0 |
| |
| 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 |
| |
| # logbuffer |
| chown system system /dev/logbuffer_batt_ce |
| chown system system /dev/logbuffer_maxq |
| chown system system /dev/logbuffer_google,cpm |
| chown system system /dev/logbuffer_rtx |
| chown system system /dev/logbuffer_ssoc |
| chown system system /dev/logbuffer_ttf |
| chown system system /dev/logbuffer_usbpd |
| chown system system /dev/logbuffer_wireless |
| |
| # Dump maxfg |
| chown system system /sys/class/power_supply/maxfg/m5_model_state |
| chown system system /d/maxfg/fg_model |
| |
| # pca9468 : slider+77729: 6-0057; slider+MW A1: 5-0057 |
| chown system system /d/regmap/5-0057-pca9468-mains/registers |
| chown system system /d/regmap/6-0057-pca9468-mains/registers |
| |
| # Modem temperature driver |
| chown radio system /sys/devices/platform/cp-tm1/cp_temp |
| |
| # Loading common kernel modules in background |
| start insmod_sh_common |
| |
| # start watchdogd |
| start watchdogd |
| |
| # For GKI kernel, no device specific modules |
| on init |
| setprop vendor.device.modules.ready 1 |
| |
| on init && property:ro.boot.hw.soc.rev=0 |
| setprop vendor.powerhal.config powerhint_a0.json |
| |
| on init && property:ro.boot.hw.soc.rev=1 |
| setprop vendor.powerhal.config powerhint_a1.json |
| |
| on init && property:ro.boot.hw.soc.rev=0 |
| # STOPSHIP b/177967147 disable SICD |
| write /sys/devices/platform/cpupm/cpupm/sicd 0 |
| |
| on init && property:ro.boot.hw.soc.rev=1 |
| # STOPSHIP b/177967147 disable SICD |
| write /sys/devices/platform/cpupm/cpupm/sicd 0 |
| |
| on late-fs |
| # Wait for keymaster HALs |
| exec_start wait_for_keymaster |
| |
| # Start bootanimation class before mount |
| class_start animation |
| |
| # Mount RW partitions which need run fsck |
| mount_all /vendor/etc/fstab.gs101 --late |
| |
| on post-fs-data |
| # Log data folder |
| mkdir /data/log 0771 radio system |
| mkdir /data/log/abox 0771 audioserver system |
| 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 773 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 |
| |
| # 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 |
| |
| setprop vold.post_fs_data_done 1 |
| setprop wifi.direct.interface p2p-dev-wlan0 |
| setprop wifi.aware.interface aware_nmi0 |
| |
| # IPSEC PIDDIR for VoWiFi |
| mkdir /data/vendor/misc 0771 root system |
| mkdir /data/vendor/misc/vpn 0771 root system |
| |
| # Permissions Camera |
| mkdir /data/camera 0777 root root |
| mkdir /data/vendor/camera 0770 system camera |
| chmod 0755 /sys/kernel/debug/tracing |
| restorecon /sys/kernel/debug/tracing/trace_marker |
| |
| # ranging sensor |
| chown system system /dev/stmvl53l1_ranging |
| chmod 0660 /dev/stmvl53l1_ranging |
| |
| # 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 |
| |
| 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 post-fs-data |
| # GPS |
| mkdir /data/vendor/gps 0771 system system |
| chown system system /data/vendor/gps |
| rm /data/vendor/gps/gps_started |
| rm /data/vendor/gps/glonass_started |
| rm /data/vendor/gps/beidou_started |
| rm /data/vendor/gps/smd_started |
| rm /data/vendor/gps/sv_cno.info |
| |
| chown gps system /sys/devices/platform/10940000.spi/spi_master/spi5/spi5.0/nstandby |
| chmod 0664 /dev/ttyBCM |
| chown gps system /dev/ttyBCM |
| chmod 0664 /dev/bbd_control |
| chown gps system /dev/bbd_control |
| chmod 0664 /dev/bbd_patch |
| chown gps system /dev/bbd_patch |
| chmod 0664 /dev/bbd_sensor |
| chown gps system /dev/bbd_sensor |
| |
| on early-boot |
| # Wait for insmod_sh to finish all common modules |
| wait_for_prop vendor.common.modules.ready 1 |
| |
| # Wait for insmod_sh to finish all device specific modules |
| wait_for_prop vendor.device.modules.ready 1 |
| |
| # Other services depend on the properties |
| setprop vendor.all.modules.ready 1 |
| setprop vendor.all.devices.ready 1 |
| |
| # Update dm-verity state and set partition.*.verified properties |
| verity_update_state |
| |
| # Permission for Health Storage HAL |
| chown system system /dev/sys/block/bootdevice/manual_gc |
| |
| # Permission for Pixelstats |
| chown system system /dev/sys/block/bootdevice/slowio_read_cnt |
| chown system system /dev/sys/block/bootdevice/slowio_write_cnt |
| chown system system /dev/sys/block/bootdevice/slowio_unmap_cnt |
| chown system system /dev/sys/block/bootdevice/slowio_sync_cnt |
| |
| # Permission to allow system processes to access gpu clocks |
| chown system system /sys/devices/platform/1c500000.mali/dvfs_min_lock |
| chmod 0660 /sys/devices/platform/1c500000.mali/dvfs_min_lock |
| chown system system /sys/devices/platform/1c500000.mali/scaling_min_freq |
| chmod 0660 /sys/devices/platform/1c500000.mali/scaling_min_freq |
| |
| 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 |
| |
| # 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 |
| |
| # WLAN firmware/driver path |
| chown wifi wifi /sys/module/bcmdhd/parameters/nvram_path |
| chown wifi wifi /sys/module/bcmdhd/parameters/firmware_path |
| |
| on nonencrypted |
| mkdir /data/misc/mcRegistry 0775 system drmrpc |
| |
| on property:vold.decrypt=trigger_restart_framework |
| mkdir /data/misc/mcRegistry 0775 system drmrpc |
| |
| on property:persist.vendor.radio.no_modem_board=1 |
| setprop ro.radio.noril yes |
| |
| on fs |
| mount_all /vendor/etc/fstab.gs101 --early |
| chown radio system /mnt/vendor/efs |
| restorecon_recursive /mnt/vendor/efs |
| chown radio system /mnt/vendor/efs_backup |
| restorecon_recursive /mnt/vendor/efs_backup |
| chown radio system /mnt/vendor/modem_userdata |
| restorecon_recursive /mnt/vendor/modem_userdata |
| |
| # Configure multi-bin radio |
| chown radio system /mnt/vendor/modem_img |
| restorecon_recursive /mnt/vendor/modem_img |
| |
| restorecon_recursive /mnt/vendor/persist |
| restorecon_recursive /mnt/vendor/persist/audio |
| restorecon_recursive /mnt/vendor/persist/sensors |
| restorecon_recursive /mnt/vendor/persist/battery |
| # 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 |
| |
| # Enable rmnet data and aggregation |
| setprop persist.rmnet.mux enabled |
| setprop persist.rmnet.data.enable true |
| setprop persist.data.wda.enable true |
| setprop persist.data.df.agg.dl_pkt 10 |
| setprop persist.data.df.agg.dl_size 4096 |
| |
| # 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/hbm_mode |
| chown system system /sys/devices/platform/exynos-drm/primary-panel/gamma |
| chown system system /sys/module/drm/parameters/vblankoffdelay |
| |
| # 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 |
| |
| service wpa_supplicant /vendor/bin/hw/wpa_supplicant \ |
| -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1p2p_device=1 \ |
| -m/vendor/etc/wifi/p2p_supplicant.conf \ |
| -g@android:wpa_wlan0 -dd |
| 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 |
| socket wpa_wlan0 dgram 660 wifi wifi |
| class main |
| disabled |
| oneshot |
| |
| |
| # GPS |
| service lhd /vendor/bin/hw/lhd /vendor/etc/gnss/lhd.conf |
| class main |
| user gps |
| group system inet net_raw sdcard_rw |
| ioprio be 0 |
| |
| service gpsd /vendor/bin/hw/gpsd -c /vendor/etc/gnss/gps.xml |
| class main |
| user gps |
| group system gps radio inet wakelock sdcard_rw net_raw |
| ioprio be 0 |
| |
| service scd /vendor/bin/hw/scd /vendor/etc/gnss/scd.conf |
| class main |
| user gps |
| group system inet net_raw wakelock |
| ioprio be 0 |
| |
| service gnss_service /vendor/bin/hw/android.hardware.gnss@2.1-service-brcm |
| class hal |
| user gps |
| group system gps radio |
| |
| # disable gps service if no gps h/w |
| on property:vendor.ril.cbd.svc=0 |
| stop gpsd |
| stop lhd |
| stop scd |
| |
| # 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/spi11/spi11.0/stm_fts_cmd |
| chown system system /sys/class/spi_master/spi11/spi11.0/glove_mode |
| chown system system /sys/class/spi_master/spi6/spi6.0/stm_fts_cmd |
| chown system system /sys/class/spi_master/spi6/spi6.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 |
| |
| on property:init.svc.vendor.charger=running |
| stop keymaster-4-0 |
| |
| setprop sys.usb.configfs 1 |
| setprop vendor.setup.power 1 |
| |
| # keep one little and one big |
| write /sys/devices/system/cpu/cpu1/online 0 |
| write /sys/devices/system/cpu/cpu2/online 0 |
| write /sys/devices/system/cpu/cpu3/online 0 |
| write /sys/devices/system/cpu/cpu4/online 0 |
| write /sys/devices/system/cpu/cpu5/online 0 |
| write /sys/devices/system/cpu/cpu7/online 0 |
| |
| on property:sys.boot_completed=1 |
| |
| # Runtime fs tuning |
| write /sys/block/sda/queue/nr_requests 128 |
| write /sys/block/sda/queue/iostats 1 |
| write /dev/sys/fs/by-name/userdata/data_io_flag 8 |
| write /dev/sys/fs/by-name/userdata/node_io_flag 8 |
| |
| # Block layer tuning: discard chunk size up to 128MB |
| # Otherwise, contiguous discards can be merged |
| write /sys/block/sda/queue/discard_max_bytes 134217728 |
| |
| # Enable ZRAM on boot_complete |
| swapon_all /vendor/etc/fstab.${ro.board.platform} |
| write /proc/sys/vm/swappiness 100 |
| |
| # Back to default VM settings |
| write /proc/sys/vm/dirty_expire_centisecs 3000 |
| write /proc/sys/vm/dirty_background_ratio 10 |
| |
| # Enable UFS powersaving |
| write /dev/sys/block/bootdevice/clkgate_enable 1 |
| |
| # Setup final cpuset |
| write /dev/cpuset/top-app/cpus 0-7 |
| write /dev/cpuset/foreground/cpus 0-3,4-5 |
| write /dev/cpuset/background/cpus 0-1 |
| write /dev/cpuset/system-background/cpus 0-3 |
| write /dev/cpuset/restricted/cpus 0-3 |
| write /dev/cpuset/camera-daemon/cpus 0-7 |
| setprop vendor.powerhal.init 1 |
| |
| # Setup final cpu.uclamp |
| write /dev/cpuctl/top-app/cpu.uclamp.min 10 |
| write /dev/cpuctl/foreground/cpu.uclamp.min 0 |
| |
| # gvotables for dumpstate |
| chown system system /sys/kernel/debug/gvotables |
| |
| # Permission for wireless charging |
| chown system system /sys/class/power_supply/wireless/capacity |
| chown system system /sys/class/power_supply/wireless/device/rtx |
| chown system system /sys/class/power_supply/wireless/device/rxdata |
| chown system system /sys/class/power_supply/wireless/device/txdata |
| chown system system /sys/class/power_supply/wireless/device/rxlen |
| chown system system /sys/class/power_supply/wireless/device/txlen |
| chown system system /sys/class/power_supply/wireless/device/ccreset |
| chown system system /sys/class/power_supply/wireless/device/status |
| chown system system /sys/class/power_supply/wireless/device/version |
| |
| # 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 |
| |
| # IMS packet router daemon |
| service pktrouter /system/vendor/bin/wfc-pkt-router |
| class main |
| user root |
| disabled |
| seclabel u:r:pktrouter:s0 |
| |
| on property:vendor.pktrouter=1 |
| start pktrouter |
| |
| on property:vendor.pktrouter=0 |
| stop pktrouter |
| |
| # 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 |
| |
| on property:persist.vendor.charge.stop.level=* |
| write /sys/devices/platform/google,charger/charge_stop_level ${persist.vendor.charge.stop.level} |
| |
| on property:persist.vendor.charge.start.level=* |
| write /sys/devices/platform/google,charger/charge_start_level ${persist.vendor.charge.start.level} |
| |
| service insmod_sh_common /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.gs101.cfg |
| class main |
| user root |
| group root system |
| disabled |
| oneshot |
| |
| # Set watchdog timer to 30 seconds and pet it every 10 seconds to get a 20 second margin |
| service watchdogd /system/bin/watchdogd 10 20 |
| class core |
| oneshot |
| seclabel u:r:watchdogd:s0 |
| |
| # 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 |
| start vendor.rebootescrow-citadel |
| mkdir /data/vendor/ss 0770 root system |
| mkdir /mnt/vendor/persist/ss 0770 root system |
| 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 /dev/sg1 |
| |
| start storageproxyd |
| |
| service storageproxyd /vendor/bin/storageproxyd -d /dev/trusty-ipc-dev0 \ |
| -r /dev/sg1 -p /data/vendor/ss -t ufs |
| class main |
| disabled |
| user root |
| |
| # Write build info to kdebuginfo |
| on property:ro.build.fingerprint=* |
| write /sys/module/debug_kinfo/parameters/build_info ${ro.build.fingerprint} |
| |
| # Bluetooth |
| on post-fs-data |
| 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 |
| chown bluetooth system /proc/bluetooth/sleep/btwake |
| chown bluetooth system /proc/bluetooth/sleep/lpm |
| chown bluetooth system /proc/bluetooth/sleep/btwrite |
| |
| # ODPM |
| on fs |
| chown system system /sys/devices/platform/acpm_mfd_bus@17500000/i2c-7/7-001f/s2mpg10-meter/s2mpg10-odpm/iio:device0/enabled_rails |
| chown system system /sys/devices/platform/acpm_mfd_bus@17510000/i2c-8/8-002f/s2mpg11-meter/s2mpg11-odpm/iio:device1/enabled_rails |