[Q] APPS2SD+ - Desire Q&A, Help & Troubleshooting

hi,
I have just installed my first custom ROM - PyramidMod007_v10... thanks to all the great resources on these forums that helped me get away from the Official Gingerbread.
I have a question about the APPS2SD feature... I don't really understand how it works. I created a 512mb ext3 partition on my SD Card and installed the new ROM.
My question is... Do the apps automatically get installed to the Ext partition now... therefore do I not need to move to SD Card? It seems when i do move to SD card as an experiment - sometime the APPS2SD storage goes up and sometimes the Internal Storage goes up??
I'm confused - owing mainly to the fact that I have no idea how this all works!
This is the data from Quick System Info:
SD Storage - 6.92GB Free: 6.19GB
A2SD - Total: 504MB Free: 213MB
Internal - Total 148MB Free 122MB
System Storage - Total 250MB Free: 13.12MB
System Cache - Total 220MB Free: 202MB
Thanks

Its a script that runs at start up (/system/etc/init.d/)
The a2sd script symbolically links /data/app (where your apps are installed) to /sd-ext/app. This means any app in /data/app is "moved" by the script to /sd-ext/app.
However an app is more than the apk in data/app. It also has /data/data/ and in there are libs, preferences and data for each app. Also there is /data/dalvik-cache. This is usally also symlinked (to /sd-ext/dalvik-cache/)
Using "move to SD" uses googles own implementation. Historically, this literally moved the apk to /sdcard/.android_secure/ however now in Gingerbread it also moves the libs (if an app has libs).
"move to SD" moves more in GB than in Froyo but still not more than a2sd+ (if dalvik is moved) however, you will find as it moves the libs, if you combine both, even more space is spared but to me this is far too reliant on the SD card

app2sd
Hello XDA!!
i am just giving the some information here for my fellow android mates!!
here's all u need to know about Ext2,Ext3,Ext4 app2sd
Ok, so here's the deal, in a very longwinded way that should hopefully explain everything and answer ALL questions.
You have an SD card in your phone and, a bit like normal PC Hard Drives, you can "partition" them (split them into two or more sections of different filesystems). Normally, your SD card is just one big FAT32 partition, which is fine for storing your pics, messages, emails, etc.
Now, other then your Phone's SD card, your phone will have its own internal flash memory (or "NAND") storage. Tradditionally with Android, you could only install applications to this NAND storage, you cannot install them onto your SD card. So if you have an empty 32GB SD card, but only 5Mb of internal phone storage, you still wont be able to install many apps, if any at all.
This was done to protect the apps from things like piracy - it's not easy to access the location where apps are installed on your phone's internal storage (normally impossible without root), so you can't for example buy an app, copy it, refund it, then install it again.
Still, this is no good for those of us who like to install lots and lots of apps, legitimately, as we run out of internal storage very quickly.
So Google came up with a way to install apps to the SD card. A folder is created called something like .android_secure and this stores (I believe) encrypted versions of applications, but there's a few catches:
1) Apps aren't automatically stored here, you have to manually "move" them
2) Not all apps are capable of being moved, in fact most apps aren't, the developer needs to update their app and allow it. Some apps aren't and wont be updated and some developers may not want to allow it for whatever reason.
3) Not all app data is moved, most of it is but some data is left on your phone so many people still run out of internal storage quickly.
4) You can force ALL apps to be moved to this area by default, but it breaks incompatible ones - such as Widgets, which are unable to load due to the SD card not being "prepared".
So that's Froyo's version. Before Froyo existed, some very clever people came up with a thing called "Apps2SD". Remember I said that your SD card normally is one big FAT32 partition? Well, Apps2SD works by having your SD card patitioned into TWO filesystems. A normal FAT32 partition for your usual stuff and a secondary "EXT" partition. EXT is just a filesystem, like FAT32 or NTFS, but it's the filesystem used by Android internally. The SD card is normally FAT32 because it's a "universal" filesystem, that just about any machine will be able to read, whereas EXT filesystems are generally Linux only, but I digress.
EXT has several different versions. The most common one you'll see is ext3. The main difference between ext2 and ext3 is "journaling", which is just a fancy way of saying that should an operation (such as copying, writing or reading) be interrupted unexpectedly (say, by you turning your phone off), then no data should be lost or corrupted. You know how when you turn your phone on, it says "preparing SD card"? It takes a few minutes, but what it's actually doing is checking that the FAT32 partition hasn't been damaged, because FAT does NOT have journaling. If you used a computer back in the Windows 98 days, you may remember that lovely blue "Scandisk" screen that had to run every time you didn't shut your computer down correctly - that's the same thing. But then Windows 2000/XP came along with NTFS, which also has journaling, meaning you had less chance of loosing data. But I digress once more.
So you have your SD card partitioned into EXT and FAT32. Generally it doesn't matter if it's ext3 or ext4, but you don't get any real advantage with ext4 over ext3 in this instance. Apps2SD then runs a special script on your phone which "symbolically links" the folder from your phone's internal storage where your apps are normally stored, to the ext partition on your SD card. A symbolic link is a bit like a shortcut for folders, except it's transparent to the OS: In other words, Android doesn't know that when it's installing it's apps to the internal phone storage, it's actually being stored on the SD card. This effectively boosts your internal phone memory from the previous 5mb that you had in my example above, up to whatever size you made the ext partition on your SD card (often 512Mb or 1Gb, but it depends on how many apps you install).
Plus, because it's "journaled", it doesn't need to be "prepared", meaning it's ready to go as soon as the phone starts - so your widgets and apps work immediately (unlike "forced" Froyo Apps2SD, where widgets disappear).
The catch with Apps2SD is that whatever space the ext partition takes up is taken away from the SD card. So if you have a 4Gb card (with something like 3.5Gb of actual storage) and you make a 512Mb ext partition, your SD card will "shrink" to 3Gb. The space isn't actually lost, it's just being used by the ext partition. If you reformat your card, you'll get it back.
Finally, there's a difference between "Apps2SD" and "Apps2SD+". Remember I said that your apps are stored on a special folder inside your Phone's NAND storage? Well, that was a bit of a lie. It's actually stored in TWO places. There's a second area which is called the Davlik Cache. You don't really need to worry about what this is for (Hint: IT's to do with the Java runetime your phone uses to run apps), all you need to know is that apps use it to store data, which also eats up internal phone memory. Apps2SD+ moves davlik cache to the ext partition on your SD card as well, freeing up even more space. Some people believe that this may come at the cost of performance, as the internal NAND memory should be faster than your SD card (Which is why you also get people arguing over which "class" SD card is better for Apps2SD - the logic being that a faster SD card means less impact from this move), but the truth of the matter is that your applications will be running from your Phone's RAM anyway, so performance isn't really impacted at all. Since most apps are only a few hundred Kb's in size, or a couple of MB at the most, it's a non-issue.
Finally, any recent version of Apps2SD/Apps2SD+ should work with an SD card that is or isn't formatted with an ext partition. It'll check for this partition when your phone first boots and if it's not there, just use internal phone storage.
Having an ext partition WITHOUT Apps2SD+ shouldn't cause any issues, either, so you can format your SD card whenever you're ready.
So in summary:
Apps2SD "fakes" your phone's internal memory and puts it all on a hidden section of your SD card.
Apps2SD+ pushes even more content to the SD card, freeing up even more space on the phone itself.
"Froyo" Apps2SD has various limitations that "old" apps2SD does not, but is much easier to handle as it doesn't involve any kind of "partitioning"

