[KERNEL][MOD][08-03-2012] I/O Boost - Data2SD

Search This thread

TweakerL

Senior Member
Oct 6, 2010
280
364
37
Rosedale, MD
Here are the steps for repacking the boot.img. Some involve running the commands via cygwin, others involve running them via the Windows Command Prompt.

The instructions for installing cygwin, extracting and repacking the boot.img were found here: http://www.freeyourandroid.com/guide/extract-edit-repack-boot-img-windows

Once you have setup cygwin, extract the attached files in a folder under your "home" folder in cygwin.

  1. copy boot.blob to the same folder and run the following via the Windows Command Prompt to extract the boot.img from the boot.blob:

    Code:
    BlobUnpack.exe boot.blob
    ren boot.blob.LNX boot.img
  2. From the cygwin bash terminal window, switch to the same folder and run the following to extract the ramdisk from the boot.img:

    Code:
    ./extractboot boot.img
    You now have an out/ramdisk folder that contains the files you want to edit.
  3. Once done, repack the ramdisk and kernel into boot_new.img with the following command (via cygwin once again):

    Code:
    ./packboot
  4. then from the Command Prompt repack boot_new.img into boot2.blob using the following:

    Code:
    blobpack -s boot2.blob blob.LNX boot_new.img
  5. You can now flash the boot.blob to the staging partition via a command in updater-script:

    Code:
    package_extract_file("/boot.blob", "/dev/block/mmcblk0p4");
    or by using adb while in recovery/android:

    Code:
    dd if=/sdcard/boot2.blob of=/dev/block/mmcblk0p4

Thanks a lot for the info. It worked like a charm. Only one thing to note on step 4 it has to be:
Code:
 blobpack -s boot2.blob LNX boot_new.img
if it says blob.LNX it doesn't flash right.

Anyway, onto some results:
*Drums*

Data mounted to mmcblk0p8 (Internal Storage):
attachment.php

attachment.php

attachment.php


Data mounted to mmcblk1p2 (External SD):
attachment.php

attachment.php

attachment.php


Now, according to androbench there was no significant change in random write speeds, while there was noticeable change on the other two benchmarks for "overall" write speed...

Aside from benchmarks though, during the small time that I've been running with /data on my external SD, downloading things from the market has been much faster (Xcope browser pro didn't even show the size of the download, it started and ended before it had the chance to)... I'm gonna run a restore with TB next and see if I see a noticeable change in the amount of time it takes (about 170 apps). Will report back later with more info.

Also, I'll be attaching the modified kernel soon for anyone who wants to try it (I'm trying to decide where to mount mmcblk0p8 to before I do that otherwise it all just becomes wasted space).

On a side note, it appears that by doing this you could easily have multiple android setups on different SD cards, since after booting with the modified kernel I essentially had AOKP exactly the way it was on first boot... so it might be an interesting thing for anyone with multiple SD Cards...
 

Attachments

  • Screenshot_2012-07-30-11-28-59.jpg
    Screenshot_2012-07-30-11-28-59.jpg
    23 KB · Views: 34,630
  • Screenshot_2012-07-30-11-32-44.jpg
    Screenshot_2012-07-30-11-32-44.jpg
    19.7 KB · Views: 34,673
  • Screenshot_2012-07-30-11-31-23.jpg
    Screenshot_2012-07-30-11-31-23.jpg
    25 KB · Views: 34,387
  • Screenshot_2012-07-30-11-24-09.jpg
    Screenshot_2012-07-30-11-24-09.jpg
    22.1 KB · Views: 34,354
  • Screenshot_2012-07-30-11-17-25.jpg
    Screenshot_2012-07-30-11-17-25.jpg
    19.4 KB · Views: 34,339
  • Screenshot_2012-07-30-11-09-11.jpg
    Screenshot_2012-07-30-11-09-11.jpg
    23.9 KB · Views: 34,413
Last edited:

TweakerL

Senior Member
Oct 6, 2010
280
364
37
Rosedale, MD
Can you run the RL Benchmark from market? It's an Sql benchmark. I'm curious if this speeds up.

Data on External SD:

attachment.php
er

Data on Internal Memory:

attachment.php


