T-Mobile Galaxy S6 Battery Woes

I’ve been using a T-Mobile Galaxy S6 since the device launched with T-mobile’s … more

Earthquake Early Warning in Your Pocket

Probably all of us reading this have a smartphone in our pocket. For many of us, the … more

Sony: The OEM You Want To Save

In our recent Discuss article, we asked you readers on which OEM you would like to help. While the … more

How to Lock and Protect Your Apps – XDA Xposed Tuesday

The smartphone revolution has passed. Everybody has mobile apps. Some of … more
Thread Deleted Subscribe to Thread Email Thread
Prev Previous Post   Next Post Next
This is the flo version of my mod for the old nexus 7 here

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 04: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