Hello AlAxe
Thanks for great discription of How A2SD works. I have a question:
AlAxe said:
Hello XDA!!
i am just giving the some information here for my fellow android mates!!
here's all u need to know about Ext2,Ext3,Ext4 app2sd
....
.....
So in summary:
Apps2SD "fakes" your phone's internal memory and puts it all on a hidden section of your SD card.
Apps2SD+ pushes even more content to the SD card, freeing up even more space on the phone itself.
"Froyo" Apps2SD has various limitations that "old" apps2SD does not, but is much easier to handle as it doesn't involve any kind of "partitioning"
Click to expand...
Click to collapse
Is this www.beginnerstech.co.uk/apps2sd-for-rooted-androids APP2SD+ you mention above? or there are another link you have?
Also, between above app and this one [Script] App2sd which one do you prefer? thanks again...
Regards

That script you posted is very old, a lot of custom Roms have their own scripts built in so you don't have to worry about this any more
If you really want to use that one, read the differences in that post to find out which you prefer. Depends on how many apps you have and how fast your sdcard is.
Personally I think there are better / easier methods, some use apps or flashable zips to make installation much easier and don't require a full wipe. Search for mount2sd, or cronmod int2ext for instance. Whichever one you choose, it doesn't matter too much in the end, whatever 'name' they give it, they all do similar things in slightly different ways, but ultimately the objective is so you can install more apps.
Oh and if you're partitioning for Desire, use 4EXT recovery or gparted, not clockworkmod recovery

Related

explanation of partioning sd card

Hi, thanks to the guides here and its founder i have managed to root my desire successfully. I just wanted to know what it actually means when SWAP = 0 and ext2 to ext3. What do these mean? Also when we do ext2 512 i take it we are reserving 512mb for app installation and the rest is FAT32. Does that mean things like maps for copilot and photos will go in non reserved part of sd card?
Thanks for help. I just want to understand this more and apologise if this has been answered already.
Swap is a section of a disk that the file system uses when it's out of memory - it "pages" things out to swap as a way to free up memory, but still be able to retrieve the old data from swap when it's next called for.
ext2 and ext3 are different file systems. ext3 is an upgrade of ext2 that supports journaling - in other words, if you're in the middle of a write to the disk and something fails (yank the SD card, power dies, whatever), there's a better chance the file system can fix what went wrong afterwards.
Your ideas about where things go are correct. I'm not sure where maps are stored (if they normally store to SD card, they'll continue to do so), but photos, music, etc all live on the regular SD card in FAT32, not in the ext partition you created.
The reasion why the sd card is divided in that way is because "apps2sd" is a kind of hack for the device. Android is currently not designed to save apps to the sdcard so removing the card would be fatal for the operating system which would miss its app data.
Now for using apps2sd, you've created a new partition (the reason why ext is because its only used by linux/android and very robust. no need to choose a differens fs here) which the system can always access and read/write.
Now we have another FAT partition, but this one is used in multiple scenarios - normally it's used by the phone to store data, but you can also use it with USB as a harddrive. While doing this, android cannot access this partition because its used by the host system exclusively. Thats why we cannot store our apps on that FAT partition and needed a completly new one. That's very clever actually.
Your maps are stored in tha FAT partition by the way - normal android users doesnt have plenty of space free, so they need to save their maps on the sd. The copilot/navigon/whatever developers know that and read them from there.
Thanks for the replies. I am understanding a bit now. I cannot understand why an advanced device did not automatically allow it to save to SD card?
@reddi - just for clarification, are you saying that when a normal user installs an app - the SD card is disabled (because the host system is using the SD card??) and thus preventing the app from being stored on SD? If what i am suggesting is correct i dont understand how the SD card is being used when installing app?