Will get screenie from data on internal in a little bit but I think it was 28 seconds last time i tried.
 

Attachments

  • Screenshot_2012-07-30-14-49-20.jpg
    Screenshot_2012-07-30-14-49-20.jpg
    20.8 KB · Views: 34,310
  • Screenshot_2012-07-30-15-11-35.jpg
    Screenshot_2012-07-30-15-11-35.jpg
    21.9 KB · Views: 34,138
Last edited:

whycali

Senior Member
Apr 21, 2010
1,262
290
I wasn't too interested in this as an IO solution because the issue is really not really that noticeable on the Jellybean roms, but as a dual\multi rom booting tool its intriguing for a veteran of 2 HTC HD2s.
 

jiffy1080

Senior Member
Apr 14, 2012
257
65
I'm on a boat
This is extremely promising and may prolong the lifespan of me having this tablet. I'm going to do some testing myself this evening and will report back.

Sent from my Sprint S3...RIP OG Epic 4G
 

TweakerL

Senior Member
Oct 6, 2010
280
364
37
Rosedale, MD
I wasn't too interested in this as an IO solution because the issue is really not really that noticeable on the Jellybean roms, but as a dual\multi rom booting tool its intriguing for a veteran of 2 HTC HD2s.

well remember now that the system partition is still in the internal storage, meaning that you would have "dual" of the same ROM... unless we were to try and mount the system partition to the SD card as welll... though thinking of that... what if... hmmm... what if there's an external sdcard with ubuntu in it... like... hmmm... will have to look into that... because right now, all that i have to do to switch from one kernel to the other which results in booting the "other rom" is a simple terminal command... hmmm... will keep this idea in mind...
 

Parastie

Senior Member
Apr 27, 2010
825
95
Malta
well remember now that the system partition is still in the internal storage, meaning that you would have "dual" of the same ROM... unless we were to try and mount the system partition to the SD card as welll... though thinking of that... what if... hmmm... what if there's an external sdcard with ubuntu in it... like... hmmm... will have to look into that... because right now, all that i have to do to switch from one kernel to the other which results in booting the "other rom" is a simple terminal command... hmmm... will keep this idea in mind...

I believe that's what lilstevie was hinting at with his last Ubuntu update. He's part of the group that gave us NVFLASH, and the possibility of a dual boot bootloader is probably coming from them soon.

This is really good info though, a class 10 card can easily replace the internal memory (from the looks of it) and actually be a little faster. This not only gives us a slight performance boost, but also increases the longevity of the product as a whole. Keep on testing! I only have a class 4 card, and my ancient HTC Desire is using it at the moment. Things go well (and your testing proves good!) then I'm going to get a 64GB Class 10 card. :D
 

TweakerL

Senior Member
Oct 6, 2010
280
364
37
Rosedale, MD
I believe that's what lilstevie was hinting at with his last Ubuntu update. He's part of the group that gave us NVFLASH, and the possibility of a dual boot bootloader is probably coming from them soon.

This is really good info though, a class 10 card can easily replace the internal memory (from the looks of it) and actually be a little faster. This not only gives us a slight performance boost, but also increases the longevity of the product as a whole. Keep on testing! I only have a class 4 card, and my ancient HTC Desire is using it at the moment. Things go well (and your testing proves good!) then I'm going to get a 64GB Class 10 card. :D

Actually, from what I was reading most class 10 microsds have horrible random write speed, like 0.01mb/s ... i just happened to be lucky enough to have a class 10 that has good speed... class 6-10 in general have bad random write speed, so your class 4 might be just fine... try doing some research on the specs for it.

and yea i was talking to lilstevie a little bit on IRC yesterday, he gave me a suggestion or two, as well as rayman... if it wasn't for them i probably wouldn't have this working yet... gonna setup a whole new first post when i get home later today, giving proper credits and info and what not...

only thing i wanna do before i upload the modified kernel is figure the best way to mount the original data partition to something else so it doesn't just sit there wasted.

Next I'm gonna move the cache partition as well, and try to do the whole thing in the motley kernel.
 

dagrim1

Senior Member
Sep 1, 2008
1,710
369
Cheers for the effort, surely want to give it a try!

I now also created a 4GB ext4 partition on my (micro)sd card... No clue what exactly to do now though :p The manual remount still didn't work.
 
Last edited:

whycali

Senior Member
Apr 21, 2010
1,262
290
Based on what I saw in your before and after scores of RL Benchmark, were you already running dagrim1's sql patch?
 

androidxen

Senior Member
Aug 18, 2010
171
48
Actually, from what I was reading most class 10 microsds have horrible random write speed, like 0.01mb/s ... i just happened to be lucky enough to have a class 10 that has good speed... class 6-10 in general have bad random write speed, so your class 4 might be just fine... try doing some research on the specs for it.

I've been lurking a bit, your Samsung MicroSD card is apparently one of the few Class 10s with good random write speeds, and it's definitely a good compromise between random write, sequential, and space.

Sent from my Incredible 2 using xda app-developers app
 

dagrim1

Senior Member
Sep 1, 2008
1,710
369
TweakerL: Could you please explain the steps taken?

1. Create an ext4 partition on the (micro)sd card.
2. Modify the boot.img in order to edit the ramdisk. Meaning init.cardhu.rc in the ramdisk in order to mount /data to /dev/block/mmcblk1p2 instead of /dev/block/mmcblk0p8 (basically change one line?)
3. Repack and flash the boot.img
4. Then run the (modified version of the) script?
 

TweakerL

Senior Member
Oct 6, 2010
280
364
37
Rosedale, MD
TweakerL: Could you please explain the steps taken?

1. Create an ext4 partition on the (micro)sd card.
2. Modify the boot.img in order to edit the ramdisk. Meaning init.cardhu.rc in the ramdisk in order to mount /data to /dev/block/mmcblk1p2 instead of /dev/block/mmcblk0p8 (basically change one line?)
3. Repack and flash the boot.img
4. Then run the (modified version of the) script?

I'm not using that script at all, I originally thought of modifying it, but couldn't figure out how. So basically yes, steps 1-3 and that's it.
 

Turge

Inactive Recognized Developer
Sep 20, 2008
4,789
20,760
Hamilton
venomroms.com
I'm running Team EOS (JB) Nightly and managed to create an extended partition on my Lexar Class 10 SD card and move /data to it but is so painfully slow that it's unusable.

How did you format your card as EXT4 anyways? What command/switches did you use?

EDIT: forget it.. just saw your updated OP. I'm going to try different SD cards. I bought my Sandisk Class 4 for this specific reason (fast random access times) so will give it a shot.
 
Last edited:

TweakerL

Senior Member
Oct 6, 2010
280
364
37
Rosedale, MD
I'm running Team EOS (JB) Nightly and managed to create an extended partition on my Lexar Class 10 SD card and move /data to it but is so painfully slow that it's unusable.

How did you format your card as EXT4 anyways? What command/switches did you use?

