# # Copyright 2012 The Android Open Source Project # Copyright (C) 2013 The CyanogenMod Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # import init.device.rc import init.sony.usb.rc on early-init mount debugfs debugfs /sys/kernel/debug chown system system /sys/kernel/debug/kgsl/proc write /sys/block/mmcblk0/queue/scheduler noop write /sys/block/mmcblk0/bdi/read_ahead_kb 512 on init mkdir /mnt/shell/emulated 0700 shell shell mkdir /storage/emulated 0555 root root mkdir /mnt/media_rw/sdcard1 0700 media_rw media_rw mkdir /mnt/media_rw/usbdisk 0700 media_rw media_rw mkdir /storage/sdcard1 0775 system system mkdir /storage/usbdisk 0775 system system export EXTERNAL_STORAGE /storage/emulated/legacy export SECONDARY_STORAGE /storage/sdcard1 export EMULATED_STORAGE_SOURCE /mnt/shell/emulated export EMULATED_STORAGE_TARGET /storage/emulated # for backwards compatibility symlink /storage/emulated/legacy /sdcard symlink /storage/emulated/legacy /mnt/sdcard symlink /storage/emulated/legacy /storage/sdcard0 symlink /mnt/shell/emulated/0 /storage/emulated/legacy symlink /storage/sdcard1 /ext_card symlink /storage/sdcard1 /mnt/ext_card symlink /storage/usbdisk /usbdisk symlink /storage/usbdisk /mnt/usbdisk mkdir /tmp mount tmpfs tmpfs /tmp nosuid mode=0755,uid=0,gid=0 chmod 0664 /proc/rdtag chown root system /proc/rdtag mkdir /dev/bus 0755 root root mkdir /dev/bus/usb 0755 root root # Bluetooth address setting setprop ro.bt.bdaddr_path "/data/etc/bluetooth_bdaddr" chown bluetooth bluetooth ${ro.bt.bdaddr_path} # bluetooth LPM chown bluetooth bluetooth /proc/bluetooth/sleep/lpm chown bluetooth bluetooth /proc/bluetooth/sleep/btwrite write /sys/module/qpnp_rtc/parameters/poweron_alarm 1 # Enable ramdumps from subsystems to dump # adsp ssr write /sys/bus/msm_subsys/devices/subsys0/restart_level "SYSTEM" # modem ssr write /sys/bus/msm_subsys/devices/subsys1/restart_level "RELATED" # wcnss ssr write /sys/bus/msm_subsys/devices/subsys2/restart_level "RELATED" # venus ssr write /sys/bus/msm_subsys/devices/subsys3/restart_level "RELATED" # Enable panic on out of memory write /proc/sys/vm/panic_on_oom 2 # Create a tmpfs for dynamic network mounting mkdir /storage/removable/remote 0700 root system mount tmpfs tmpfs /storage/removable/remote mode=0755,uid=0,gid=0 # Set the property to indicate type of virtual display to 0 # 0 indicates that virtual display is not a Wifi display and that the # session is not exercised through RemoteDisplay in the android framework setprop persist.sys.wfd.virtual 0 on fs mount_all ./fstab.qcom setprop ro.crypto.fuse_sdcard true mkdir /lta-label 0555 system system wait /dev/block/platform/msm_sdcc.1/by-name/LTALabel mount ext4 /dev/block/platform/msm_sdcc.1/by-name/LTALabel /lta-label nosuid nodev noatime noexec ro barrier=0 chown system system /lta-label chmod 0555 /lta-label chmod 0755 /data/etc exec /system/bin/taimport restorecon_recursive /data/etc on early-boot # set RLIMIT_MEMLOCK to 64MB setrlimit 8 67108864 67108864 write /sys/kernel/boot_adsp/boot 1 # Run pre_hw_config.sh before entering charge only mode. exec /system/bin/sh /system/etc/pre_hw_config.sh on boot # bring CPUs online write /sys/module/msm_thermal/core_control/enabled 0 write /sys/devices/system/cpu/cpu1/online 1 write /sys/devices/system/cpu/cpu2/online 1 write /sys/devices/system/cpu/cpu3/online 1 write /sys/module/msm_thermal/core_control/enabled 1 write /sys/module/qpnp_power_on/parameters/forcecrash_on 1 chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state chmod 0660 /sys/class/rfkill/rfkill0/state chown bluetooth bluetooth /dev/ttyHS0 chmod 0660 /dev/ttyHS0 chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/clock chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock # Create QMUX deamon socket area mkdir /dev/socket/qmux_radio 0770 radio radio chmod 2770 /dev/socket/qmux_radio mkdir /dev/socket/qmux_audio 0770 media audio chmod 2770 /dev/socket/qmux_audio mkdir /dev/socket/qmux_bluetooth 0770 bluetooth bluetooth chmod 2770 /dev/socket/qmux_bluetooth mkdir /dev/socket/qmux_gps 0770 gps gps chmod 2770 /dev/socket/qmux_gps setprop ro.telephony.call_ring.multiple false # Remove SUID bit for iproute2 ip tool chmod 0755 /system/bin/ip # port-bridge chmod 0660 /dev/smd0 chown system system /dev/smd0 chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state # MDP idle notifier chown system graphics /sys/class/graphics/fb0/idle_time chmod 0664 /sys/class/graphics/fb0/idle_time # Remove write permissions to video related nodes chown system graphics /sys/class/graphics/fb1/hpd chown system system /sys/class/graphics/fb1/hdcp/tp chown system graphics /sys/class/graphics/fb1/vendor_name chown system graphics /sys/class/graphics/fb1/product_description chmod 0664 /sys/class/graphics/fb1/hpd chmod 0664 /sys/class/graphics/fb1/hdcp/tp chmod 0664 /sys/class/graphics/fb1/vendor_name chmod 0664 /sys/class/graphics/fb1/product_description chmod 0664 /sys/class/graphics/fb1/video_mode chmod 0664 /sys/class/graphics/fb1/format_3d # create symlink for fb1 as HDMI symlink /dev/graphics/fb1 /dev/graphics/hdmi # Change owner and group to get adopter/device ids from MHL driver chown system system /sys/class/mhl/sii8334/adopter_id chown system system /sys/class/mhl/sii8334/device_id # Change permissions for fps_level nodes chown system graphics /sys/class/graphics/fb0/msm_fb_fps_level chown system graphics /sys/class/graphics/fb1/msm_fb_fps_level chown system graphics /sys/class/graphics/fb2/msm_fb_fps_level chmod 644 /sys/class/graphics/fb0/msm_fb_fps_level chmod 400 /sys/class/graphics/fb1/msm_fb_fps_level chmod 400 /sys/class/graphics/fb2/msm_fb_fps_level # Dynamic fps chmod 644 /sys/devices/virtual/graphics/fb0/dynamic_fps chown system graphics /sys/devices/virtual/graphics/fb0/dynamic_fps # Adaptive backlight chown system system /sys/devices/mdss_dsi_panel/cabc chmod 0660 /sys/devices/mdss_dsi_panel/cabc # For bridgemgr daemon to inform the USB driver of the correct transport chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport # For setting tcp delayed ack chown system system /sys/kernel/ipv4/tcp_delack_seg chown system system /sys/kernel/ipv4/tcp_use_userconfig # Define TCP delayed ack settings for WiFi & LTE setprop net.tcp.delack.default 1 setprop net.tcp.delack.wifi 20 setprop net.tcp.delack.lte 8 setprop net.tcp.usercfg.default 0 setprop net.tcp.usercfg.wifi 1 setprop net.tcp.usercfg.lte 1 # Assign TCP buffer thresholds to be ceiling value of technology maximums # Increased technology maximums should be reflected here. write /proc/sys/net/core/rmem_max 2097152 write /proc/sys/net/core/wmem_max 2097152 chmod 660 /dev/rtc0 chown system system /dev/rtc0 chown root system /proc/net/ip_conntrack # Enable DEBUG_SUSPEND, DEBUG_EXIT_SUSPEND, and DEBUG_WAKEUP write /sys/module/wakelock/parameters/debug_mask 7 # To allow interfaces to get v6 address when tethering is enabled write /proc/sys/net/ipv6/conf/rmnet0/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet1/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet2/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet3/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet4/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet5/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet6/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet7/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio0/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio1/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio2/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio3/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio4/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio5/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio6/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio7/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_usb0/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_usb1/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_usb2/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_usb3/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_usb0/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_usb1/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_usb2/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_usb3/accept_ra 2 # To prevent out of order acknowledgements from making # connection tracking to treat them as not belonging to # the connection they belong to. # Otherwise, a weird issue happens in which some long # connections on high-throughput links get dropped when # an ack packet comes out of order write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1 # Set the console loglevel to < KERN_INFO # Set the default message loglevel to KERN_INFO write /proc/sys/kernel/printk "6 6 1 7" chown system /sys/devices/virtual/timed_output/vibrator/vtg_level # charger chown root system /sys/module/qpnp_charger/parameters/charger_monitor chown root system /sys/class/power_supply/battery/input_current_max chown root system /sys/class/power_supply/battery/input_current_trim chown root system /sys/class/power_supply/battery/voltage_min chmod 0644 /sys/module/qpnp_charger/parameters/charger_monitor chmod 0644 /sys/class/power_supply/battery/input_current_max chmod 0644 /sys/class/power_supply/battery/input_current_trim chmod 0644 /sys/class/power_supply/battery/voltage_min # NFC # Symlink for compability symlink /dev/pn547 /dev/pn544 on post-fs # MHL driver. To support MHL power off charge, # the insmod must be done before chargemon. insmod /system/lib/modules/mhl_sii8620_8061_drv.ko exec /system/bin/chargemon write /sys/class/power_supply/battery/enable_shutdown_at_low_battery 1 # Change to socket location on libkeyctrl/suntory for /data encryption mkdir /dev/socket/suntory 0755 system system on post-fs-data mkdir /data/media 0770 media_rw media_rw # Create the directories used by the Wireless subsystem mkdir /data/misc/wifi 0770 wifi wifi mkdir /data/misc/wifi/sockets 0770 wifi wifi mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi mkdir /data/misc/dhcp 0770 dhcp dhcp # to observe dnsmasq.leases file for dhcp information of soft ap. chown dhcp dhcp /data/misc/dhcp # Update WIFI MAC address mkdir /data/misc/wifi/prima 0775 wifi wifi mkdir /data/credmgr 0700 system system mkdir /data/tombstones 0755 system system mkdir /data/tombstones/vendor 0755 system system mkdir /data/pc 0700 radio radio mkdir /data/persist 0770 persist_rw persist_rw # Create directory used by audio subsystem mkdir /data/misc/audio 0770 audio audio # IR Blaster chown system system /dev/ttyHSL2 chmod 0660 /dev/ttyHSL2 chown system system /sys/devices/platform/ir_remote_control/enable chmod 0220 /sys/devices/platform/ir_remote_control/enable chmod 0664 /sys/devices/platform/msm_sdcc.1/polling chmod 0664 /sys/devices/platform/msm_sdcc.2/polling chmod 0664 /sys/devices/platform/msm_sdcc.3/polling chmod 0664 /sys/devices/platform/msm_sdcc.4/polling # NFC local data and nfcee xml storage mkdir /data/nfc 0770 nfc nfc mkdir /data/nfc/param 0770 nfc nfc # QCOM Sensors mkdir /data/system 0775 system system mkdir /data/system/sensors 0775 system system mkdir /data/misc/sensors 0775 system system write /data/system/sensors/settings 1 chmod 664 /data/system/sensors/settings chown system /data/system/sensors/settings # Chown polling nodes as needed from UI running on system server chown system system /sys/devices/platform/msm_sdcc.1/polling chown system system /sys/devices/platform/msm_sdcc.2/polling chown system system /sys/devices/platform/msm_sdcc.3/polling chown system system /sys/devices/platform/msm_sdcc.4/polling chown system system /sys/devices/platform/kgsl-3d0.0/kgsl/kgsl-3d0/pwrscale/policy # Create directories for gpsone_daemon services mkdir /data/misc/gpsone_d 0770 system gps # Create directories for QuIPS mkdir /data/misc/quipc 0770 gps system # Create directories for Location services mkdir /data/misc/location 0770 gps gps mkdir /data/misc/location/mq 0770 gps gps mkdir /data/misc/location/xtwifi 0770 gps gps # Provide the access to hostapd.conf only to root and group chmod 0660 /data/hostapd/hostapd.conf mkdir /data/audio 0770 media audio # Create /data/time folder for time-services mkdir /data/time 0700 system system # Enable Power save functionality for modem setprop persist.radio.add_power_save 1 chown system /dev/block/platform/msm_sdcc.1/by-name setprop vold.post_fs_data_done 1 rm /data/local/tmp/adreno_config.txt # communicate with mpdecision and thermald mkdir /dev/socket/mpdecision 0770 system system chmod 2770 /dev/socket/mpdecision # SONY: Camera mkdir /data/camera 0770 media camera chown media camera /sys/devices/sony_camera_0/info chmod 0770 /sys/devices/sony_camera_0/info chown media camera /sys/devices/sony_camera_1/info chmod 0770 /sys/devices/sony_camera_1/info on charger # Enable Power modes and set the CPU Freq Sampling rates write /sys/module/lpm_levels/enable_low_power/l2 2 write /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled 1 write /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled 1 write /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled 1 write /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled 1 write /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled 1 write /sys/module/msm_thermal/core_control/enabled 0 write /sys/devices/system/cpu/cpu1/online 1 write /sys/devices/system/cpu/cpu2/online 1 write /sys/devices/system/cpu/cpu3/online 1 write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "powersave" write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "powersave" write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "powersave" write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor "powersave" write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 300000 write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 300000 write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 300000 write /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq 300000 write /sys/module/msm_thermal/core_control/enabled 1 write /sys/devices/system/cpu/cpu1/online 0 write /sys/devices/system/cpu/cpu2/online 0 write /sys/devices/system/cpu/cpu3/online 0 on property:init.svc.wpa_supplicant=stopped stop dhcpcd # Update Wi-Fi MAC address service mac-update /system/bin/mac-update class late_start user wifi oneshot # QMUX must be in multiple groups to support external process connections service qmuxd /system/bin/qmuxd class main user radio group radio audio bluetooth gps qcom_diag # SONY: TrimArea Daemon # Last 2 args: start block(blk size 128k), number of blocks(partitionsize(kb)/128(kb)) service tad_static /system/bin/tad_static /dev/block/mmcblk0 1,16 user root group root socket tad stream 0660 system system class core service netmgrd /system/bin/netmgrd class main on property:ro.radio.noril=true stop ril-daemon stop netmgrd # start GNS/Sensor interface daemon service gsiff_daemon /system/bin/gsiff_daemon class late_start user gps group gps net_raw misc service qrngd /system/bin/qrngd -f class main user root group root service qrngp /system/bin/qrngp class main user root group root oneshot disabled on property:sys.boot_completed=1 start qrngp service qseecomd /system/bin/qseecomd class core user root group root persist_rw service p2p_supplicant /system/bin/wpa_supplicant \ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \ -I/system/etc/wifi/wpa_supplicant_overlay.conf -N \ -ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \ -I/system/etc/wifi/p2p_supplicant_overlay.conf \ -puse_p2p_group_interface=1 -e/data/misc/wifi/entropy.bin \ -g@android:wpa_wlan0 # we will start as root and wpa_supplicant will switch to user wifi # after setting up the capabilities required for WEXT # user wifi # group wifi inet keystore class main socket wpa_wlan0 dgram 660 wifi wifi disabled oneshot service wpa_supplicant /system/bin/wpa_supplicant \ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \ -I/system/etc/wifi/wpa_supplicant_overlay.conf \ -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0 # we will start as root and wpa_supplicant will switch to user wifi # after setting up the capabilities required for WEXT # user wifi # group wifi inet keystore class main socket wpa_wlan0 dgram 660 wifi wifi disabled oneshot service dhcpcd_wlan0 /system/bin/dhcpcd -aABDKL class late_start disabled oneshot service dhcpcd_p2p /system/bin/dhcpcd -aABKL class late_start disabled oneshot service iprenew_wlan0 /system/bin/dhcpcd -n class late_start disabled oneshot service iprenew_p2p /system/bin/dhcpcd -n class late_start disabled oneshot service dhcpcd_bnep0 /system/bin/dhcpcd -BKLG disabled oneshot service dhcpcd_bnep1 /system/bin/dhcpcd -BKLG disabled oneshot service dhcpcd_bnep2 /system/bin/dhcpcd -BKLG disabled oneshot service dhcpcd_bnep3 /system/bin/dhcpcd -BKLG disabled oneshot service dhcpcd_bnep4 /system/bin/dhcpcd -BKLG disabled oneshot service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG disabled oneshot service iprenew_bt-pan /system/bin/dhcpcd -n disabled oneshot on property:ro.data.large_tcp_window_size=true # Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB) write /proc/sys/net/ipv4/tcp_adv_win_scale 2 # virtual sdcard daemon running as media_rw (1023) service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated class late_start service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1 class late_start disabled service fuse_usbdisk /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/usbdisk /storage/usbdisk class late_start disabled service mpdecision /system/bin/mpdecision --avg_comp class main user root group system disabled # Start suntrold service suntrold /system/bin/suntrold user system group system oneshot class main # bugreport is triggered by holding down volume down, volume up and power service bugreport /system/bin/dumpstate -d -p -B \ -o /data/data/com.android.shell/files/bugreports/bugreport class main disabled oneshot keycodes 114 115 116 service fm_dl /system/bin/sh /system/etc/init.qcom.fm.sh class late_start user root group system qcom_oncrpc disabled oneshot # Secure Config Transfer service service sct_service /system/bin/sct_service user root class main # Trim Area QMI service service ta_qmi_service /system/bin/ta_qmi_service user root class main # Thermal Manager service service thermanager /system/bin/thermanager /system/etc/thermanager.xml class main user root group root service rmt_storage /system/bin/rmt_storage class core user root service irsc_util /system/bin/irsc_util "/etc/sec_config" class main user root oneshot service ppd /system/bin/mm-pp-daemon class late_start user system socket pps stream 0660 system system group system graphics qcom_diag disabled service qcamerasvr /system/bin/mm-qcamera-daemon class late_start user camera group camera system inet input service sensors /system/bin/sensors.qcom class main user root group sensors radio system service time_daemon /system/bin/time_daemon class late_start user root group root radio qcom_diag # create filesystem if necessary service setup_fs /system/bin/setup_fs /dev/block/platform/msm_sdcc.1/by-name/userdata class core user root group root oneshot service charger /sbin/healthd -c class charger seclabel u:r:healthd:s0 on property:init.svc.surfaceflinger=running start ppd on property:init.svc.surfaceflinger=stopped stop ppd on property:service.bootanim.exit=1 # Enable Power modes write /sys/module/lpm_levels/enable_low_power/l2 4 write /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled 1 write /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled 1 write /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled 1 write /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled 1 write /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled 1 write /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled 1 write /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled 1 write /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled 1 write /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled 1 write /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled 1 write /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled 1 write /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled 1 write /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled 1 write /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled 1 write /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled 1 write /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled 1 write /sys/module/msm_pm/modes/cpu0/retention/idle_enabled 1 write /sys/module/msm_pm/modes/cpu1/retention/idle_enabled 1 write /sys/module/msm_pm/modes/cpu2/retention/idle_enabled 1 write /sys/module/msm_pm/modes/cpu3/retention/idle_enabled 1 write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 300000 write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 300000 write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 300000 write /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq 300000 chown root.system /sys/devices/system/cpu/cpu1/online chown root.system /sys/devices/system/cpu/cpu2/online chown root.system /sys/devices/system/cpu/cpu3/online chmod 664 /sys/devices/system/cpu/cpu1/online chmod 664 /sys/devices/system/cpu/cpu2/online chmod 664 /sys/devices/system/cpu/cpu3/online on property:init.svc.bootanim=stopped # Switch to ROW and balanced mode after boot for better UX write /sys/class/devfreq/qcom,cpubw.40/governor "cpubw_hwmon" write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "interactive" write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "interactive" write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "interactive" write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor "interactive" write /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay "20000 1400000:40000 1700000:20000" write /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load 90 write /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq 1190400 write /sys/devices/system/cpu/cpufreq/interactive/io_is_busy 1 write /sys/devices/system/cpu/cpufreq/interactive/target_loads "85 1500000:90 1800000:70" write /sys/devices/system/cpu/cpufreq/interactive/min_sample_time 40000 write /sys/devices/system/cpu/cpufreq/interactive/timer_rate 30000 write /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor 100000 write /sys/devices/system/cpu/cpufreq/interactive/sync_freq 1036800 write /sys/devices/system/cpu/cpufreq/interactive/up_threshold_any_cpu_load 50 write /sys/devices/system/cpu/cpufreq/interactive/up_threshold_any_cpu_freq 1190400 write /sys/devices/system/cpu/cpufreq/interactive/timer_slack 20000 write /sys/module/cpu_boost/parameters/boost_ms 10 write /sys/module/cpu_boost/parameters/sync_threshold 1728000 write /sys/module/cpu_boost/parameters/input_boost_freq 1497600 write /sys/module/cpu_boost/parameters/input_boost_ms 40 write /sys/class/kgsl/kgsl-3d0/devfreq/governor msm-adreno-tz write /dev/cpuctl/apps/cpu.notify_on_migrate 0 write /sys/block/mmcblk0/queue/scheduler row setprop ro.qualcomm.perf.cores_online 2 start mpdecision on property:init.svc.bootanim=running # Switch to NOOP while booting write /sys/block/mmcblk0/queue/scheduler noop # Clear Sony boot splash write /sys/class/graphics/fb0/blank 1 write /sys/class/graphics/fb0/blank 0