[Q] A2SD+ Confusion

I'm pretty confused at the moment about the differences between stock froyo a2sd, A2SD+ and 'old A2SD+'. so far from what i'm seeing, using A2SD+ seems to be the best idea, but i'm not sure why this is better, or how to install it as there seem to be tons of different ways.
1. Which one should i use
2. How do you partition your SD card
3. what is this all about ext 2,3,4?
4. Can i set up the partitions using the clockwork mod recovery or rom manager? and how.
Just Sorry if this is repeated else where but i've found it pretty hard to find what i'm looking for (yes even using the search function)
I'd also like to know the answer to this, especially q3
i partitioned my sd card using Rom Manager but i didnt get an option for Ext 2/3/4 when i installed LeeDroid 1.6.
Seems like the new Froyo Roms say Ext 4 is the way to go.
I too would like to know this.
Also, do I need to format into partitions before / during / after flashing a ROM?
I can't partition with ROM Manager at all. It reboots into clockwork recovery mod, and it says
Finding update package Finding update package update package... E:failed to seek in /cache/update.zip (Invalid argument) I:verify_file returned 1 E:signature verification failed Installation aborted.
edit: fixed by nandroid restoring back to 2.1 and trying again
1. A2SD+ is probs the best to use
2. create ext2/3/4 within ROM manager
3. the extension is a portion of your sd card to store your apps i dont know the difference between the 3 but essentially you create the ext2/3/4 so your apps can be forced to the sd card, the froyo apps2sd is designed for apps that are coded to go on the sd card, the Dev of the app has to make it able to run on an sd card. that's why on some apps, you will see the option to move to sd card is shaded out, that is because the Dev has not coded that particular app to run on the sd card
4. see #2
hope this helps
DesireableHTC said:
1. A2SD+ is probs the best to use
2. create ext2/3/4 within ROM manager
3. the extension is a portion of your sd card to store your apps i dont know the difference between the 3 but essentially you create the ext2/3/4 so your apps can be forced to the sd card, the froyo apps2sd is designed for apps that are coded to go on the sd card, the Dev of the app has to make it able to run on an sd card. that's why on some apps, you will see the option to move to sd card is shaded out, that is because the Dev has not coded that particular app to run on the sd card
4. see #2
hope this helps
Click to expand...
Click to collapse
If i create the partitions in Rom Manager, does this create ext 2/3 and 4? what partitions size / swap etc settings should i use? I have a 4gb card so what ever is best really for that?
DesireableHTC said:
1. A2SD+ is probs the best to use
2. create ext2/3/4 within ROM manager
3. the extension is a portion of your sd card to store your apps i dont know the difference between the 3 but essentially you create the ext2/3/4 so your apps can be forced to the sd card, the froyo apps2sd is designed for apps that are coded to go on the sd card, the Dev of the app has to make it able to run on an sd card. that's why on some apps, you will see the option to move to sd card is shaded out, that is because the Dev has not coded that particular app to run on the sd card
4. see #2
hope this helps
Click to expand...
Click to collapse
In ROM Manager if you Select "Partition SD card" in Utilities, you pick the size etc but you dont get to pick Ext 2, 3 or 4, does this matter?
coriron said:
I'm pretty confused at the moment about the differences between stock froyo a2sd, A2SD+ and 'old A2SD+'. so far from what i'm seeing, using A2SD+ seems to be the best idea, but i'm not sure why this is better, or how to install it as there seem to be tons of different ways.
1. Which one should i use
2. How do you partition your SD card
3. what is this all about ext 2,3,4?
4. Can i set up the partitions using the clockwork mod recovery or rom manager? and how.
Just Sorry if this is repeated else where but i've found it pretty hard to find what i'm looking for (yes even using the search function)
Click to expand...
Click to collapse
Ok, so here's the deal, in a very longwinded way that should hopefully explain everything and answer ALL questions.
You have an SD card in your phone and, a bit like normal PC Hard Drives, you can "partition" them (split them into two or more sections of different filesystems). Normally, your SD card is just one big FAT32 partition, which is fine for storing your pics, messages, emails, etc.
Now, other then your Phone's SD card, your phone will have its own internal flash memory (or "NAND") storage. Tradditionally with Android, you could only install applications to this NAND storage, you cannot install them onto your SD card. So if you have an empty 32GB SD card, but only 5Mb of internal phone storage, you still wont be able to install many apps, if any at all.
This was done to protect the apps from things like piracy - it's not easy to access the location where apps are installed on your phone's internal storage (normally impossible without root), so you can't for example buy an app, copy it, refund it, then install it again.
Still, this is no good for those of us who like to install lots and lots of apps, legitimately, as we run out of internal storage very quickly.
So Google came up with a way to install apps to the SD card. A folder is created called something like .android_secure and this stores (I believe) encrypted versions of applications, but there's a few catches:
1) Apps aren't automatically stored here, you have to manually "move" them
2) Not all apps are capable of being moved, in fact most apps aren't, the developer needs to update their app and allow it. Some apps aren't and wont be updated and some developers may not want to allow it for whatever reason.
3) Not all app data is moved, most of it is but some data is left on your phone so many people still run out of internal storage quickly.
4) You can force ALL apps to be moved to this area by default, but it breaks incompatible ones - such as Widgets, which are unable to load due to the SD card not being "prepared".
So that's Froyo's version. Before Froyo existed, some very clever people came up with a thing called "Apps2SD". Remember I said that your SD card normally is one big FAT32 partition? Well, Apps2SD works by having your SD card patitioned into TWO filesystems. A normal FAT32 partition for your usual stuff and a secondary "EXT" partition. EXT is just a filesystem, like FAT32 or NTFS, but it's the filesystem used by Android internally. The SD card is normally FAT32 because it's a "universal" filesystem, that just about any machine will be able to read, whereas EXT filesystems are generally Linux only, but I digress.
EXT has several different versions. The most common one you'll see is ext3. The main difference between ext2 and ext3 is "journaling", which is just a fancy way of saying that should an operation (such as copying, writing or reading) be interrupted unexpectedly (say, by you turning your phone off), then no data should be lost or corrupted. You know how when you turn your phone on, it says "preparing SD card"? It takes a few minutes, but what it's actually doing is checking that the FAT32 partition hasn't been damaged, because FAT does NOT have journaling. If you used a computer back in the Windows 98 days, you may remember that lovely blue "Scandisk" screen that had to run every time you didn't shut your computer down correctly - that's the same thing. But then Windows 2000/XP came along with NTFS, which also has journaling, meaning you had less chance of loosing data. But I digress once more.
So you have your SD card partitioned into EXT and FAT32. Generally it doesn't matter if it's ext3 or ext4, but you don't get any real advantage with ext4 over ext3 in this instance. Apps2SD then runs a special script on your phone which "symbolically links" the folder from your phone's internal storage where your apps are normally stored, to the ext partition on your SD card. A symbolic link is a bit like a shortcut for folders, except it's transparent to the OS: In other words, Android doesn't know that when it's installing it's apps to the internal phone storage, it's actually being stored on the SD card. This effectively boosts your internal phone memory from the previous 5mb that you had in my example above, up to whatever size you made the ext partition on your SD card (often 512Mb or 1Gb, but it depends on how many apps you install).
Plus, because it's "journaled", it doesn't need to be "prepared", meaning it's ready to go as soon as the phone starts - so your widgets and apps work immediately (unlike "forced" Froyo Apps2SD, where widgets disappear).
The catch with Apps2SD is that whatever space the ext partition takes up is taken away from the SD card. So if you have a 4Gb card (with something like 3.5Gb of actual storage) and you make a 512Mb ext partition, your SD card will "shrink" to 3Gb. The space isn't actually lost, it's just being used by the ext partition. If you reformat your card, you'll get it back.
Finally, there's a difference between "Apps2SD" and "Apps2SD+". Remember I said that your apps are stored on a special folder inside your Phone's NAND storage? Well, that was a bit of a lie. It's actually stored in TWO places. There's a second area which is called the Davlik Cache. You don't really need to worry about what this is for (Hint: IT's to do with the Java runetime your phone uses to run apps), all you need to know is that apps use it to store data, which also eats up internal phone memory. Apps2SD+ moves davlik cache to the ext partition on your SD card as well, freeing up even more space. Some people believe that this may come at the cost of performance, as the internal NAND memory should be faster than your SD card (Which is why you also get people arguing over which "class" SD card is better for Apps2SD - the logic being that a faster SD card means less impact from this move), but the truth of the matter is that your applications will be running from your Phone's RAM anyway, so performance isn't really impacted at all. Since most apps are only a few hundred Kb's in size, or a couple of MB at the most, it's a non-issue.
Finally, any recent version of Apps2SD/Apps2SD+ should work with an SD card that is or isn't formatted with an ext partition. It'll check for this partition when your phone first boots and if it's not there, just use internal phone storage.
Having an ext partition WITHOUT Apps2SD+ shouldn't cause any issues, either, so you can format your SD card whenever you're ready.
So in summary:
Apps2SD "fakes" your phone's internal memory and puts it all on a hidden section of your SD card.
Apps2SD+ pushes even more content to the SD card, freeing up even more space on the phone itself.
"Froyo" Apps2SD has various limitations that "old" apps2SD does not, but is much easier to handle as it doesn't involve any kind of "partitioning".
@neoKushan Thank you very much. I understand the theory behind it a lot better now. Didn't actually realize EXT was a kind of file system so it makes a lot more sense now. So seemingly Apps2SD/+ is a lot better than the froyo (in certain situations). What is the best method to partition your sd card and install Apps2SD+? I think i've seen that a lot of the ROMS now will install the Apps2SD+ for you if you have partitioned your SD card, so i'm guessing thats the only step i need to take.
As far as I have seen, all of the recoveries out there have a way to partition the SD card. So AmunRA's or ClockworkMOD's (ROM Manager).
My personal preference is ROM Manager as it's very easy to do from the GUI.
Word of Warning, though: Partitioning your SD WILL DELETE ALL DATA ON IT!
Do what I did: Copy the contents of your SD card to your PC, partition the SD card, then copy the contents back.
thanks, that is superb! thanks for taking the time to type it up
this should be posted in the faqs section as it will might stop a lot of these recurring threads
one other question, some ROMs ask you to wipe your Ext partition, where do you do this ?
If i reboot to ClockworkMod Recovery there is a Wipe cache Partition, is this it?
thanks
neoKushan said:
Ok, so here's the deal, in a very longwinded way that should hopefully explain everything and answer ALL questions.
You have an SD card in your phone and, a bit like normal PC Hard Drives, you can "partition" them (split them into two or more sections of different filesystems). Normally, your SD card is just one big FAT32 partition, which is fine for storing your pics, messages, emails, etc.
Now, other then your Phone's SD card, your phone will have its own internal flash memory (or "NAND") storage. Tradditionally with Android, you could only install applications to this NAND storage, you cannot install them onto your SD card. So if you have an empty 32GB SD card, but only 5Mb of internal phone storage, you still wont be able to install many apps, if any at all.
This was done to protect the apps from things like piracy - it's not easy to access the location where apps are installed on your phone's internal storage (normally impossible without root), so you can't for example buy an app, copy it, refund it, then install it again.
Still, this is no good for those of us who like to install lots and lots of apps, legitimately, as we run out of internal storage very quickly.
So Google came up with a way to install apps to the SD card. A folder is created called something like .android_secure and this stores (I believe) encrypted versions of applications, but there's a few catches:
1) Apps aren't automatically stored here, you have to manually "move" them
2) Not all apps are capable of being moved, in fact most apps aren't, the developer needs to update their app and allow it. Some apps aren't and wont be updated and some developers may not want to allow it for whatever reason.
3) Not all app data is moved, most of it is but some data is left on your phone so many people still run out of internal storage quickly.
4) You can force ALL apps to be moved to this area by default, but it breaks incompatible ones - such as Widgets, which are unable to load due to the SD card not being "prepared".
So that's Froyo's version. Before Froyo existed, some very clever people came up with a thing called "Apps2SD". Remember I said that your SD card normally is one big FAT32 partition? Well, Apps2SD works by having your SD card patitioned into TWO filesystems. A normal FAT32 partition for your usual stuff and a secondary "EXT" partition. EXT is just a filesystem, like FAT32 or NTFS, but it's the filesystem used by Android internally. The SD card is normally FAT32 because it's a "universal" filesystem, that just about any machine will be able to read, whereas EXT filesystems are generally Linux only, but I digress.
EXT has several different versions. The most common one you'll see is ext3. The main difference between ext2 and ext3 is "journaling", which is just a fancy way of saying that should an operation (such as copying, writing or reading) be interrupted unexpectedly (say, by you turning your phone off), then no data should be lost or corrupted. You know how when you turn your phone on, it says "preparing SD card"? It takes a few minutes, but what it's actually doing is checking that the FAT32 partition hasn't been damaged, because FAT does NOT have journaling. If you used a computer back in the Windows 98 days, you may remember that lovely blue "Scandisk" screen that had to run every time you didn't shut your computer down correctly - that's the same thing. But then Windows 2000/XP came along with NTFS, which also has journaling, meaning you had less chance of loosing data. But I digress once more.
So you have your SD card partitioned into EXT and FAT32. Generally it doesn't matter if it's ext3 or ext4, but you don't get any real advantage with ext4 over ext3 in this instance. Apps2SD then runs a special script on your phone which "symbolically links" the folder from your phone's internal storage where your apps are normally stored, to the ext partition on your SD card. A symbolic link is a bit like a shortcut for folders, except it's transparent to the OS: In other words, Android doesn't know that when it's installing it's apps to the internal phone storage, it's actually being stored on the SD card. This effectively boosts your internal phone memory from the previous 5mb that you had in my example above, up to whatever size you made the ext partition on your SD card (often 512Mb or 1Gb, but it depends on how many apps you install).
Plus, because it's "journaled", it doesn't need to be "prepared", meaning it's ready to go as soon as the phone starts - so your widgets and apps work immediately (unlike "forced" Froyo Apps2SD, where widgets disappear).
The catch with Apps2SD is that whatever space the ext partition takes up is taken away from the SD card. So if you have a 4Gb card (with something like 3.5Gb of actual storage) and you make a 512Mb ext partition, your SD card will "shrink" to 3Gb. The space isn't actually lost, it's just being used by the ext partition. If you reformat your card, you'll get it back.
Finally, there's a difference between "Apps2SD" and "Apps2SD+". Remember I said that your apps are stored on a special folder inside your Phone's NAND storage? Well, that was a bit of a lie. It's actually stored in TWO places. There's a second area which is called the Davlik Cache. You don't really need to worry about what this is for (Hint: IT's to do with the Java runetime your phone uses to run apps), all you need to know is that apps use it to store data, which also eats up internal phone memory. Apps2SD+ moves davlik cache to the ext partition on your SD card as well, freeing up even more space. Some people believe that this may come at the cost of performance, as the internal NAND memory should be faster than your SD card (Which is why you also get people arguing over which "class" SD card is better for Apps2SD - the logic being that a faster SD card means less impact from this move), but the truth of the matter is that your applications will be running from your Phone's RAM anyway, so performance isn't really impacted at all. Since most apps are only a few hundred Kb's in size, or a couple of MB at the most, it's a non-issue.
Finally, any recent version of Apps2SD/Apps2SD+ should work with an SD card that is or isn't formatted with an ext partition. It'll check for this partition when your phone first boots and if it's not there, just use internal phone storage.
Having an ext partition WITHOUT Apps2SD+ shouldn't cause any issues, either, so you can format your SD card whenever you're ready.
So in summary:
Apps2SD "fakes" your phone's internal memory and puts it all on a hidden section of your SD card.
Apps2SD+ pushes even more content to the SD card, freeing up even more space on the phone itself.
"Froyo" Apps2SD has various limitations that "old" apps2SD does not, but is much easier to handle as it doesn't involve any kind of "partitioning".
Click to expand...
Click to collapse
@neoKusha
Top post! Thanks very much.
So if you're using A2SD+, do the "move to phone" and "move to SD card" buttons actually do anything or are they just left there from legacy A2SD? And what does the "Auto" setting of ModInstallLocation actually do? How does it decide whether to install to internal or external?
chipyy said:
So if you're using A2SD+, do the "move to phone" and "move to SD card" buttons actually do anything or are they just left there from legacy A2SD? And what does the "Auto" setting of ModInstallLocation actually do? How does it decide whether to install to internal or external?
Click to expand...
Click to collapse
Move to SD would still work, all it would do is move from the ext partition on the SD card to the FAT32 partition (in the .android_secure folder).
neoKushan said:
Move to SD would still work, all it would do is move from the ext partition on the SD card to the FAT32 partition (in the .android_secure folder).
Click to expand...
Click to collapse
Doh, so essentially they mean the opposite?!
What about the ModInstallLocation app, if you leave that set on Auto, how does it decide where to install things?
Rom Manager asks me to set the partition sizes, then reboots into clockworkmod recovery. No partitioning appears to have been done to the phone though. What am I supposed to do? Or is this a bug?
+1 THX very much to neoKusha! couldn't be explained on a better way!
just one question: ROMmanager makes an ext3 partition, isn't it?
THX again
Dg
chipyy said:
Doh, so essentially they mean the opposite?!
What about the ModInstallLocation app, if you leave that set on Auto, how does it decide where to install things?
Click to expand...
Click to collapse
Think about it like this. When using "old" Apps2SD (or Apps2SD+), you're installing your apps to a hidden part of the SD card, a part so hidden that even Android itself doesn't realise it's there, it just thinks it's your phone's internal storage. So when it says "move to SD", it doesn't realise that it's already ON the SD.
As for the ModInstallLocation, I don't use it so I can't comment, but no matter what it picks, it'll always end up on the SD card if you're using Apps2SD, all that changes is which partition it'll end up on. "Internal" storage will be the EXT partition and "SD" will be the .android_secure folder.
However, if you're using Apps2SD, you're better off installing to "internal" storage (As in, the EXT partition) as it's more compatible than Froyo's SD card storage.
irishdroid said:
Rom Manager asks me to set the partition sizes, then reboots into clockworkmod recovery. No partitioning appears to have been done to the phone though. What am I supposed to do? Or is this a bug?
Click to expand...
Click to collapse
I'm not sure, perhaps it's already partitioned. Have you tried doing it from within Clockwork recovery itself?
Dave_G7 said:
+1 THX very much to neoKusha! couldn't be explained on a better way!
just one question: ROMmanager makes an ext3 partition, isn't it?
THX again
Dg
Click to expand...
Click to collapse
I believe so.
from another post I have this sizes:
0mb swap
512 mb ext
neoKushan said:
Ok, so here's the deal, in a very longwinded way that should hopefully explain everything and answer ALL questions.
You have an SD card in your phone and, a bit like normal PC Hard Drives, you can "partition" them (split them into two or more sections of different filesystems). Normally, your SD card is just one big FAT32 partition, which is fine for storing your pics, messages, emails, etc.
Now, other then your Phone's SD card, your phone will have its own internal flash memory (or "NAND") storage. Tradditionally with Android, you could only install applications to this NAND storage, you cannot install them onto your SD card. So if you have an empty 32GB SD card, but only 5Mb of internal phone storage, you still wont be able to install many apps, if any at all.
This was done to protect the apps from things like piracy - it's not easy to access the location where apps are installed on your phone's internal storage (normally impossible without root), so you can't for example buy an app, copy it, refund it, then install it again.
Still, this is no good for those of us who like to install lots and lots of apps, legitimately, as we run out of internal storage very quickly.
So Google came up with a way to install apps to the SD card. A folder is created called something like .android_secure and this stores (I believe) encrypted versions of applications, but there's a few catches:
1) Apps aren't automatically stored here, you have to manually "move" them
2) Not all apps are capable of being moved, in fact most apps aren't, the developer needs to update their app and allow it. Some apps aren't and wont be updated and some developers may not want to allow it for whatever reason.
3) Not all app data is moved, most of it is but some data is left on your phone so many people still run out of internal storage quickly.
4) You can force ALL apps to be moved to this area by default, but it breaks incompatible ones - such as Widgets, which are unable to load due to the SD card not being "prepared".
So that's Froyo's version. Before Froyo existed, some very clever people came up with a thing called "Apps2SD". Remember I said that your SD card normally is one big FAT32 partition? Well, Apps2SD works by having your SD card patitioned into TWO filesystems. A normal FAT32 partition for your usual stuff and a secondary "EXT" partition. EXT is just a filesystem, like FAT32 or NTFS, but it's the filesystem used by Android internally. The SD card is normally FAT32 because it's a "universal" filesystem, that just about any machine will be able to read, whereas EXT filesystems are generally Linux only, but I digress.
EXT has several different versions. The most common one you'll see is ext3. The main difference between ext2 and ext3 is "journaling", which is just a fancy way of saying that should an operation (such as copying, writing or reading) be interrupted unexpectedly (say, by you turning your phone off), then no data should be lost or corrupted. You know how when you turn your phone on, it says "preparing SD card"? It takes a few minutes, but what it's actually doing is checking that the FAT32 partition hasn't been damaged, because FAT does NOT have journaling. If you used a computer back in the Windows 98 days, you may remember that lovely blue "Scandisk" screen that had to run every time you didn't shut your computer down correctly - that's the same thing. But then Windows 2000/XP came along with NTFS, which also has journaling, meaning you had less chance of loosing data. But I digress once more.
So you have your SD card partitioned into EXT and FAT32. Generally it doesn't matter if it's ext3 or ext4, but you don't get any real advantage with ext4 over ext3 in this instance. Apps2SD then runs a special script on your phone which "symbolically links" the folder from your phone's internal storage where your apps are normally stored, to the ext partition on your SD card. A symbolic link is a bit like a shortcut for folders, except it's transparent to the OS: In other words, Android doesn't know that when it's installing it's apps to the internal phone storage, it's actually being stored on the SD card. This effectively boosts your internal phone memory from the previous 5mb that you had in my example above, up to whatever size you made the ext partition on your SD card (often 512Mb or 1Gb, but it depends on how many apps you install).
Plus, because it's "journaled", it doesn't need to be "prepared", meaning it's ready to go as soon as the phone starts - so your widgets and apps work immediately (unlike "forced" Froyo Apps2SD, where widgets disappear).
The catch with Apps2SD is that whatever space the ext partition takes up is taken away from the SD card. So if you have a 4Gb card (with something like 3.5Gb of actual storage) and you make a 512Mb ext partition, your SD card will "shrink" to 3Gb. The space isn't actually lost, it's just being used by the ext partition. If you reformat your card, you'll get it back.
Finally, there's a difference between "Apps2SD" and "Apps2SD+". Remember I said that your apps are stored on a special folder inside your Phone's NAND storage? Well, that was a bit of a lie. It's actually stored in TWO places. There's a second area which is called the Davlik Cache. You don't really need to worry about what this is for (Hint: IT's to do with the Java runetime your phone uses to run apps), all you need to know is that apps use it to store data, which also eats up internal phone memory. Apps2SD+ moves davlik cache to the ext partition on your SD card as well, freeing up even more space. Some people believe that this may come at the cost of performance, as the internal NAND memory should be faster than your SD card (Which is why you also get people arguing over which "class" SD card is better for Apps2SD - the logic being that a faster SD card means less impact from this move), but the truth of the matter is that your applications will be running from your Phone's RAM anyway, so performance isn't really impacted at all. Since most apps are only a few hundred Kb's in size, or a couple of MB at the most, it's a non-issue.
Finally, any recent version of Apps2SD/Apps2SD+ should work with an SD card that is or isn't formatted with an ext partition. It'll check for this partition when your phone first boots and if it's not there, just use internal phone storage.
Having an ext partition WITHOUT Apps2SD+ shouldn't cause any issues, either, so you can format your SD card whenever you're ready.
So in summary:
Apps2SD "fakes" your phone's internal memory and puts it all on a hidden section of your SD card.
Apps2SD+ pushes even more content to the SD card, freeing up even more space on the phone itself.
"Froyo" Apps2SD has various limitations that "old" apps2SD does not, but is much easier to handle as it doesn't involve any kind of "partitioning".
Click to expand...
Click to collapse
One last question... When I let ROM Manager create a Ext partition it also ask for the swap setting? What to choose here, I have chosen the default now.