I used Gparted to do it... so I have no idea what commands/switches it used XD... but like I was saying some place, not all class 10 SD cards have good random write speeds, in fact, most have pretty bad speeds, at about 0.01mb/s about 25x slower than the internal storage in the Prime :( From the research I did so far, Class 4 SD cards overall have the best random write speeds. I just got really lucky to have a good one (I had no idea what write speed it had when I bought it).

Also, I updated the OP with as much info as I could think of right now. And again, thanks A WHOLE LOT for showing me how to unpack/repack the kernel, I was pretty close to getting it right (didn't have the 2 cygwin binaries included in your zip so I was trying to manually compress it on linux), but I don't think I was gonna be able to get it right without your help.

EDIT - if you can give me links for the 2 SD cards you have, that'd be great then I can add it to the OP that way people can avoid the ones that don't work and go for the ones that do :)
 
Last edited:

jasonfreeland

Senior Member
Aug 6, 2010
60
2
Could we boot off the micro SD slot? I used to do that while trying out new builds on my nook color, but they were all prepared images and not developed by me.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 26
    K, time to give this a proper OP, if anyone wants any of the info that was here before you can look here

    _________________________________________________________________________________________________

    So, the whole idea here started with me reading an article on how part of the whole I/O problem with the transformer is partially caused by the hardware used as internal storage. I wanted to find out if this had any merit and I figured the best way to do it would be to "replace" the internal storage. I did this by mounting the /data partition to the exteral SD (which according to my research, my specific SD Card is better at writing speeds - allegedly the main problem with the transformer's internal storage hardware wise). Then I ran a bunch of benchmarks and have been running it that way for about 24 hours and so far it feels great. Anyone is welcome to give it a try, and hopefully with help, suggestions and feedback from the community, we can all take as much advantage of this idea as possible.

    Before I go any further I want to give credit to those who helped me so far, because without them I would still be completely clueless, and not only have they helped be accomplishing what I got so far, but thanks to them I've also learned a bunch of things I didn't know before. So here it goes:

    Rayman - For suggesting the method for mounting /data to the external SD.
    lilstevie - For helping me get the new kernel flashed right.
    Turge - For showing me how to properly repack the kernel.
    Parastie - For suggesting doing the same thing to /cache (working on that now).
    dagrim1 - For SQL patch and for suggesting a temporary remount (even though it didn't work it was a good thing to try).
    _motley - For all his work on his awesome kernel.
    _________________________________________________________________________________________________

    Updates:

    Update 1 (08-01-2012 File boot-data+cache+internal-AOKP6.1base.zip) :
    Now both /data and /cache are moved to the external SD card. This means you need a third partition mmcblk1p3 in order to use this modification.
    It will also mount the internal storage (previously inaccessible) to /mnt/sdcard_internal
    It also attempts to (fail at this point) to mount the internal sd partition (what used to be /sdcard) to /sdcard/Internal_SD (which is why you will always see that folder get created but stay empty). If anybody knows how to make it work please advise.
    Modified Lines:
    init.cardhu.rc
    Code:
            # TweakerL MOD > original mount = mmcblk0p8 /data | mmcblk0p3 /cache 
            mount ext4 /dev/block/mmcblk1p2 /data wait noatime nodiratime nosuid nodev nodelalloc,errors=panic
            mount ext4 /dev/block/mmcblk1p3 /cache wait noatime nodiratime nosuid nodev nodelalloc,errors=panic
    	# TweakerL MOD > added mounts for internal storage
    	mkdir /mnt/sdcard_internal 0000 system system
    	mount ext4 /dev/block/mmcblk0p8 /mnt/sdcard_internal wait noatime nodiratime nosuid nodev nodelalloc,errors=panic
    	# TweakerL MOD > give access to internal SD from /sdcard
    	mkdir /data/media/Internal_SD 0755 media_rw media_rw	
    	mount /mnt/sdcard_internal/media /data/media/Internal_SD wait noatime nodiratime nosuid nodev nodelalloc,errors=panic

    Update 2 (08-01-2012 About backing up/restoring in recovery) : - READ UPDATE 5
    One thing that worried me was that by using this mod people wouldn't be able to backup their data partition properly, but now I know that it's possible to do it. It will only work on TWRP though since it has basic terminal access and keyboard. To do it, go into Advanced > Terminal and in there type:

    umount /dev/block/mmcblk0p8
    mount /dev/block/mmcblk1p2 /data

    And until you reboot, any backup/restore should use the external SD data partition instead of the internal. The same should be doable with the cache partition in case you want to backup/restore that.

    Update 3 (08-02-2012 File flashme-kernel-motley305-aokp-data+cache2SD.zip) :

    Put together a flashable zip that will install motley's 3.0.5 aokp kernel using this mod. Works like a charm so far though I only tried flashing on TWRP. Also, internal storage can be accessed in /data2 and internal sd can be accessed in /sdcardi . Current changes are as follow:

    Code:
            # TweakerL MOD > move /data and /cache to external SD card || original mount = mmcblk0p8 /data | mmcblk0p3 /cache 
            mount ext4 /dev/block/mmcblk1p2 /data wait noatime nodiratime nosuid nodev nodelalloc,errors=panic
            mount ext4 /dev/block/mmcblk1p3 /cache wait noatime nodiratime nosuid nodev nodelalloc,errors=panic
    	# TweakerL MOD > create mount for internal storage
    	mkdir /data2 0000 system system
    	mount ext4 /dev/block/mmcblk0p8 /data2 wait noatime nodiratime nosuid nodev nodelalloc,errors=panic
    	# TweakerL MOD > symlink internal sd to a couple of easily accessible locations
    	symlink /data2/media /mnt/sdcard_internal
    	symlink /data2/media /sdcardi

    Update 4 (08-03-2012 File boot-cm10-unofficial-data+internal.zip) :

    Running the unofficial CM10 (no cherrypicks one) using this mod and so far it's pretty amazing. The rom itself is pretty stable and even snappier with /data mounted to external SD. Benchmarks are at the bottom. Current modifications:

    fstab.cardhu:
    Code:
    #TweakerL MOD > Move /data to external SD and internal /data to /data2
    /dev/block/mmcblk1p2           /data               ext4      rw,nosuid,nodev,noatime,user_xattr,acl,barrier=1,journal_async_commit,nodelalloc,data=writeback    wait
    /dev/block/mmcblk0p8           /data2              ext4      rw,nosuid,nodev,noatime,user_xattr,acl,barrier=1,journal_async_commit,nodelalloc,data=writeback    wait

    init.cardhu.rc:
    Code:
            # TweakerL MOD > create mount for internal storage
    	mkdir /data2 0000 system system
            mount_all /fstab.cardhu
    	# TweakerL MOD > symlink internal sd to a couple of easily accessible locations
    	symlink /data2/media /mnt/sdcard_internal
    	symlink /data2/media /sdcardi

    Update 5 (08-03-2012 About backing up/restoring in recovery) :
    So after doing some tests, and paying more attention to TWRP, I noticed something rather useful:
    When you have this mod enabled, or whenever you have a mmcblk1p2 partiion, TWRP will have the sd-ext menu enabled. This means that to backup your data you can simply backup the sd-ext partition and to restore your data you can simply restore your sd-ext partition. No need to worry about manually switching the mount point for /data in recovery. I guess it was a whole lot easier than I thought.

    Also congratulations and thanks to everyone who has contributed with this so far.

    WE MADE IT TO FRONT PAGE ON XDA (08-03-2012)
    _________________________________________________________________________________________________

    Requirements:

    There are a few things you will need to do in order for this to work right for you, and a couple of things you'll have to research before you even try it.

    #1. Obviously, you have to be rooted/unlocked because you're not gonna be able to change much around otherwise.

    #2. You MUST repartition your external SD. The kernel I've put together so far WILL ONLY mount /data to mmcblk1p2, which basically says "mount /data to the second partition in the external SD." also, the ramdisk expects that partition to be ext4, so essentially:
    Make sure you have an external SD with at least two partitions and that the second partition is formatted to ext4. I personally use Gparted to repartition my stuff, but feel free to use whatever rocks your boat. Even if you're on windows you can still use gparted by using virtualbox, so I'm not gonna go look for a different windows solution.

    #3. This is the research part... This will be beneficial or detrimental to each user depending on the SD card used. If you have a slow SD card this probably will do you no good. However, just because you have a class 10 SD card, that doesn't mean it will benefit you either. On my own research I have found that some class 6-10 SD Cards have extremely slow random write speeds, so if you happen to have one of those, even if it's a class 10, this might not be for you. This means that you're gonna have to do some research to find out if your SD Card will benefit you or not. You can always just give it a try, as far as I know this is entirely reversible, how easy or hard being just a matter of how bad you mess up on meeting the requirements and following the instructions.

    #4. At this point (07-30-2012) I'm doing all this stuff using the AOKP milestone 6.1 kernel as base for my modified kernel, so if you're not using AOKP milestone 6.1, flashing my kernel might borke your system. You've been warned, feel free to proceed otherwise at your own peril.
    _____________________________________________________________________________________________________________

    Installation:

    #1. Download attached file (boot-data2SD-AOKP6.1base.zip) and extract it to the root of your internal storage (/sdcard).

    #2. Open a terminal.

    #3. Type the following:
    Code:
    su
    dd if=/sdcard/boot.blob of=dev/block/mmcblk0p4 bs=1

    #4. Wait for it to complete.

    #5. Reboot.

    Upon rebooting you will know that it worked because it will look just as if you just flashed a new rom, that is, you'll get the device setup screen (assuming that the tablet booted at all lol). If you're planning to use TB to restore your apps, you'll probably want to copy the TB folder to your external SD's first partition so that you can copy it back once you're done with the device setup (at this point you will have no access - unless you manually mount it - to your internal storage).
    _______________________________________________________________________________________

    Reverting:

    Follow the same exact steps for installation but use boot-default-AOKP6.1.zip instead.
    _______________________________________________________________________________________

    Optional:

    #1. If you want to have access to everything you had on your data partition in the new data partition, you'll have to clone everything from one to the other. To do this, make sure that your new data partition (the one in your external SD) has enough storage space to fit everything you currently have in your data partition (the one in your internal storage). Then run the following command in your terminal.

    Code:
    dd if=dev/block/mmcblk0p8 of=dev/block/mmcblk1p2 bs=4096 conv=notrunc,noerror

    BEWARE that if you have a lot of stuff this can take quite a while and even though I've read a way of getting the progress for this in Linux I'm not sure that you can check the progress on Android.
    _______________________________________________________________________________________

    Next steps in development:

    #1. Move /cache as well.
    #2. Find out what happens with recovery backups when the partitions are changed.
    #3. Attempt to apply mod to motley's kernel.
    #4. Create a script that is run on boot to eliminate need for replacing the kernel.
    #5. With help from the community, find the best SD Card for this.
    #6. Run the modified system for a while to have a good feel for performance benefits
    #7. Come up with other interesting uses for this other than getting better I/O (maybe an easy - kinda easy - way to dual boot with ubuntu, maybe other stuff, dunno).
    _______________________________________________________________________________________

    How can I set my kernel to do this?

    I didn't do a whole lot, and it's not like I want it to be a secret, so as I modify things I'll try to keep the steps listed here so that anyone modifying their own kernel who would like to try this modification can go ahead and do it.

    You'll need to know how to unpack/repack a kernel. Turge has a SUPER EASY explanation here on how to do it on windows (I'll pack together the necessary binaries for linux later, maybe).

    Mount /data to the second partition in your external SD (formatted as ext4 filesystem):
    After unpacking the kernel navigate to the folder that has the ramdisk and open it
    (DON'T USE ANY ASCII BASED TEXT EDITOR BECAUSE IT WILL PROBABLY MESS THINGS UP I USE NOTEPAD++)
    Around line 26 change:
    Code:
    mount ext4 /dev/block/mmcblk0p8 /data wait noatime nodiratime nosuid nodev nodelalloc,errors=panic
    to
    Code:
    mount ext4 /dev/block/mmcblk1p2 /data wait noatime nodiratime nosuid nodev nodelalloc,errors=panic
    _______________________________________________________________________________________________________

    SD Cards tested:

    Samsung 32GB Class 10 MicroSDHC High Speed Memory Card - Very Good Results

    SanDisk® microSDHCTM 8GB Memory Card - Very Good Results
    "Either way, with this mod, the tablet feels like it should have right from the start. It's speedy and responsive, and apps being installed don't stall the system." - Turge - Post #59
    _______________________________________________________________________________________________________

    Benchmarks:

    /data mounted to mmcblk0p8 (Internal Storage):

    attachment.php

    attachment.php

    attachment.php

    attachment.php


    /data mounted to mmcblk1p2 (External SD):

    attachment.php

    attachment.php

    attachment.php

    attachment.php


    RL Benchmark WITHOUT dagrim1's sql patch as per request:

    /data mounted to mmcblk0p8 (Internal Storage):
    attachment.php


    /data mounted to mmcblk1p2 (External SD):
    attachment.php


    *Important thing to note: When running the benchmark with data in the internal SD it was about 220 seconds in the first run, then about 180, then about 130 and finally 118; whereas running it from the external SD was consistenly between 63 and 65 seconds every time. I think this more than proves that A) Asus used a cheap I/O storage, B) No matter what software changes are made, more than likely running the rw partitions from a better I/O storage, i.e. an external SD is a good idea.

    As promised here are benchmarks on a JB rom (Unofficial CM10). Also sorry it took me a while to get these, I was going to use eos3 but I started getting random reboots. Then I decided to try cm10, and I messed up a flash and had to redo a bunch of things. Anyway, the only change here is the mod itself (no custom kernel or anything). Though one thing to note is that I moved /cache back to the internal partition after some thought that this allows /data and /cache to be written at the same time to different locations thus lowering the bottleneck.

    /data mounted to mmcblk0p8 (internal storage):
    attachment.php


    /data mounted to mmcblk1p2 (external storage):
    attachment.php


    Now, as you can see, JB did bring a major improvement to I/O, bringing the benchmark down from about 115sec to 68 (almost reaching the modded ICS at 60 seconds). But as I expected, better software works better on better hardware and now the modded JB is running at 50 seconds instead of 60. Next I'm going to put dagrim1's sql patch and see how low the benchmark goes. Also will be posting the modded blob in just a little bit for anyone who wants to use it on CM10.
    5
    I'm using External SD with data2sd and ext4 partition.



    To Disable Journaling in EXT4

    Go into TWRP and then open a command prompt on your computer where adb is.
    Type adb shell and enter it then type the following commands one at a time.

    umount /data
    umount /sdcard
    e2fsck -f /dev/block/mmcblk1p2
    tune2fs -O ^has_journal -c 1 -i 1d -m 0 /dev/block/mmcblk1p2
    e2fsck -f /dev/block/mmcblk1p2

    Watch out for the fourth line, after tune2fs - that is a capital O not a zero. The one further along the line is a zero.

    To check if it has worked type the follwing after them

    tune2fs -l /dev/block/mmcblk1p2 | grep features

    If you don't see has_journal in the output all is good.
    3
    Here's a modified boot.blob from EOS nightly 35.

    The only changes are in /fstab.cardhu:

    • mounts 2nd partition of SD card to /data
    • mount old data (/dev/block/mmcblk0p8) as /data1

    Code:
    /dev/block/mmcblk1p2        /data               ext4      noatime,nosuid,nodev,nomblk_io_submit,errors=panic    wait,encryptable=footer
    /dev/block/mmcblk0p8        /data1              ext4      noatime,nosuid,nodev,nomblk_io_submit,errors=panic    wait,encryptable=footer

    and /init.rc:
    Code:
    mkdir /data1 0771 system system
    3
    I've repacked the boot.img for the Prime before to add init.d support so I'll post my method and the files needed in a few minutes once I get to work. It'll involve getting cygwin installed (with Perl support I believe) if you're on Windows.

    Here are the steps for repacking the boot.img. Some involve running the commands via cygwin, others involve running them via the Windows Command Prompt.

    The instructions for installing cygwin, extracting and repacking the boot.img were found here: http://www.freeyourandroid.com/guide/extract-edit-repack-boot-img-windows

    Once you have setup cygwin, extract the attached files in a folder under your "home" folder in cygwin.

    1. copy boot.blob to the same folder and run the following via the Windows Command Prompt to extract the boot.img from the boot.blob:

      Code:
      BlobUnpack.exe boot.blob
      ren boot.blob.LNX boot.img
    2. From the cygwin bash terminal window, switch to the same folder and run the following to extract the ramdisk from the boot.img:

      Code:
      ./extractboot boot.img
      You now have an out/ramdisk folder that contains the files you want to edit.
    3. Once done, repack the ramdisk and kernel into boot_new.img with the following command (via cygwin once again):

      Code:
      ./packboot
    4. then from the Command Prompt repack boot_new.img into boot2.blob using the following:

      Code:
      blobpack -s boot2.blob LNX boot_new.img
    5. You can now flash the boot.blob to the staging partition via a command in updater-script:

      Code:
      package_extract_file("/boot.blob", "/dev/block/mmcblk0p4");
      or by using adb while in recovery/android:

      Code:
      dd if=/sdcard/boot2.blob of=/dev/block/mmcblk0p4
    3
    Hi all. Attached is a boot.blob for Data2SD on Hairybean 1.2. Flash via fastboot.

    (This is actually a blob, not an img - XDA won't accept a .blob file, so I renamed it to attach to this post. It shouldn't matter what it's called for flashing purposes though)