In short:
Is there a thread somewhere stating the pro's and con's of running Android from different types of "media" (SD, NAND, EXT2)?
If there is, please provide a link, I can't seem to find anything that isn't an unanswered question or small comments.
If there isn't, let this be a starting point for those looking for the answer to this question.
Longer:
I've seen this question pop up once and again but it might be that the topic is totally exhausted and people have stopped commenting on it. I can't seem to find an answer though; What are the pro's and con's of using NAND, EXT2, FAT32 or any combination of it?
I see a couple of installation alternatives and some I have been able to conclude myself but others not.
* Running from SD-card using HaRET
This option is the slowest in terms of Android performance. It has the added value of easily getting back to Windows Mobile by rebooting the phone, gaining easy access to the SD card and manipulation options.
* Running the system AND data on NAND
This option has in my view the fastest Android experience. Access to files on the SD card is a bit more cumbersome (there is the SD card split widget APK available but I have yet to see it working) and access to files for manipulation I can't comment on (haven't gotten to that yet).
* Running the system from NAND and data on EXT2
The performance seems almost as fast as the system+data on NAND. I have no idea about the added value of running anything from an EXT2-partition in the SD card but I'm guessing it will be slower. I have no idea if file access for manipulation is easier or not compared to the other options.
* Running the system AND data from EXT2
I have not tried this yet and cannot comment on it. Something tells me it will be slower than NAND because of SD card overhead.
* Running the system from EXT2 and data on NAND
I have not tried this yet and cannot comment on it.
Now, I've missed out on several of the installation options but I'll edit this post as soon as I get to investigating it further.
Any comments/experience/knowledge in this is greatly appreciated, as it can make things clearer as to what options to choose.
Well these are very good question and wanted to start a thread on this matter as well. I also could not find a strait answer anywhere.
I also want to know if there is an advantage using ext2 over fat32.
So, people out there having knowledge about this matter please share it.
Ext2 and Fat32 are both types of filesystem used on various different types of media, including SD card, Hard drives etc.
EXT2 is (one) of the native linux filesystems, and is fully supported in kernel, and is usually faster and more stable in that OS
FAT32 is the 32bit version of the old MSdos filesystem, used up to Windows 98, and still supported by windows machines, but slower and less stable than the native NTFS filesystem used by XP and above.
Nand is actually the type of flash ROM used by our devices, and not a filesystem as such, and running Android in Nand refers to where the information is stored, rather than the filesystem used to store it.
It's equally valid to say that we run WM in Nand also.
I think that in the case of Android EXT2 should be faster and more stable than fat32 since it's designed for Linux, and works better in that OS.
Zenity ik would like to thank you very much as this answers mij questions.
And i think this would many others aswell.
Don't forget - if you format your MicroSD to just EXT2 then you will make it very awkward to transfer files to/from the card on a Microsoft Windows based system.
This may, or may not be a problem for you.
Ultimately, the current ideal situation (IMHO) is to run your OS from NAND, and to store your data (music / movies / documents) on a FAT32 format MicroSD - as this enables you to swap the MicroSD card without turning off the device, and provides best cross-platform usability of the MicroSD for the purposes of transferring data to/from it.
Thank you all!
Thank you all for commenting! I will add your comments to the Android-wiki I'm building as this question could come back repeatedly from newcomers (and old ones who forgot )!
boli99 said:
Don't forget - if you format your MicroSD to just EXT2 then you will make it very awkward to transfer files to/from the card on a Microsoft Windows based system.
This may, or may not be a problem for you.
Ultimately, the current ideal situation (IMHO) is to run your OS from NAND, and to store your data (music / movies / documents) on a FAT32 format MicroSD - as this enables you to swap the MicroSD card without turning off the device, and provides best cross-platform usability of the MicroSD for the purposes of transferring data to/from it.
Click to expand...
Click to collapse
There is a program for allowing the mounting of EXT2 file systems on windows, however they are not signed. This is more problematic in Windows that are 64bit. The program is called 'ext2fsd' and you can get it from source forge. EXT2 is a better file system, and does not have the 4GB file size limit, and does not fragment (although on a SD card, this should not be an issue). EXT2 also has file permissions that Linux understands. Fat32 has no Access control file permissions.
I have just recently got polymod's eclair running with both system and data on ext2 partitions.
my question is...
I am just wondering what the boot order is...
and where(if possible) can it be changed?
system.img in the andboot folder VS system on partition.
I know it can be set in the installer. but lets say I had installed system on ext2 partition. and then later placed a system.img in the andboot folder.
can I swap between the two?
OK...
I figured it out myself,
You can use the installer to select boot options (Not just options to install)
so I have a system and data on partitons. (currently using)
and I also have a second build installed to .img files in the andboot folder. (for failsafe backup)
if I want to swap from one into the other
I enter installer and change the settings for the system and data to
their respective locations and then just QUIT.
I also still have a donut build in the android folder. as well as still running winmo.
quad boot system on my phone...LOL
Now thats a neat use of the installer, I think this find deserves it's own thread in fact, I'm certain others will find it useful
Tanks !
binlabin said:
* Running the system from NAND and data on EXT2
The performance seems almost as fast as the system+data on NAND. I have no idea about the added value of running anything from an EXT2-partition in the SD card but I'm guessing it will be slower. I have no idea if file access for manipulation is easier or not compared to the other options.
Click to expand...
Click to collapse
I've done some tries with this doing the partitioning from within android and then formatting the FAT32 partition from Windows 7 but the FAT32 partition doesn't work very well afterward. Really slow and sometimes crashes the explorer. Propably something to do with my SD-card. May try doing the partitioning and formatting from Linux to see if it works better.
Seems to me the main advantage of this option is to increase the size of available data storage which i suspect can become a limitation sooner or later in a pure NAND install.
EDIT: Now I've done it and gone NAND-System + EXT2-Data... Partitioned the SD-card from Ubuntu with gparted. Resized the FAT32 partition and created 3 primary EXT2 partitions. only the second (partition 3) should be used though with the setup I am using. It's charging right now so I haven't tried it out much yet but I will later on. However I noticed that I now have 171Mb free phone storage instead of 30-something that I had before (same apps installed).
EDIT2: Ran gparted again and shrinked the unused partition (partition 2) and expanded the data partition (partition 3) so I now have 369Mb free "Internal phone storage". Haven't noticed any speed differences between this and when I had data on NAND.
nand
By then one question:
If im install android in the NAND is more fast ready? But this process erase WM6?
Because now android work good in my HTC TYNT II but the camera and bluetooth not work and have one or two performance problems and for this dont like delete WM6 of my phone, and for this im use Android from my SD.
But look the NAND option because have a problems with the time live of my battery only lasts 5hours with android and SD.
Thanks for your help and cooperation
excellent thread which answers some questions that I had. Thanks to everyone who contributed. The only question remaining though and I have posted this elsewhere without getting an answer:
I partitioned a 2 gb sdcard with ~1.6gb Fat32 and the rest as a single Ext2. I selected system on nand and data on ext2 in the installer. After installation, it does show alot more memory for data as compared to data on nand, BUT I also have a data.img in andboot which is in the Fat32 partition, with a size around 250mb. The question is, is the data in that file or on ext2? If I backup data from installer, it creates a databackup.img in andboot with the same size as data.img. Seems to me the ext2 partition is just taking up space and not being used. Can anyone more knowledgeable shed some light on this? Thanks.
Not quite sure what is going on there, seems very counter-intuitive, I would have assumed that system on Nand, data on EXT2 would have installed the data partition to EXT2 on SD. This would seem not to be the case in this instance.
There are a few experiments you could try, if you are brave enough, since you may cause problems by trying any of these suggestions, which could mean a reinstall, I leave it to your judgement how to proceed
Ok firstly I assume you have a card reader, since you managed to partition and format the SD card in the first place. Remove the SD card, insert in card reader, delete the andboot folder, or the contents of the folder, ( may be wise to have a spare SD with either a winmo or android install handy at this point, just in case things go horribly wrong ).
Now with the cleaned SD, put it in the phone and boot, it should boot fine, IF the data is truly on the EXT2 partition.
That at least will answer one question, namely, where the heck is my data?
If this works fine, then I'd just put it down to some inner weirdness of android on non-native devices, if it fails then I'm wondering if your EXT2 partition may have problems, forcing the phone to dump it on the first available good partition, namely the FAT32 one.
Oh and if it does fail, you will have to reinstall, since your data will be toast.
Finally, good luck, I await with interest
As I recall, the install has the FAT32/Ext2 options incorrectly swapped. It has been this way for a while.
zenity said:
Not quite sure what is going on there, seems very counter-intuitive, I would have assumed that system on Nand, data on EXT2 would have installed the data partition to EXT2 on SD. This would seem not to be the case in this instance.
There are a few experiments you could try, if you are brave enough, since you may cause problems by trying any of these suggestions, which could mean a reinstall, I leave it to your judgement how to proceed
Ok firstly I assume you have a card reader, since you managed to partition and format the SD card in the first place. Remove the SD card, insert in card reader, delete the andboot folder, or the contents of the folder, ( may be wise to have a spare SD with either a winmo or android install handy at this point, just in case things go horribly wrong ).
Now with the cleaned SD, put it in the phone and boot, it should boot fine, IF the data is truly on the EXT2 partition.
That at least will answer one question, namely, where the heck is my data?
If this works fine, then I'd just put it down to some inner weirdness of android on non-native devices, if it fails then I'm wondering if your EXT2 partition may have problems, forcing the phone to dump it on the first available good partition, namely the FAT32 one.
Oh and if it does fail, you will have to reinstall, since your data will be toast.
Finally, good luck, I await with interest
Click to expand...
Click to collapse
Great idea, I'll try this on the weekend. I wont delete data though, I'll just rename andboot and backup data for good measure, because I want to be able to go back to the data by renaming it back if it doesn't work. I was also thinking if there is any way to get to the ext2 partition and read it... I'm on xp so I cant do it on my pc, and on the phone, I've looked around in astro n other file managers but cant see anything. But if the case is as golfnz34me points out, then I should just backup the data, and change the option to Fat32 in install and restore data. That should do the trick.
golfnz34me said:
As I recall, the install has the FAT32/Ext2 options incorrectly swapped. It has been this way for a while.
Click to expand...
Click to collapse
Thanks, will check this out. If its true, then great, more speed for my /data! I wonder how I missed this, been going through these forums regularly...
Ok I checked it out, and golfnz34me is correct it seems.
But now I found a new problem. I backed up data, and in the installer, set the data to SDCard, and tried to restore data. It gives various errors like
Code:
cannot determine filesystem size
failed
failed to format
...some other lines...
losetup: /dev/block/loop2: no such device or address
I created the partition with Paragon partition manager, and after getting this error I rechecked in PPM. I reformated the partition, but still get the error. In PPM the partition drive letter isnt assigned. Or, the partition isnt the active partition. Can one of those be the problem? The volume name is Ext2. Im not very experienced in partitioning etc, apart from normal ntfs partition for new hds in windows, so I didnt play with any options. I dont have a linux system either. Any got any ideas? Any help would be appreciated alot!
Not sure about using partition managers other than gparted, afaik most people are using the Gparted live cd if they don't have a linux install handy.
The errors all point to some sort of problem with the EXT2 partition, or it's formatting.
Also EXT2 partitions do not have drive letters, nor do they have to be active partitions.
Apps and data on SD card.
I cant seem to figure out how to make all the apps and other stuff install to the SD card. Do I have to partition the card into two partitions? or is there a way to install the system to Nand and make all the apps and data go to the SD card? Ive tried setting it to System on nand and data on SD partition but it says no partitions to install to or something.
I'm trying to figure out what format / partitions my sdhc card(s) should be in.
Does the stock firmware require specific partitioning? 1 FAT32 seems
like it would have huge waste due to the FAT clustering system. Would one
say 2gb FAT32 partition for the firmware to use + some sort of ext2/3/4
or other Linux type filesystem for the rest to better use the space work?
Would a linux swap partitition help / be used at all? I have a 2gb (already
formated as a single fat32 filesystem), a 16gb class 2 and a 32gb class 2
to work with.
I figured on partitioning / formatting the large cards with gparted on a
card reader device, then putting the card in the phone.
How does the incredible see the internal user flash space, as a 'second' SD type device?
Do I understand correctly, the system flash is logically treated as a number of filesystems
so they can be 'fixed' / 'updated' seperately?
Like the boot partition, kernal partition, recovery partition, system / root partition etc.
I'm trying to understand how the system a works vs a regular
unix / linux / bsd OS would. Like booting into recovery is kinda like booting into single user
to fix the boot or root partition.
Does nandroid backup the user (internal) flash or just the various
system flash partitions?
Thanks
Mine is just formatted fat32.
Sent from my ADR6300 using XDA App
fuzzynco said:
I'm trying to figure out what format / partitions my sdhc card(s) should be in.
Does the stock firmware require specific partitioning? 1 FAT32 seems
like it would have huge waste due to the FAT clustering system. Would one
say 2gb FAT32 partition for the firmware to use + some sort of ext2/3/4
or other Linux type filesystem for the rest to better use the space work?
Would a linux swap partitition help / be used at all? I have a 2gb (already
formated as a single fat32 filesystem), a 16gb class 2 and a 32gb class 2
to work with.
I figured on partitioning / formatting the large cards with gparted on a
card reader device, then putting the card in the phone.
How does the incredible see the internal user flash space, as a 'second' SD type device?
Do I understand correctly, the system flash is logically treated as a number of filesystems
so they can be 'fixed' / 'updated' seperately?
Like the boot partition, kernal partition, recovery partition, system / root partition etc.
I'm trying to understand how the system a works vs a regular
unix / linux / bsd OS would. Like booting into recovery is kinda like booting into single user
to fix the boot or root partition.
Does nandroid backup the user (internal) flash or just the various
system flash partitions?
Thanks
Click to expand...
Click to collapse
I believe the stock firmware won't be able to see the card if you reformat it in anything besides fat32, but this is just speculation.
You bring up a good question though. ext2 contains less read/write overhead than FAT32, and thus it would seem better to store certain read/write intensive files (i.e. music) on an ext2 partition rather than FAT32.
You could always root, install a stock-like kernel (Skyraider, Virtuous, etc.) and play around with fstab to see if you can get something usable.
I can only assume this has been asked and answered, but I have searched and not been able to fine a suitable post yet...
I want to find a guide to format and partition my (16GB in my case) SD card in the best way for the current/future Desire ROMs
eesmm said:
I can only assume this has been asked and answered, but I have searched and not been able to fine a suitable post yet...
I want to find a guide to format and partition my (16GB in my case) SD card in the best way for the current/future Desire ROMs
Click to expand...
Click to collapse
You can use Windows to format the sd card to Fat32, after which you can then use Rom Manager (download from market) to create a ext partition (it will shrink the Fat32 partition to make room for the ext partition)
Alternatively, you can do it all in linux and it's pretty straight forward.
For example, Ubuntu (you can download a live version of ubuntu which you can burn to cd or copy to a bootable usb stick) can read the sd card (I just connect the phone whilst in clockworkmod recovery, select mount usb, and voila) and then you can use 'Disk Utility' located in the administrative tools area of Ubuntu to delete the stock partition that comes with most pre-formatted memory cards, create a Fat32 partition (Eg: 15GB) and then create an ext4 partition with the remaining space.
Using Linux is handy for backing up the contents of your ext partition - particularly useful when upgrading from a smaller sd card to a larger one but wanting to keep all your data.
I'm not the greatest at writing instructions and I have no idea if any of the above helps you in any way, but I hope it does!
I would use ROM Manager, but the Max partition size seems to be 512 and i want to make a 2GB partition. I am also unsure of whether the EXT partition (is EXT 3 or EXT4 best) should be primary or secondary, and will the Desire automatically start putting APPs there?
...and and what point do I turn the card back into a Goldcard, if at all necessary?
eesmm said:
I would use ROM Manager, but the Max partition size seems to be 512 and i want to make a 2GB partition. I am also unsure of whether the EXT partition (is EXT 3 or EXT4 best) should be primary or secondary, and will the Desire automatically start putting APPs there?
...and and what point do I turn the card back into a Goldcard, if at all necessary?
Click to expand...
Click to collapse
1) Gparted is the best partition tool ;-) It can be used as a live CD - which can be booted in virtual box.
2) You'll never need a goldcard, unless you want to go back to stock RUU (ie to send your phone back to get fixed).
3) EXT4 Primary partition
4) The desire will put apps there if the rom has Apps2sd enabled. Most roms these days do, but some require you to install the script yourself. 2gb seems a lot for just apps though.
Simple is better.
I myself have an 8gb sd card and used rom manager to partition it. I did not format my sd card beforehand, just took out the card from the package and put it into my phone.
Checking my appbrain list, i currently have 132 apps with a total size of 344MB.
Using the app Quick System Info:
A2SD storage-- Total: 458MB, Free: 110 MB
Internal storage-- Total: 148MB, Free:63.34 MB
I personally think 512 MB partition is more than enough.
friedkimchi said:
I personally think 512 MB partition is more than enough.
Click to expand...
Click to collapse
Yeah, I'd agree with this. I had a 512MB partition - extended it using gparted to 1GB but it really was a pointless activity as I was nowhere near using the 512MB in the first place
Oh well - future proof I guess!
@ OP... What would you need 2GB for? Seems, well, excessive...
BTW, the latest clockworkmod supports partitioning directly in the recovery menu and I believe it will give you the size you want.
Hello
I am trying to align my FAT32 partition on my SD card as per:
dubdubdub.patriotmemory.com/forums/showthread.php?3696-HOWTO-Increase-write-speed-by-aligning-FAT32
I'm having issues completing the process because my SD card has a FAT32 partition followed by an EXT4 one, whereas the guide formats the entire SD as FAT32. I've tried heaps of different things to get it working, even doing it successfully on a 4GB flash drive which was fully FAT32, but I'm convinced having the EXT4 partition after is causing problems.
When I go to (W)rite the heads/sector changes to the partition I get this error:
WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
No changes are made, not even after rebooting Linux.
Has anyone else had success with aligning their FAT32 partition with an EXT4 following it? I could try doing the entire SD card as FAT32, align it, resize it, and create an EXT4 after aligning it, but wasn't sure if this would work. I'll give it a try and see how I go.
I know its not helpful, but I was planning on doing this next time I flash a new ROM but haven't got around to it yet...
However, the link above which is clickable is here: http://www.patriotmemory.com/forums/showthread.php?3696-HOWTO-Increase-write-speed-by-aligning-FAT32
I imagine you need to change this bit:
Create a new partition that starts at cylinder 1 and ends at the end of the disk
to
Create a new partition that starts at cylinder 1 and ends at x from the end of the disk
where x is the size of the EXT partition you want to create
sadly it doesnt give the commands and i can't read the help here at work at the moment
I don't believe in such alignment.
Remove all partitions from gparted or windows disk management.
Download SD Formater utility from SD Card Association. And format your card. Full format.
Boot into gparted and shrink fat32 partition. Take note that there is 4MB in front of fat partition. Make sure it stay that way. In free space create ext partition. Use MB alignment in gparted.
That's all.
vr5411 said:
Use MB alignment in gparted.
Click to expand...
Click to collapse
I don't remember seeing that option?
what about the flashable ext alignment zip's?
Hi all,
After searching on the net and a bit of thinking, I have an idea about fully swapping the SD card with internal storage.
In my concept, I will divide the SD card into 2 partitions:
- 1 FAT32 partition for compatibility with other apps and the device itself
- 1 EXT4 partition for swapping
Then, I will inject a small code to the system to run during boot (I think I will use init.d) to unmount /data partition (I don't know if it's necessary) and remount it to the EXT4 partition.
The best part of this method is it's simple, more efficient than Link2SD (since it makes the /data partition gets fully hooked into SD card in no time) and also makes boot up progress faster (no apps check and relink)
If someone can help improving the concept or even turn it into a prototype or a real stuff, leave your ideas at the comments.
Thanks.
too good if this can really be implemented... if someone knows how to do it...please comment
Instead of mounting the sdcard as Data Partition, i would instead Turn of the sdcard Emulation, since the sdcard has lower rw Speed what would slow Down the Phone.
adi2500 said:
Instead of mounting the sdcard as Data Partition, i would instead Turn of the sdcard Emulation, since the sdcard has lower rw Speed what would slow Down the Phone.
Click to expand...
Click to collapse
In fact, the internal EMMC storage is even slower than a SD card. Plus the sdcard emulation is a function implemented into Android kernel itself, while I'm just adding the code. And this is NOT for speed, it's for storage.