[Q] Ext2 required for SD card apps (AuraxTSense rom)?

Hi,
I'm confused about the right way to run the Desire with apps on the SD card. I'm running AuraxTSense with a FAT 32 formatted SD card.
I was able to ADB and run pm setInstallLocation 2, and I have the option tomove apps to the SD card, In addition, Titanium Backup and Apps2Sd reports that most of my apps are successfully located on SD card. Also, on the SD card, I see an "ASEC" directory that seems to contain most of my apps; I thought that this was an indication that the apps were located there.
However, it doesn't seem like moving apps to the SD card has worked properly. Whenever I install an app, it looks like it goes on the SD card, but I lose the size of the app from my internal memory. Also, when I uninstall, the corresponding amount of space frees up in my internal memory. I've verified this with the DiskUsage app.
Has anyone else noticed anything like this? Should I have created an Ext2 partition for apps to successfully install just to the SD card?
Hey there,
It seems as if you are just using Froyo's built-in apps on SD card function.
This just takes some of the files from the app and places them in .android_secure on the SD card, but large parts of the application may still remain in internal memory.
You can see just how much is left in your internal memory by scrolling to an app in Settings > Applications > Manage Applications. The "total" space taken in this screen is the space taken on your internal memory.
I'm afraid this is the best Froyo can do. If you have moved all apps to SD card you can and you're still running out of space, you may need to install a custom ROM with Apps2SD.
Hope this helps
aha.
Thanks, that cleared things up for me. I was puzzled when I did this
- checked cardiotrainer in 'Manage Applications', saw 2.5 mb total
- moved it to the phone, checked 'Manage Applications', saw 7.3 mb total
- moved it to SD card, saw 2.5 mb again
I didn't realize that the "total" was just the total in internal memory, and that only a portion of the app was getting moved.
thanks very much for the clarification.
craigcharlie said:
I didn't realize that the "total" was just the total in internal memory, and that only a portion of the app was getting moved.
Click to expand...
Click to collapse
The "whole" of the app itself gets moved to SD card.
What does not get moved is:
1. The Dalvik cache entries
2. Any data stored in /data/data
Note that no version of "legacy" A2SD (i.e. those using an EXT partition on SD card) moves /data/data to SD card due to stability concerns.
Personally, I use Froyo A2SD, but compress the Dalvik cache using fusecompress.
Regards,
Dave
That's more great info, thank you.
After doing some research, I noticed that the AuraxTSense ROM supported Apps2Sd and Dalvik2Sd, both of which require an ext2 partition.
I decided to take the plunge and format my SD card to add an ext2 partition.
I used the following steps
- backed up everything to sdcard with titanium backup
- backed up all sdcard data to my pc
- used ROM manager to partition the card (512mb ext, 64 mb swap)
I've since rebooted and now my storage is reported at 122 mb, instead of 18
Simply put, this rocks. I've just copied all my data back to the SD card (including the ASEC folder, the apps I'd 'moved' to the card before relied on these files) and my apps seem to be working fine.
Now that I have all this space, I can actually move the more intensive apps back to the phone now, since this should increase performance.
thanks to all who answered, I hope this thread helps some people who were as frustrated as I was by the lack of space on this awesome phone!
foxmeister said:
The "whole" of the app itself gets moved to SD card.
What does not get moved is:
1. The Dalvik cache entries
2. Any data stored in /data/data
Note that no version of "legacy" A2SD (i.e. those using an EXT partition on SD card) moves /data/data to SD card due to stability concerns.
Personally, I use Froyo A2SD, but compress the Dalvik cache using fusecompress.
Regards,
Dave
Click to expand...
Click to collapse
@foxmeister
Pls how do you do the fuse compress, need a guide.
Sent from my HTC Desire using XDA App
@scorror
Look at this thread here.
I suggest you read the entire thread, but post #29 contains the update zip relevant to the kernel on my device.
Regards,
Dave
Just another update to say that my phone is working great.
It's like a completely different phone. I thought that 2 or 3 FCs a day were normal. I haven't had one since I moved to this method.
I'd like to highlight that I unset pm setInstallLocation.
To be honest, I think that that caused many of my problems. I had several apps whose widgets kept disappearing after lock/reboot. after unsetting setInstallLOcation and reinstalling the offending apps, the widgets are no longer disappearing.
The phone seems faster as well. I read a comment some where that AuraxTSense might seem a bit slower if you didn't have an ext2 partition, and I have to say that in my experience this is definitely the case.

