Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Thread Deleted

[MOD][ANY][Mitsuyoshi EXT4 Mod][flo]

OP jubei_mitsuyoshi

Prev Previous Post   Next Post Next
5th March 2014, 12:54 PM   |  #1  
OP Member
Thanks Meter: 71
50 posts
Join Date:Joined: Mar 2013
This is the flo version of my mod for the old nexus 7 here http://forum.xda-developers.com/show....php?t=2280496

Repeating the intro to save you guys going there


With any linux system i build first thing i do is remove the journal from all my EXT4 partitions, to make a long story short ( i wont bore you with details of just how journal writes totally slow disk i/o , google it ) this gave me on average a 25% increase in system speed ( obviously due to the increased i/o rate )

I usually did it with

mke2fs.ext4 -O ^has_journal ...device...
before installing the distro, now i thought hey maybe this would work on android?

Now mke2fs is not well supported on arm but tune2fs is! in fact its included in TWRP 2.5 so

run_program("/sbin/tune2fs", "-O", "^has_journal", "/dev/block/platform/msm_sdcc.1/by-name/system");
( for the system partition) should work right , and in fact yes it does !!!, tried it from TWRP command line and hey presto %^$%^$^%$ FAST system

This is the code for a recovery script version

ui_print("jubei.....remove journals from all ext4 partitions");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/boot       /boot       emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/recovery   /recovery   emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/misc       /misc       emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/system     /system     ext4");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/userdata   /data       ext4");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/cache      /cache      ext4");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/sbl1       /sbl1       emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/sbl2       /sbl2       emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/sbl3       /sbl3       emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/tz         /tz         emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/rpm        /rpm        emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/aboot      /aboot      emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/sbl2b      /sbl2b      emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/sbl3b      /sbl3b      emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/tzb        /tzb        emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/rpmb       /rpmb       emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/abootb     /abootb     emmc");
ifelse(is_mounted("/system") == "/system", unmount("/system"));
ifelse(is_mounted("/cache") == "/cache", unmount("/cache"));
ifelse(is_mounted("/data") == "/data", unmount("/data"));
ui_print("converting partitions to ext4 minus journal");
ui_print(" ");
ui_print("e2fsck system partition");
ui_print(" ");
run_program("/sbin/e2fsck", "-p", "/dev/block/platform/msm_sdcc.1/by-name/system");
ui_print("e2fsck data partition");
ui_print(" ");
run_program("/sbin/e2fsck", "-p", "/dev/block/platform/msm_sdcc.1/by-name/userdata");
ui_print("e2fsck cache partition");
ui_print(" ");
run_program("/sbin/e2fsck", "-p", "/dev/block/platform/msm_sdcc.1/by-name/cache");
ui_print("now lets rub out those nasty journals");
ui_print(" ");
run_program("/sbin/tune2fs", "-O", "^has_journal", "/dev/block/platform/msm_sdcc.1/by-name/userdata");
run_program("/sbin/tune2fs", "-O", "^has_journal", "/dev/block/platform/msm_sdcc.1/by-name/system");
run_program("/sbin/tune2fs", "-O", "^has_journal", "/dev/block/platform/msm_sdcc.1/by-name/cache");
ui_print("and re-fsck to clean any set bits");
ui_print(" ");
ui_print("e2fsck system partition");
ui_print(" ");
run_program("/sbin/e2fsck", "-p", "/dev/block/platform/msm_sdcc.1/by-name/system");
ui_print("e2fsck cache partition");
ui_print(" ");
run_program("/sbin/e2fsck", "-p", "/dev/block/platform/msm_sdcc.1/by-name/userdata");
ui_print("e2fsck cache partition");
ui_print(" ");
run_program("/sbin/e2fsck", "-p", "/dev/block/platform/msm_sdcc.1/by-name/cache");
ui_print("end of jubei mod ");
And i include a zip for those who like to test

there are 2 scripts, one to remove the journal from your ext4 partitions, and one to re-instate the journal, this should allow people to test their setup with each without any wiping or reformatting

( tested with TWRP 2.5+ only )
Flash the bugger
DO NOT WIPE ANYTHING, after flashing, doing so will only reformat the wiped partition with a journal

There will be one update that includes a test routine to ensure journals have been erased
I am now able to extend the mod to any device that uses twrp 2.5+ and ext4, plese ask for a particular device on this thread
Thank you
Edit Please note non flo versions are not tested by me.
Edit mako version added after request
Edit hammerhead version added after request
Last edited by jubei_mitsuyoshi; 8th March 2014 at 05:28 PM.
The Following 9 Users Say Thank You to jubei_mitsuyoshi For This Useful Post: [ View ]
Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes