This thread serves as a guide to install both firerats and data2ext mods on a single rom and have them work simultaneously.
I do not take any credit for the creation of any files mentioned or attached, nor methods for the installation of each individual mod, nor roms, gapps, or otherwise mentioned content. All credit goes to those who created each mod, rom, gapps, and the methods for installing each individually. I only claim responsibility for my own research and the order and hierarchy of steps below that combine these incredible feats of development into a working system of internal storage expansion and space management.
Even though it is impossible to brick your phone using the guide below, I am not responsible if you break your device, because you have willfully chosen on your own to void your warranty by rooting your phone and installing the mods mentioned below.
To make firerats work with data2ext simultaneously, follow these over-detailed instructions EXACTLY. This is written so that anyone who has never held a smartphone in their lives can understand and do this right the first time, so those of you that know what you're doing, sorry about the length, but it should be pretty easy for you.
Note: I've uploaded some pertinent files from the following steps and added all links to all files needed so you don't have to go find them yourself. I did not include any roms, gapps, or the freespace app from the Play Store(just download from your phone, or from the link in step 6d). Links for all necessary files are in their respective steps below. The only links to a rom or gapps are for ICS. Otherwise you'll have to find and use your own downloaded roms and the correct gapps for your rom. If you would rather use the links below to download the files instead of using the ones I provided, be my guest.
I've updated this guide to make installation much easier and work with Sense roms!
Now on to the good stuff!!
Steps 1 through 7a are written for you to collect the files necessary, and to prepare your phone, sd card, and recovery for the correct method of installation of the collected files.
Steps 8 through 10 are to install the mods.
Preparation
1. Be sure to start from scratch!!! This means an UNPARTITIONED, FULLY WIPED sd card, fully wiped and rooted phone, and fully wiped recovery. Fresh file downloads for roms, gapps, and other mods you like wouldn't hurt either. If your phone is not rooted, go here, it's the best and easiest root method I've found.
1a. If you already have a partitioned sd card, insert it into your computer via a microsd adapter or other means(you cannot use your phone for this; it will not recognize that it's partitioned), delete the partitions and wipe the card using partition management software on your computer. I recommend EASEUS Partition Manager 9.1.1 Home Edition(Windows users only). If you use this program, after you delete partitions on your sd card, you will be left with unallocated space. Create a partition that takes up the entire unallocated space and set it as a Primary and FAT32 file system(remember, only do this to your sd card, NOT THE C: DRIVE!!!!).
2. Boot to recovery(hold down home, press and release power, then release home once recovery shows up)
2a. Be sure you have a recovery that supports flashing unsigned .zip files. If your recovery does not support flashing unsigned .zip files, flash a rom and then the corresponding gapps that are signed(cyanogenmod roms and gapps are the easiest way to go), boot into rom, sign in, download rom manager from Market/Play Store, open rom manager, flash clockworkmod recovery, and boot to recovery.
3. Make sure you are using latest 5.5.0.4 recovery, found here.
3a. If you are not already using the 5.5.0.4, flash the 5.5.0.4.zip in your current recovery(or follow the instructions from step 2a if you cannot flash unsigned .zip files) and reboot back into recovery.
4. In your new recovery, make sure you wipe everything, and go to advanced>partition SD card. Choose whatever size you want to have as internal storage(the 'M' means Megabyte, if you didn't already know...). I use 1024M or 2048M(i.e. 1Gb or 2Gb), depending on what mood I'm in, but it works with any of them. Then choose 0M swap size and wait for it to process.
5. Wipe everything once again(just to be safe), including sd-ext, and place your rom and preferred gapps on sd card, along with any other flashable modifications you like to use(I use the sd card speed boost, which can be found here. 2048Kb works best for my card, a 16Gb Class 4).
Note: For ICS users only! I use official, larger ICS gapps, found here(download the one next to 4.0.X, the link will be: '20120429'). The smaller gapps, as well as the current best ICS rom, can be found in whoshotjr2006's thread, here.
6. Make sure you have the latest firerats(1.5.8), which can be found here.
6a. Don't use any of the alphas or betas. Just 1.5.8. Download only the recovery-v1.5.8-CustomMTD_S.zip and boot-v1.5.8-CustomMTD_S.zip and place on sd card. Create a .txt file named 'mtdpartmap' and type 'mtd XXX XX'. These X's represent the size in numbers that you want your /system and /cache partition sizes to be, and therefore will not actually be used. See step 6b or 6c, depending on what rom you'll be using, for information on how to determine the correct partition sizes/numbers to use. DON'T KEEP THE X's IN THE FILE! REPLACE THEM WITH THE NUMBERS YOU WILL USE AFTER YOU DETERMINE WHAT YOUR /SYSTEM AND /CACHE SIZES SHOULD BE!
6b. For ICS users: If you are using the official, larger gapps, type 'mtd 190 60' into the text file and save to sd card. If you are using smaller gapps, type 'mtd 190 30'. Proceed to step 7.
6c. For Non-ICS users: To find out what numbers to replace the X's with in your mtdpartmap.txt, first wipe everything and install only the rom and gapps you'll be using this mod with. Then boot into rom, sign in, and follow step 6d. After you do this, however, you will need to repeat steps 5 and 6a, then proceed to step 7.
6d. You can download 'freespace' from the Play Store, which needs root access, and will show you the total size and space remaining for each of the /system, /data, /cache, /sdcard, and /ext partitions, so you can change the numbers in your mtdpartmap file to what you want the /system and /cache to be that best suits the rom you want to flash. The first number after 'mtd' is for the /system partition, the second number is for /cache. You can't change the /data, because it is dependent on what you set the system and cache sizes to, and will be set to what you partitioned the sd card to anyways. Also, keep at least a 5Mb allowance over what you need for both /system and /cache partitions as you will run into force closing problems if there is no breathing room, especially for the /cache partition.
7. The data2ext thread and .zip file can be found here.
7a. Download the unCoRrUpTeD_data2extV2.2.zip at the bottom of the post and place on sd card. DO NOT FLASH!!!
Summary of what should be accomplished after following steps 1 through 7a: You should now be using CWM Recovery 5.5.0.4, have a partitioned sd card, wiped everything, and placed the boot-v1.5.8-CustomMTD_S.zip, recovery-v1.5.8-CustomMTD_S.zip, unCoRrUpTeD_data2extV2.2.zip, mtdpartmap.txt, the rom and correct gapps, as well as any other mods you want to use onto your sd card. If all of this is true, move to step 8. If not, go back and find what you missed.
The Installation Process
8. Flash recovery-v1.5.8-CustomMTD_S.zip, then under mounts and storage, wipe /system, /cache, and /data in that order.
8a. Reboot to recovery(go to advanced>reboot recovery).
9. Flash rom, gapps, and whatever other mods you have or like, then flash boot-v1.5.8-CustomMTD_S.zip, then unCoRrUpTeD_data2extV2.2.zip, and reboot.
Note: the firerats installation thread for the HeroCDMA says to flash boot-v1.5.8-CustomMTD_S.zip after anything that changes the kernel specifications, but the unCoRrUpTeD_data2extV2.2.zip does not change these. The thread also says that adb is necessary to reboot; it's not. After wiping /system, /cache, and /data, just go to advanced>reboot recovery. It will work just fine, I promise. Newer recoveries don't need to use adb for this step.
10. Reboot immediately after signing in for data2ext to take effect.
That's it! You're all done! Set up your phone the way you want and start installing apps!
Summary of steps 1 through 10: By now, you should be using 5.5.0.4 recovery, have a partitioned sd card, have placed all necessary files, your rom, gapps, and other mods onto your sd card, flashed the correct files in the correct order and rebooted, signed in, and rebooted after signing in. You should now be looking at the home screen(or lockscreen) of your rom, and if you check storage from settings, you should see internal storage showing the size you partitioned the sd card to be in step 4.
Hopefully this wasn't too confusing...good luck!
If you have any questions, don't hesitate to post in this thread!
Thanks, great guide! Wish I had it back when I had my first experience...
Speaking as per my own experience:
I ended up using the latest Firerats (dunno if its an alpha or beta) since I found myself flashing different ROM's and ROM updates quite a bit, for me it didn't require the use of a boot flash, rom works fine for me (spare some thoughts on this?, maybe just not required for the Alpha/Beta as abandoned work)...
Side note:
If you dont want to download an app to flash from the market to find out the space your rom is going to use for /system (at least, and for fresh install only), simply unzip your ROM and GApps to the same directory and right click and view the properties, this is its uncompressed size, and using a 4Mb buffer my self (Id recommend 8Mb just to be safe for most), Its normally right on the money for SOD or Size On Disk...
Hammerfest said:
Thanks, great guide! Wish I had it back when I had my first experience...
Speaking as per my own experience:
I ended up using the latest Firerats (dunno if its an alpha or beta) since I found myself flashing different ROM's and ROM updates quite a bit, for me it didn't require the use of a boot flash, rom works fine for me (spare some thoughts on this?, maybe just not required for the Alpha/Beta as abandoned work)...
Side note:
If you dont want to download an app to flash from the market to find out the space your rom is going to use for /system (at least, and for fresh install only), simply unzip your ROM and GApps to the same directory and right click and view the properties, this is its uncompressed size, and using a 4Mb buffer my self (Id recommend 8Mb just to be safe for most), Its normally right on the money for SOD or Size On Disk...
Click to expand...
Click to collapse
What version of firerats are you using? And I agree with you about the unzip method, and would have included that, but I wanted it to be as easy as possible for people who don't know what they're doing, and usually, 'an app for that' is the best way to go. Not saying it isn't easy to unzip, check the size, and rezip, I just thought an app that checks it for you would have less possibility of confusion. It does make the process a bit longer, yes, but at least people don't have to mess with the file at all.
On my own side note: After the several hours spent writing, rewording, adding, changing, and moving things around in this guide, I'm pleased to say it's 100% complete. No further changes that I can see happening.
goliath714 said:
What version of firerats are you using? And I agree with you about the unzip method, and would have included that, but I wanted it to be as easy as possible for people who don't know what they're doing, and usually, 'an app for that' is the best way to go. Not saying it isn't easy to unzip, check the size, and rezip, I just thought an app that checks it for you would have less possibility of confusion. It does make the process a bit longer, yes, but at least people don't have to mess with the file at all.
On my own side note: After the several hours spent writing, rewording, adding, changing, and moving things around in this guide, I'm pleased to say it's 100% complete. No further changes that I can see happening.
Click to expand...
Click to collapse
I think 1.59 alpha... after a system crash a few months ago, i havent had the need to re-bookmark the firerats mediafire folder... I really should, and seeing as most file share hosts are closing down or restricting free access to files I really should re-download and archive them... god knows how many things I have lost because of the MAFIAA fiasco's...
Yeah that might be a good idea. Personally I've never used any alphas or betas so I really don't have any input for them lol
Sent from my HeroC using XDA
Bumping my own thread...lets get some more views for this thing! If you haven't tried it yet, or have questions about it, or simply don't know what it does, send me a message or post on this thread! It's really a very useful mod for those of you that use or like installing lots of apps...
Thanks for the guide to this. The only problem I may seem to have is that when I follow all your steps at 11b this is what I get:
mke2fs 1.41.12 (17-May-2010)
/dev/block/mmcblk0p2s apparently in use by the system; will not make a filesystem here!
Is that correct? Or am I doing something wrong?
I see no reason to use both scripts combined. The data2ext you can have 2048mb/2gb That should be more than enough space for all your apps. Although this is a good write up I see a lot of conflict with using both mods together. One or the other should do. I'd recommend data2ext. You can create a 2048 partition and it will run just fine on a class 4 or better sd. Anything lower and you might suffer glitches like screen freezing, apps missing,lock up's and reboots. If you have a stock sd or a higher capacity sd but without a class rating or class 2 then I recommend firerats mod. Also you could very well run both of these mods and have not one problem whatsoever so it just user experience and preference I'm referring to.
#Root-Hack_Mod*Always\=LTE
Hmoobphajej said:
Thanks for the guide to this. The only problem I may seem to have is that when I follow all your steps at 11b this is what I get:
mke2fs 1.41.12 (17-May-2010)
/dev/block/mmcblk0p2s apparently in use by the system; will not make a filesystem here!
Is that correct? Or am I doing something wrong?
Click to expand...
Click to collapse
You have to unmout the partition first.
#Root-Hack_Mod*Always\=LTE
App2sd
Yea, I got that too, is it not working for you.
If not, add "/system/etc/init.d/40data2ext --enable" That made it work for me. Don't add "".
after reboot and the memory still hasn't change then go back in to terminal manager and add the above line and then reboot, should work then, never got firerats to play nice with the script, so i just use data2sd
laie1472 said:
I see no reason to use both scripts combined. The data2ext you can have 2048mb/2gb That should be more than enough space for all your apps. Although this is a good write up I see a lot of conflict with using both mods together. One or the other should do. I'd recommend data2ext. You can create a 2048 partition and it will run just fine on a class 4 or better sd. Anything lower and you might suffer glitches like screen freezing, apps missing,lock up's and reboots. If you have a stock sd or a higher capacity sd but without a class rating or class 2 then I recommend firerats mod. Also you could very well run both of these mods and have not one problem whatsoever so it just user experience and preference I'm referring to.
#Root-Hack_Mod*Always\=LTE
Click to expand...
Click to collapse
That's all true, but the reason I combined both is to customize the /system and /cache partitions, while still allowing my 2gb data partition to work. This way I have control over what size I want each partition to be.
goliath714 said:
That's all true, but the reason I combined both is to customize the /system and /cache partitions, while still allowing my 2gb data partition to work. This way I have control over what size I want each partition to be.
Click to expand...
Click to collapse
You can still achieve that without the combination of both mods.
#Root-Hack_Mod*Always\=LTE
In step 11 you said to reboot into rom immediately after flashing data2ext2-v7.zip and open terminal emulator. But terminal emulator isn't preinstalled in my rom. Is it ok to install it from play store after I flash data2ext2-v7.zip or this is not right?
fforward72 said:
In step 11 you said to reboot into rom immediately after flashing data2ext2-v7.zip and open terminal emulator. But terminal emulator isn't preinstalled in my rom. Is it ok to install it from play store after I flash data2ext2-v7.zip or this is not right?
Click to expand...
Click to collapse
You can install from the market
Sent from my HERO200 using xda app-developers app
ajrty33 said:
You can install from the market
Sent from my HERO200 using xda app-developers app
Click to expand...
Click to collapse
Thanks a lot!
laie1472 said:
You can still achieve that without the combination of both mods.
#Root-Hack_Mod*Always\=LTE
Click to expand...
Click to collapse
How? The firerats mod allows you to change the /system and /cache partition sizes, but from what I can find, data2ext only applies the /ext partition to the /data partition to make the phone utilize the /ext partition as /data, and doesn't allow for modification of the /system and /cache partitions.
Updated
Edit: Updated again to fix minor wording issues and make links much prettier!
Can I use twrp recovery on this firerats. Or is it only the provided cwm recovery ?
Sent from my HERO200
So I flashed this data2ext on my desire, the phone recognized my ext partition as internal memory, but, I can't install any apps, I always get the message "application not installed".
Any ideas?
dankdank11 said:
Can I use twrp recovery on this firerats. Or is it only the provided cwm recovery ?
Click to expand...
Click to collapse
Firerats has nothing to do with recovery. It's about resizing partitions. Recovery functions on a level above, so whatever you do with firerats won't affect it. TWRP is a great recovery program.
Tux2609 said:
So I flashed this data2ext on my desire, the phone recognized my ext partition as internal memory, but, I can't install any apps, I always get the message "application not installed". Any ideas?
Click to expand...
Click to collapse
Try again. Go through the instructions verbatim, as outlined. I wouldn't deviate in any way.
Hi,
This has been asked many times before with no real solution that applies to different devices.
I'm running out of space on my /system partition and can't install any more apps even though I don't have that many installed.
I want a way to re-size the Android partitions manually to whatever size I want. Or just delete all current partitions and create new ones.
How do I do that? Is there any GUI partitioning tools similar to the ones available for Windows?
I don't want to move files from /system to another partition. I want to change the partition size.
My current /system partition:
For what reason are you moving apps to /system? You can't install them there, you have to push/move them there, installs go to /data. So keep them in /data, where they're installed by default. You have tons of space available there.
Partition table (start addresses and sizes) is hard-coded in bootloader, and can be redefined in kernel boot parameters (in this case recovery needs to be recompiled with the same parameters too, otherwise it won't write to the same partitions the kernel will read from). You're welcome to hack any of those. As you could probably understand from this paragraph, I wouldn't expect having GUI tools for that.
Thanks for the reply.
I'm not trying to move apps to /system. I thought apps are installed there by default because every time I try to install a new app it gives me an error message saying that there is not enough space on /system.
Now I know that apps are not installed in /system.
I just need more space in /system so I can install new apps without any errors.
What can I do to get more space on /system partition? Can I replace the bootloader?
I don't have any Android programming experience. I probably need something that is available out there to do the job.
In stock form, you shouldn't even have write permissions to /system. Nothing should be ever written there, and it can be 99.99999% utilized - there shouldn't be any free space left for anything, it shouldn't normally be used.
If you're getting that error when trying to install an app - you need to check what's reporting the error. It's not a "real" error, it means there's something wrong with your phone.
Try wiping cache partition from recovery...does this make any difference?
Jack is correct.
Swyped from my DesireS
refer to this
if this may help you http://forum.xda-developers.com/showthread.php?t=1959691
:highfive:
mayank88288 said:
refer to this
if this may help you http://forum.xda-developers.com/showthread.php?t=1959691
:highfive:
Click to expand...
Click to collapse
Way to bump a year old thread :thumbup:
“I'm bad and I'm going to hell, and I don't care. I'd rather be in hell than anywhere where you are. ”*―*William Faulkner
Let me start with: I know that there have been many posts on this, but before you get mad, I was unable to find an answer to what I specifically want to do.
For reference: I am a software developer and sysadmin with a decent amount of Linux experience, but not a lot of android specific experience.
Now that the introduction is out of the way:
What I would like to do is completely remove the "USERDATA" partition (the "Internal SD card"), grow the "SYSTEM" partition to fill that space, and then mount my SD Card (external) as the SD Card that the system sees.
I'm currently on Cyanogenmod 10.1 but want to upgrade to 11 soon.
The reason I want to do this is because:
I have all if my apps that I can set to install to SD Card
Both "internal" partitions are full (only about 200MB is available for pictures/etc. and I can no longer update apps)
Camera (and pretty much everything else as well) stores to the Internal SD card by default
If the system partition was 1.1+1.4=2.5GB and all of my apps were "installed" to a real SD card, it would be a lot more comfortable.
So, here's what I am thinking *might* work (maybe not in the right order, though?):
Point the fstab entry for the internal SD card to the external SD card
I have the PIT file. I will delete the "USERDATA " and grow "SYSTEM" to fill the space
When I write it out in steps, it seems pretty simple...
My concerns:
Will a ROM update (to CM11) re-partition back to the old way (and, in the process, break a bunch of stuff)?
I don't ever plan to go back to stock android or change to another ROM (other than upgrades).
Thanks for reading this long post and for any insight you may be able to provide.
--mobrien118
It's a wonderful idea if it works.
Sent from my SAMSUNG-SGH-T769 using xda app-developers app
Modifying partitions is a bit dangerous.
But I have to ask you why do you need another GB of /system storage?
There was a line you can put in the build.prop that flips your ext. SD with the internal one on cm10 I believe.
This'd interest me if I could get rid of usbdisk and sdcard0 merged.
It would need the phone to be repartitioned though, causing issues with the backups and ROMs.
You may even have to compile cm from source.
Its a lot of trouble
Sent from my SAMSUNG-SGH-T769 using Tapatalk
I just did so on S4 Mini with cm-11 Android 4.4.
First I was thinking of using symlinks and/or bind mounts to redirect to the the external sdcard, but that's a bit of a hassle because
1) Since 4.2: both emulated and external storage is mounted with a fuse layer on top not supporting symlinks
2) Since 4.4: no more global write access on external storage
So moving data was the simplest solution. Besides providing (much) more space my sdcard is also around 20% faster in sequential writes: 8.5 MB/s internal vs 10.5 MB/s external. Is it really 2014?
I haven't yet decided what to do with the original data partition, so for the moment I left it unused. Hence I haven't touched the internal partition table.
Quick summary
partition sdcard (gdisk)
I recommend using GPT, this lets you work with partition names rather than numbers. For the sake of still having an "official" external sdcard I made two partitions. Keep in mind that it's usually the first partition which gets automatically mounted as external sdcard. So I made the 2nd partition the new home for data. This partition however has to be manually specified in the ramdisks fstab which involves flashing the boot partition.
format the new partitions (mkfs.ext4)
copy the original /data directory tree to the new data partition
extract initrd from boot.img (abootimg)
extract files from initrd (gunzip & cpio)
replace the /data entry in fstab pointing at your new data partition
re-pack initrd and boot.img (gzip, cpio & abootimg)
flash boot.img onto the boot partition (dd)
If you use recovery, you also have to edit it's fstab (analog to boot.img mentioned above)
done
Alternatively has anyone tried an init.d script? I see those scripts get executed before the mounting of data & sdcard
Meanwhile the original userdata partition got replaced by 3 new partitions: system2, cache2 & userdata2 which are now used for a dual boot ROM.
I've only changed GPT, not PIT. ROMs and Recovery don't use PIT, so as long as Heimdall/Odin isn't involved it should not cause any issues.
Hey guys,
So after read all that, I am also vry interested in what the OP has suggested. I get that the pit doesn't need to be affected, but as the OP asked, when flashing a new rom or updating an existing, would the partition be reformatted back to the way android handles it, ie; back to the system and data seperate and the sdcard not being used as the internal partition?
I am no developer and only have minimal knowledge in linux and android programing, but I am a quick study and any guide to help me sort this would be greatly appreciated.
Also I am about to get a second S4 mini specifcally for doing things like this so if I brick I don't care?
My next question is could it be possible to code the PIT file to do this for you so that you can just flash that through odin, but again would flashing roms affect this.
Cheers,
Sora.
aguaz said:
I just did so on S4 Mini with cm-11 Android 4.4.
First I was thinking of using symlinks and/or bind mounts to redirect to the the external sdcard, but that's a bit of a hassle because
1) Since 4.2: both emulated and external storage is mounted with a fuse layer on top not supporting symlinks
2) Since 4.4: no more global write access on external storage
So moving data was the simplest solution. Besides providing (much) more space my sdcard is also around 20% faster in sequential writes: 8.5 MB/s internal vs 10.5 MB/s external. Is it really 2014?
I haven't yet decided what to do with the original data partition, so for the moment I left it unused. Hence I haven't touched the internal partition table.
Quick summary
partition sdcard (gdisk)
I recommend using GPT, this lets you work with partition names rather than numbers. For the sake of still having an "official" external sdcard I made two partitions. Keep in mind that it's usually the first partition which gets automatically mounted as external sdcard. So I made the 2nd partition the new home for data. This partition however has to be manually specified in the ramdisks fstab which involves flashing the boot partition.
format the new partitions (mkfs.ext4)
copy the original /data directory tree to the new data partition
extract initrd from boot.img (abootimg)
extract files from initrd (gunzip & cpio)
replace the /data entry in fstab pointing at your new data partition
re-pack initrd and boot.img (gzip, cpio & abootimg)
flash boot.img onto the boot partition (dd)
If you use recovery, you also have to edit it's fstab (analog to boot.img mentioned above)
done
Alternatively has anyone tried an init.d script? I see those scripts get executed before the mounting of data & sdcard
Click to expand...
Click to collapse
I just managed to replace my internal sd with the external sd following your ruff guide. thank you very much! At first I struggled a bit getting it to work, because I had encrypted my data partition before -.- this seems to change something in the fstab / mounting / boot-up process, I couldn't get my S4 mini to boot with just changing the fstab.qcom in boot.img. With my recovery (TWRP) it worked from the start editing recovery.img's fstab.twrp /data mount point.
After decrypting(formatting) /data and re-editing fstab.qcom in boot.img it finally works I'm so happy! Enjoying a lot of space on my sdcard now!
usefull threads / information I learnt from:
Partition structure of S4 Mini
Encryption of ExtSD & some fstab information
Editing initrd
abootimg ReadMe
(Links last tried 28.05.2015)