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.
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