[REF] Startup script speed tweaks

Search This thread

hardcore

Senior Member
Sep 12, 2006
3,435
7,992
Hi hardcore,
I've got a question.
I followed the steps in the first post.
As far as I can see everything is set up as you described.
With Root Explorer I've checked whether userinit.sh was in data,
and it is.
What I don't know though,
do I have to go trough the steps in this post as well?
http://xdaforums.com/showthread.php?t=819580
I suppose that topic is part of the startup script you posted here..
because I see similar code.
Or does the [HOWTO] Optimal ext4 mount options tutorial give other advantages when combined with this tutorial?
I've made it to the step
* Repeat the above for all other ext4 partitions.
As I am not really sure how to apply to the other partitions..

hope you can help me.
Startup scripts r a bit tricky if the kernel doesn't support it. I suggest u check out my speedmod kernel which already has these tweaks and also startup script support.
 

Jip-Hop

Senior Member
Nov 13, 2010
103
32
31
Amsterdam
Oohw,
I've been using your kernel all the time!
Like it very much, so thanks for the great kernel :)
But as I was already using your kernel with al the tweaks enabled,
trying to set up the startup script was double work?
I'd like to make the phone as fast as possible.
Thanks for your response.

Jip
 

DPSK

Senior Member
Nov 27, 2010
128
2
i need to undo lagfix if i want to revert to stock firmware.

do i need to revert back the tweaks as well? are the tweaks safe to enable? will it cause data corruption?
 

ragepekr

Member
Dec 6, 2010
11
17
great job!!
can you tell me how do i check it works properly on my phone?
i'm not good english...sorry..
 

MildWildChild

Member
Dec 15, 2010
27
0
damn, just dunt get it, i'm a noob, i got stucked at the setting n' script
stuff, have no idea what to do, could anyone explains more, i got confused
about the term like 'adb', 'su' bla bla...

thanx in advance, for someone offering help
 

fabricioemmerick

Senior Member
Feb 25, 2011
75
10
NY
Probleming with Moving Apps to SD Card on GB 2.3.3.

In Coby Kyros MID7015

it's because the sdcard is supposed to be mounted as mnt\sdcard... not as mnt\sdcard\tflash... thats the whole deal... and the only way to do this, is changing the init.d files and rebuild boot.img... ;p


Anyone who understands programming could make a script to solve this problem? I would be very grateful. The function only works when moving applications will explore the root and the root change the permission for R / W. thanks
 

dhruvbatra205

Senior Member
Oct 10, 2011
137
18
Hong Kong
I want to make a basic zip file instead pushing files using adb
The zip will copy the two files userinit.sh and playgos1 in the sd card
Then it will copy a bash file which has the code
#!/system/bin/sh
busybox mount -o remount,rw /system;
busybox cp /sdcard/userinit.sh /data/userinit.sh;
busybox mv /system/bin/playlogos1 /system/bin/playlogosnow;
busybox cp /sdcard/playlogos1 /system/bin/playlogos1;