[Q] Does moving Apps2SD to an Ext partition make startup faster than stock A2SD?

I have so many apps installed on my SD card using the builtin Gingerbread apps2sd that when I start my phone or switch from USB disk drive mode I can't access my SD card apps for about a minute or so while Android checks the SD card (or so I'm assuming).
Will switching to an Ext partition on my SD card make startup faster? It drives me nuts that when my phone reboots (which it tends to do when it overheats) it starts up pretty quick but I can only access the apps on the phone for the first minute or so.
Btw, I'm running CM7.1 nightly 213 for the Evo. Thanks!
To answer my own question, a resounding YES
I partitioned my SD card with Paragon Partition Manager using resize so I didn't lose data and formatted the new partition ext4. I used S2E which made the process super simple, although I had to move all of my SD card apps back to "internal phone memory" (now pointing to the sd-ext partition), but Titanium Backup made that batch job easy. Starting up apps are accessible MUCH quicker and I don't have to worry about widgets and keyboards being screwed up due to being on SD. DO IT!
You can also increase the read/write speed of your SD card by changing the SD cache size. There are plenty of apps to help you with doing so - some apps only provide that function, and some of the all-inclusive tools apps will do so - like Rom Toolbox. Just mess with the settings, the largest setting isn't always the best.
Supersonic Evo 4G | MIUI | Tapatalk
The reason for this is that the built in move to SD function created an encrypted container for each application. On startup, it has to decrypt and mount each one of these containers. The more you have, the longer it takes. Pointing your /data/app directory to EXT is basically just a symlink to a dir on that partition. No encryption/decryption involved.

