• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root Init clean up

D

Deleted User

Guest
Hey guys got a file here from /etc/init.zetaw.post_boot.sh; i removed all the garbage and tried to not have sloppy scripting. I've # some of the experimental lines, and forced the NSRM LG Korea fix to our msm8226.
Code:
#!/system/bin/sh
# Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above copyright
#       notice, this list of conditions and the following disclaimer in the
#       documentation and/or other materials provided with the distribution.
#     * Neither the name of The Linux Foundation nor
#       the names of its contributors may be used to endorse or promote
#       products derived from this software without specific prior written
#       permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

target=`getprop ro.board.platform`
case "$target" in
    "msm8226")

        echo 2 > /sys/module/lpm_resources/enable_low_power/l2
        soc_revision=`cat /sys/devices/soc0/revision`
        if [ "$soc_revision" != "1.0" ]; then
                echo 1 > /sys/module/lpm_resources/enable_low_power/pxo
        fi
        echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled
        echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled
        echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled
        echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled
        echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled
        #echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled
        #echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled
        #echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled
        echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled
        echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled
        echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled
        echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled
        echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled
        echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled
        echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled
        echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled
        #echo 0 > /sys/module/msm_thermal/core_control/enabled
        echo 1 > /sys/devices/system/cpu/cpu1/online
        echo 1 > /sys/devices/system/cpu/cpu2/online
        echo 1 > /sys/devices/system/cpu/cpu3/online
        echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
        #echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
        #echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
        #echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
        echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
        echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
        echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
        echo 2 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
        echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential
        echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core
        echo 3 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core
        echo 300000 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq
        echo 300000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq
        #echo 998400 > /sys/devices/system/cpu/cpufreq/ondemand/input_boost
        echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load
        echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
        #echo 300000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
        #echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq
        #echo 300000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq
        chown -h system /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
        chown -h system /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
        chown -h system /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
        chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
        chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
        #chown -h system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
        #chown -h system /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
        #chown -h system /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
        #chown -h system /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq
        #chown -h system /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq
        #chown -h system /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq
        #echo 1 > /sys/module/msm_thermal/core_control/enabled
        chown -h root.system /sys/devices/system/cpu/cpu1/online
        chown -h root.system /sys/devices/system/cpu/cpu2/online
        chown -h root.system /sys/devices/system/cpu/cpu3/online
        chmod -h 664 /sys/devices/system/cpu/cpu1/online
        chmod -h 664 /sys/devices/system/cpu/cpu2/online
        chmod -h 664 /sys/devices/system/cpu/cpu3/online
        #echo 1 > /dev/cpuctl/apps/cpu.notify_on_migrate
        chown -h system /sys/devices/platform/rs300000a7.65536/force_sync
        chown -h system /sys/devices/platform/rs300000a7.65536/sync_sts
        chown -h system /sys/devices/platform/rs300100a7.65536/force_sync
        chown -h system /sys/devices/platform/rs300100a7.65536/sync_sts
                # chown -h media /sys/class/gpio/gpio253/value
                # chown -h media /sys/class/gpio/gpio254/value
                 #chown -h media /sys/class/gpio/gpio257/value
                 #chown -h media /sys/class/gpio/gpio258/value
                #chown -h media /sys/class/gpio/gpio259/value
                 #chown -h media /sys/class/gpio/gpio253/direction
                 #chown -h media /sys/class/gpio/gpio254/direction
                 #chown -h media /sys/class/gpio/gpio257/direction
                #chown -h media /sys/class/gpio/gpio258/direction
                 #chown -h media /sys/class/gpio/gpio259/direction
    ;;
esac

targetProd=`getprop ro.product.name`
case "$targetProd" in
    "x5_spr_us")
    targetPath=`getprop lg.data.nsrm.policypath`
    if [ -s $targetPath ]; then
    mkdir /data/connectivity/
    chown system.system /data/connectivity/
    chmod 775 /data/connectivity/
    mkdir /data/connectivity/nsrm/
    chown system.system /data/connectivity/nsrm/
    chmod 775 /data/connectivity/nsrm/
    cp /system/etc/cne/NsrmConfiguration.xml /data/connectivity/nsrm/
    chown system.system /data/connectivity/nsrm/NsrmConfiguration.xml
    chmod 775 /data/connectivity/nsrm/NsrmConfiguration.xml
    fi
    ;;
esac
# Post-setup services
case "$target" in
    "msm8226")
  #rm /data/system/default_values
        start mpdecision

#https://wiki.debian.org/SSDOptimization

#loop=`ls -d /sys/block/loop*`;
#ram=`ls -d /sys/block/ram*`;
#mmc=`ls -d /sys/block/mmc*`;
#for j in $loop $ram $mmc
#do
#echo 0 > $j/queue/rotational;
#echo 512 > $j/queue/read_ahead_kb;
#done
#echo 1 > /proc/sys/vm/swappiness
#echo deadline > /sys/block/mmcblk0/queue/scheduler
#echo deadline > /sys/block/mmcblk1/queue/scheduler
#setprop ro.debuggable=1
#setprop persist.service.adb.enable=1
#setprop wifi.supplicant_scan_interval=60
#wm density 200
#wm lets you choose DPI

#Experimental - May cause bootloops
#echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb
#echo 512 > /sys/devices/virtual/bdi/default/read_ahead_kb
#start qosmgrd
#echo 0,1,2,4,9,12 > /sys/module/lowmemorykiller/parameters/adj
#echo 5120 > /proc/sys/vm/min_free_kbytes
#echo 25000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
#echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled
#echo 1 > /sys/module/msm_pm/modes/cpu1/retention/idle_enabled
#echo 1 > /sys/module/msm_pm/modes/cpu2/retention/idle_enabled
#echo 1 > /sys/module/msm_pm/modes/cpu3/retention/idle_enabled
#echo 1 > /sys/module/lpm_resources/enable_low_power/vdd_dig
#echo 1 > /sys/module/lpm_resources/enable_low_power/vdd_mem
    ;;
esac
 
Last edited by a moderator:
It should work with any rom that was built with lg's zetaw scripts so yes cm11 zv6. currently i set it to default config except for the NSRM. You can re-enable things as you like i had it not bootlooping(it doesnt bootloop but will randomly reboot) with most things enable but one of the settings may make it wonky. For example, if your on Curtis's zv6 enabling the line to change dpi(can call wm from term) at boot will mess his keyboard up. Also, i dont think our phone like the clock settings changed. The NSRM is on our phone by default; however, for certain chipsets LG had this script to also make a copy on our data partition. Our phone does this for many files actually off the top of my head it does it for our wifi config file wcnss or w/e. I simply forced it to ours for peace of mind since lg may or may not be calling the file in that location. Moreover, most of the # comments are from the original script from qualcoms top tier cpu's that lg had setting for. i was testing there settings on our cpu to see if it may help with performance or maybe overclock. In the end, i added debian tweaks # them out and called it final.

dont run this
echo c > /proc/sysrq-trigger
 
Last edited by a moderator:
Upvote 0
What is this NSRM LG Korea fix ?
Here is an explanation of what NSRM is (from link above)
NSRM.jpg
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones