[Desire General] tobydjones:
Some phones, eg the Desire, don't have enough internal memory (NAND). A2SD and other 'init.d scripts' fool Android into storing various things on the SD card instead of internal memory to free up space. They can move either apps, the Dalvik cache (a pre-compiled copy of each app) and/or app data. And they can move them to either the 1st (only) partition of the SD card (formatted as FAT or FAT32) or a 2nd partition of the SD card (formatted as ext3 or ext4).

As there's so many different scripts doing different things, I had to make a table to sort it all out. Please let me know if I've made any mistakes, or if you can answer any of my questions in italics.

script ................ apps . Dalvik . data .. comment

---------------------------------------------------------------------------------------------------------------

A2SD pre Froyo ........ SD ... int .... int ... Made to move app data to SD {or was it already ext?}

Froyo A2SD/"move to SD" SD<1>. int<9> . int ... Built in

Gingerbread A2SD ...... SD.... int .... <6> ... Built in. As Froyo but a bit more space.

apps2sd app (on market) ....................... App to make Froyo/Gingerbread "move to SD" easier, not a script

Force2SD (on market) .. ....................... As apps2sd + move system apps>SD {does apps2sd also do this?}

A2SD/AS2D+ (or apps2SD) ext<8> in/ex<2> int ... Various implementations<7> some move Dalvik (manual/auto)

Darktremor A2SD/DT-A2SD ext .. in/ex... int ... Move Dalvik. Used to be auto, now command line (or use A2SDGUI)

MIUI_Au PC-A2SD ....... ext .. ext .... int ... Allows android to boot if SD Card broken/removed. With logs

Link2SD (on market) ... ext .. ext .... <6> ... Moves apps individually

Sibere DATA2SD ........ ext .. ext .... ext<3>. Moves whole /data folder to ext for more space <4><5>

DATA2EXT .............. ext .. ext .... ext ... {another implementation of DATA2SD? how does it differ?}

data2whatever/DATA2WE . ext .. ext .... ext ... Can use ext2-4 plus variety of unusual filesystems eg B(RT?)FS

Notes:

<1> The SD card is mounted very late in the boot up process, so background apps and widgets won't work. Also apps on SD aren't available when SD card is used as a disk ('mounted')

<2> Dalvik on SD/ext may wear out SD card a bit quicker {not a big issue compared with int memory wearing out?}

<3> Data on ext wears out SD card faster because of data writes {how much of an issue is this?}

<4> Data2SD on Sense ROMS - possible corruption during battery pull or forced reboot

<5> Data2SD on ASOP ROMS - corruption when turning off phone due to unclean dismount {or is this fixed now?}

<6> GB doesn't move all of data, but does move app libs (/data/data/<appname>/Lib)

<7> There's a lot of confusion what AS2D, AS2D+ and apps2sd refer to, and the distinction between them, as those names been used for many things, including an app on the market! The + appeared after Froyo was released and often means the Dalvik cache can be moved (not always automatically)

<8> Unlike moving apps to SD, you can move widgets to ext, and apps are available when SD card is used as a disk

<9> If Dalvik cache is on int, number of apps is still limited as pre-compiled copy of each app held in cache

Updated 01/10/11. Thanks to rootSU, fllash & rmcsilva for corrections and additions :)