I'm asking this specifically for the Atrix.
I would like to have one central location for all apps and data, and have all the apps installed as "internal". The advantage of this method is so that apps can function independently of whether /sdcard (or /mnt/emmc if you do it that way) is mounted or not on the device. I did something similar on my HTC Evo, using DarkTremor's A2SD. But the Atrix, with its 10GB partition, means that I won't need to symlink anything to my actual SD card.
The 10GB partition (mmcblk0p18) is ample space for all user apps and data. But the existing 2GB /data partition (mmcblk0p16) definitely requires that some larger apps use the asec feature of the SD card. I understand that some apps need the SD card for extended downloaded content, like most Gameloft games, and any standalone GPS navigation app with its own maps. In those cases, I am a little more flexible, and understand that I can't use those particular apps when the card isn't mounted.
So here a couple questions, regarding the "swap":
Is there any way I can rename the partitions-- change the 10GB partition to mmcblk0p16, and the 2GB partition to mmcblk0p18 (and reformat them to EXT3 and FAT respectively)? Rebuilding the partition table is not an option. There's just way too much at stake there.
Would all of the bootable components (kernel, ROM, bootloader, and recovery) need to take into consideration the new structure? Or would the renaming of the partitions make this all seamless?
Any other suggestions?
Thanks for reading!
Related
Clear your doubts guys!!!
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".
IF U LIKE HIT THANKS
Good idea, mate
I've been using my Archos 101 for a while, both with stock Android and UrukDroid. I've got internal 16GB memory.
Now I've bought a 16GB SDcard. I assume that, when I put it in the A101, my current user data will no longer be available.
What is the best procedure to copy the current user data to the SDcard?
You seem to have gotten something wrong.
If you install a sd card the memory is added to the internal.
In the std Fileexplorer you find it on the top, in others in /sdcard/sdcard
That sounds to easy to be true.
Without SDcard, the apps store their data in /mnt/storage (symlinks: /storage and /sdcard), which is internal memory.
When the CDcard is mounted, it becomes /mnt/storage/sdcard. Will the apps now store data there? Or did I misunderstand the purpose of the SDcard and is it only extension memory?
Yes you missunderstand the purpose of sdcards.
It really is only storrage extension.
And the Apps store there Public data in /storage or /sdcard ( which are the same mountpoints in Archos Android ), the private data goes into /data/data which archos decided to be on a 300MB partition.
Thanks. That explains it all.
I'd noticed that newer GB HTC devices seem to have moved /sdcard from the
real sd card slot to the internal memory left over after system related partitions
were allocated.
I wondered if the Rezound suffers from this change too? On my Wi Fi Flyer
I have to keep syncing the data files for Kindle and Nook apps as they think
/sdcard is the actual sd card.
I think the move was done to accommodate HC/ICS's notion of /sdcard
being a virtual partition (not a fat32 real partition, to avoid having to license
Fat32 from M$). As I understood it, HC and ICS use a FUSE re-director mount
to allow the internal /sdcard space to be a directory in a ext? file system that houses
/data, (working around the Incredible's issue of no app data space and
6gb of empty /media space). Since they don't use fat32 they can't use
USB Mass Storage, so another approach was used.
Anyway since both the Kindle and Nook app don't allow a real path
for where to look for their data, on the Flyer I have to sync the sub-directory's
from /sdcard2 to /sdcard so the apps can find them.
Does Rezound do this too?
The Rezounds physical SD cards mounts as /SD Card2
So same issue then? How do others handle Kindle and Nook apps on /sdcard2
when the apps look at /sdcard?
As you know in Sgs 2 there are internal storage, sd card (also built in phone) and additionaly external sd card slot. I would like to use this external one as location to move installed apps. There is option in application manager to move some apps to sd card but to the one built in, not the external. I have 32GB external card while built sd card has now only 100 MB free space and I can't download data for installed apps.
How to use external card for apps installation or moving some already installed apps on it?
Your internalSD is part of your phone where as the externalSD is not .You can backup apps to the externalSD but thats all.If you pass working apps to the externalSD you take them out of the system and so out of the phone and they will stop working.That is why there is only the option to move apps to SD (internal).
there is an additional option in the android system, to set a partition for your apps on external SD, you cant do this with Stock Rom anyway, but no idea on SGS2, any custom rom has offered this option so far.... this partition called "sd-ext" see the definition below:
"This is not a standard Android partition, but has become popular in the custom ROM scene. It is basically an additional partition on your SD card that acts as the /data partition when used with certain ROMs that have special features called APP2SD+ or data2ext enabled. It is especially useful on devices with little internal memory allotted to the /data partition. Thus, users who want to install more programs than the internal memory allows can make this partition and use it with a custom ROM that supports this feature, to get additional storage for installing their apps. Wiping this partition is essentially the same as wiping the /data partition – you lose your contacts, SMS, market apps and settings."
Ok, so any idea about such like ROMs or any manual/instruction thread?
Hi, I'm currently running Firmware MediaPad ICS 4.0.3 HWMOD C232B005 which supposedly is pretty similar to stock. My problem is that the internal memory which apps are installed to, ae on the very same partition as the intenal sd card (mounted as /sdcard). Thus the andoird a2sd does not work, I get no "move to sd card option in Settings->Apps. With several games exceeding 500MB with the texture for the high resolution on the MediaPad, I need to be able to move some of them to SD. Also, I need the ames that store their data on /sdcard even if they shouldn't by Android standards (boo, Gameloft) to be stored on the REAL sdcard, whic is mounted as sdcard2. Preferably, I'd be able to do this without mucking about too much. Maybe the best option is to use CM10 if it's about ready for prime time? I guess it'll give me the choice of using /sdcard or /emmc as main storage. (Though it IS annoying CM by default incorrectly labels the sdcard as emmc and the internal memory as mmc - strictly opposite of defined standards for embedded devices.)
naguz said:
Hi, I'm currently running Firmware MediaPad ICS 4.0.3 HWMOD C232B005 which supposedly is pretty similar to stock. My problem is that the internal memory which apps are installed to, ae on the very same partition as the intenal sd card (mounted as /sdcard). Thus the andoird a2sd does not work, I get no "move to sd card option in Settings->Apps. With several games exceeding 500MB with the texture for the high resolution on the MediaPad, I need to be able to move some of them to SD. Also, I need the ames that store their data on /sdcard even if they shouldn't by Android standards (boo, Gameloft) to be stored on the REAL sdcard, whic is mounted as sdcard2. Preferably, I'd be able to do this without mucking about too much. Maybe the best option is to use CM10 if it's about ready for prime time? I guess it'll give me the choice of using /sdcard or /emmc as main storage. (Though it IS annoying CM by default incorrectly labels the sdcard as emmc and the internal memory as mmc - strictly opposite of defined standards for embedded devices.)
Click to expand...
Click to collapse
It's really easy, do this
settings > storage > set primary storage > SD card > restart tablet
all apps will be moved to external sd card, and hopefully also games data like gameloft files. if this didn't happen then do it manualy. if none of that worked well... just download the data again
I think even if you set primary storage to SD, your apps remain on internal. However it will force the Gameloft etc /sdcard storage to external.
I thought the old native apps to external SD functionality was deprecated from ICS onwards? But I could be wrong...
Sent from my HUAWEI MediaPad using Tapatalk 2
Setting the primary storage is the only option ICS provides, no other apps like app2sd work actualy, i tried them
but... root opens new doors remember, i'm sure there are some apps that can move all apps to external sd, although i son't think that's possible when it comes to system apps.
and here i have a question: is it possible to set en ext3 partition on the external sd so that apps can be moved there? i did this on my beloved "dead" htc wildfire and i tell you I LOVE IT! all apps on ext3 partition (256 mb) but when looking at storage settings they appear in internal memory!! crazy right? and that makes those apps load really fast whenturning the phone on.
Don't bother trying to use old a2sd hacks that were designed for Gingerbread and Froyo phones with only a few hundred MB of internal storage.
But I did verify, yes, if you select the option to designate primary (/sdcard) storage as the external SD, the option to move apps to SD reappears. I prefer to store as much as possible on internal rather than external, because the read/write speeds are faster. Of course, regardless of which you select, any app that does allow you to change its storage directory can have a path entered that locates the correct place.
Thanks for the replies everypne! My CM9 Galaxy S II does have an option for moving apps to sd card in the settings->apps menu for compatilbe apps, so I don't think this has been discontinued in ICS+?
Anyway, I figured there WAS enough space on the internal memory for the app I was installing when I got the insufficient space error. I also noticed I had different available memory on sdcard0 (internal storage) and /data (also the same partition of the internal storage) when I ran df in a terminal, and figured something was off, so I ditched the ROM I was using, wiped it all form recovery, and installed CM9. Seems to be working OK for now.
I'll still run out of space in the internal sd card - but for the huge data guzzlers like gameloft I'll try to use Directory Bind which I vaguely remembered reading about and so googled up. As mentioned, it is not really an option to have all apps default to save stuff on the external sd card for security reasons. But if directory bind works (or manually editing in bind mounts in init files), and hopefully it should still be smooth sailing.
Still not sure whether I want to trade it in for a 10" though. Such a pity I can't find any 10" without acceptable resolution, gps, 3g and a price I can justify. The Mediapad sure is a nifty device with a good screen, even though it is a little heavy. But no I'm going way of topic.