chmod 755 /system/bin/playlogos1;
chmod 755 /data/userinit.sh;
But this doesn't work.
Can anyone help?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 19
    Hi guys,

    UPDATE: Over time, I've modified some of these values in my SpeedMod kernel. The values here may not be the best ones.

    NOTE: These tweaks are now included in kernels based on sztupy's Universal Lagfix, for example:
    http://xdaforums.com/showthread.php?t=822756
    But they must be manually activated from the recovery menu.

    I've been using Linux kernel tweaks in a startup script to make the phone smoother.

    With these tweaks, the phone is quite smooth and fast even without using the filesystem lagfixes.

    These settings are only useful for you if you know how to create and modify a startup script. I use the old playlogos hack myself, but I'm sure there are many new ways to do it now.

    Code:
    # Tweak cfq io scheduler
    for i in $(ls -1 /sys/block/stl*) $(ls -1 /sys/block/mmc*) $(ls -1 /sys/block/bml*) $(ls -1 /sys/block/tfsr*)
    do echo "0" > $i/queue/rotational
    echo "1" > $i/queue/iosched/low_latency
    echo "1" > $i/queue/iosched/back_seek_penalty
    echo "1000000000" > $i/queue/iosched/back_seek_max
    echo "3" > $i/queue/iosched/slice_idle
    done
    # Remount all partitions with noatime
    for k in $(busybox mount | grep relatime | cut -d " " -f3)
    do
    sync
    busybox mount -o remount,noatime $k
    done
    
    # Tweak kernel VM management
    echo "0" > /proc/sys/vm/swappiness
    #echo "10" > /proc/sys/vm/dirty_ratio
    #echo "4096" > /proc/sys/vm/min_free_kbytes
    
    # Tweak kernel scheduler, less aggressive settings
    echo "18000000" > /proc/sys/kernel/sched_latency_ns
    echo "3000000" > /proc/sys/kernel/sched_wakeup_granularity_ns
    echo "1500000" > /proc/sys/kernel/sched_min_granularity_ns
    
    # Misc tweaks for battery life
    echo "2000" > /proc/sys/vm/dirty_writeback_centisecs
    echo "1000" > /proc/sys/vm/dirty_expire_centisecs
    EDIT: Explanations:

    # Remount all partitions with noatime
    atime is a setting where the filesystem updates the access time of a file. This creates a write-after-every-read which slows things down. By default all partitions are mounted with relatime, which is an optimized version of atime. noatime is the fastest, and afaik we don't need atime.

    # Tweak cfq io scheduler
    Tweaked settings of the disk io scheduler more for flash memory. Defaults are optimized for spinning harddisks. Lowered the idle wait, re-enable the low latency mode of cfq, removed the penalty for back-seeks and explicitly tell the kernel the storage is not a spinning disk.

    # Tweak kernel VM management
    Set tendency of kernel to swap to minimum, since we don't use swap anyway.
    Lower the amount of unwritten write cache to reduce lags when a huge write is required.
    Increase tendency of kernel to keep block-cache to help with slower RFS filesystem.
    Increase minimum free memory, in theory this should make the kernel less likely to suddenly run out of memory.

    # Tweak kernel scheduler
    Make the task scheduler more 'fair' when multiple tasks are running. This has a huge effect on UI and App responsiveness. These values (less aggressive settings) are 20% of the Linux defaults, and about half of the Android defaults.

    # Miscellaneous tweaks
    Increase the write flush timeouts to save some battery life.

    ___________________________________

    EDIT: How to create/use a startup script:

    You need root and busybox for this.

    This procedure is adapted from the old OCLF which used this method to create a startup script in /system/userinit.sh

    Check if the file /system/userinit.sh exists. If it does, u should just edit that file as the startup script and DO NOT do the procedure below.

    Here's how to do it manually. Do this only if some other lagfix/patch has not already done the playlogos hack, otherwise u might overwrite the other script!

    Create the startup script on your PC. Use adb to push it to /sdcard/userinit.sh

    adb push userinit.sh /sdcard/userinit.sh

    On your PC, create a file called playlogos1 with this content:

    #!/system/bin/sh
    sh /data/userinit.sh
    playlogosnow

    Use adb to push the playlogos1 file to /sdcard/playlogos1

    adb push playlogos1 /sdcard/playlogos1

    Now use adb shell, su and do this:

    busybox mount -o remount,rw /system;
    busybox cp /sdcard/userinit.sh /data/userinit.sh;
    busybox mv /system/bin/playlogos1 /system/bin/playlogosnow;
    busybox cp /sdcard/playlogos1 /system/bin/playlogos1;

    chmod 755 /system/bin/playlogos1;
    chmod 755 /data/userinit.sh;

    The startup script will be /data/userinit.sh

    The reason I put the startup script in /data is so that if you mess up the startup script and get stuck during boot, you can do a "clear data" from recovery, and the startup script will be erased.
    2
    Hi hardcore,
    I've got a question.
    I followed the steps in the first post.
    As far as I can see everything is set up as you described.
    With Root Explorer I've checked whether userinit.sh was in data,
    and it is.
    What I don't know though,
    do I have to go trough the steps in this post as well?
    http://xdaforums.com/showthread.php?t=819580
    I suppose that topic is part of the startup script you posted here..
    because I see similar code.
    Or does the [HOWTO] Optimal ext4 mount options tutorial give other advantages when combined with this tutorial?
    I've made it to the step
    * Repeat the above for all other ext4 partitions.
    As I am not really sure how to apply to the other partitions..

    hope you can help me.
    Startup scripts r a bit tricky if the kernel doesn't support it. I suggest u check out my speedmod kernel which already has these tweaks and also startup script support.
    1
    you could make a script/app for this so everyone else can try it ?

    +1, pretty plz, also, is this compatible with voodoo?
    1
    Hello :)

    Values description for each one and why is welcome ;)
    1
    Nice, could these be modified post-startup? like I go adb and copy paste some of them for testing?

    I've tested setprop windowsmgr.max_events_per_sec 68, no difference. Set it to
    setprop windowsmgr.max_events_per_sec 10 and still, no difference.

    The aosp windowmanager (android framework) ignores values <35. (Samsung could have changed something here, but that is very unlikely).

    That value does not affect the framerate, but how many touch events are reported to the apps; this saves some cpu if the user keeps touching the screen.