[Q] Internal Memory question

So, I got my device s-off and rooted, was pretty excited when I had those stuff done.
But now,
Internal memory is still an issue, I read on xda like, removing the bundled or stock software comes with the phone won't make the internal memory get increased because those files are stored somewhere else that won't effect the total usable internal memory. Plus removing stock apps will stop using OTA updates.
So is there a trick that I can increase the internal memory of my phone? I already use the default save location setted to sd card, and moving apps to sd but it always leaves some files at internal memory.
I read somewhere like, I can make phone use my sd card's some part as internal memory, I saw a rom offering that but except that is there any program offering this without flashing rom?
And I have some knowledge about Linux, so I was wondering do I have a chance to use symlink command (symbolic link) to link my internal memory to sd card ?
Best way is to use a ROM with Darktremor Apps2SD preinstalled. I don't know whether it will work if you install it now.
The best alternative, in my opinion, is to format a partition of your SD card to ext3 with this guide and then use Link2SD.The partition can be as big as you want, but I believe that 500 MB should be enough.
It will earn you some space but not as much as the Darktremor Apps2SD will.
Thanks for the answer, I used the guide and Link2SD, but i am a bit confused here, I also use apps 2 sd program,
So for using less possible internal memory of my phone,
Should I install apps to phone memory and then link to sd card with link2sd
or
Install app in sd card (or move it with link2sd to sd card) then link?
Right now one of apps shown as Linked -> SD card. So is this the best scenario?
Because when I choose move to SD in Apps 2 SD, Link2SD says move to SD also, so it kinda like they conflict
To tell you the truth I'm not completely sure for what is better, but what I did was to first link all of them (application, dalvik & library if possible) and then move them to sd card with App2SD. I think there was a slight difference to the free space but nothing noticeable. Sorry, but I'm no expert, so everything I did was by trial and error!

Categories

Resources