[Nexus One Android Development] britoso:
I've seen numerous questions on how to do this and feel its very necessary since we only have 200960KB of space in /data.

Running out of space so quickly on your superphone is no fun.

First off: If your not technically inclined you'd do well to use a ROM with A2SD (EXT) pre-installed.

What this does:

Moves ALL your apps to the EXT partition on your SD card

Moves even the dalvik cache to the SD card

Gives you the space you need to install every single live wallpaper, widget, or app you want. :D

Prerequisites:

You have a rooted Froyo ROM. (without A2SD of course)

Your SD card has a working EXT2 or EXT3 partition. See the Darktremor thread on how to create one. (check the references section below)

You have a good recovery image installed. I use AmonRa 1.70

You have the command line tools ADB and FASTBOOT installed, and the Nexus USB driver installed.

The steps that should get you there:

Download and put "a2sd-2.7-update3-signed.zip" on the root of the sd card. Get the latest from the Darktremor thread.

Download a boot.img that has the required init.rc changes needed to automatically start A2SD. Get it from here (mediafire)(Thanks Leonnib4) or here (rapidshare) or from a kang-o-rama ROM.

Make directory /system/sd

adb remount
adb shell mkdir /system/sd

Reboot to recovery

adb reboot recovery

(in recovery, phone) Nandroid backup.

(OPTIONAL, in recovery) Wipe SD:EXT partition. (

not the whole SD CARD, just the EXT partition

). Useful if you had junk lying around from a previous ROM.

Note that this will delete all the apps you had on the ext partition.

(in recovery, phone) Flash "a2sd-2.7-update3-signed.zip"

(in recovery, phone) Power off the phone. (not reboot)

Start the phone in bootloader mode, with the USB cable plugged in.

While the phone is off, hold the trackball down and then press the power button.

(in bootloader mode, desktop console). On your desktop/laptop open a shell (start->run->cmd in windows) and run the following commands.

#check if the phone is connected ok, you should see your device after running the first command
fastboot devices

#flash the boot image.
fastboot flash boot boot.img

#reboot your phone
fastboot reboot

Either as your phone starts, or after its ready, Run the following commands via adb. I ran it as soon as the phone connected to adb. (nexus loading animation)

adb remount
#enable a2sd
adb shell a2sd install

#also move the dalvik cache to sd card.
adb shell a2sd cachesd

#check if all is ok
adb shell a2sd check

#reboot to test that the phone starts ok
adb reboot

You're all set. To check that its running do one or all of the following:

- run: adb shell a2sd check

C:\Users\me\Desktop>adb shell a2sd check
Starting Darktremor A2SD version 2.7 Update 3
[ ] Mounting /system as read-write
[ ] Starting A2SD in check mode
[ ] Running A2SD Check Program.
[ ] Searching for Mount Point...
[x] Mount point /system/sd located.
[ ] Checking for ext partition
/dev/block/mmcblk0p2 /system/sd ext2 rw,noatime,nodiratime,barrier=1,data=ordered 0 0
[x] Ext partition is mounted.
[ ] Checking A2SD links.

A2SD Status Report
===============================================================
Apps - [-] Linked to SD Card.
[-] File .noa2sd not found.
[COLOR="red"][x] Programs run from SD card[/COLOR]
To run from internal storage, type a2sd remove

Private Apps - [-] Linked to SD Card.
[-] File .noa2sd not found.
[COLOR="red"][x] Private Programs run from SD card[/COLOR]
To run from internal storage, type a2sd remove

Dalvik Cache - [-] Symbolically Linked.
[-] File .dalvikcache found.
[COLOR="red"][x] Dalvik runs from SD card[/COLOR]
To run from internal storage, type a2sd nocache
To run from /cache partition, type a2sd cachepart

Swap - [!] Partition not present.
[!] Swap does not start.

ZipAlign - [!] Not running at boot.

Property Patch - [-] File System Ready property
found.
[COLOR="red"][x] Boot image init.rc patched.[/COLOR]

[ ] Setting File System Ready property to 1.
[ ] Remounting /system to read-only.

- run: adb shell df

C:\Users\me\Desktop>adb shell df
/dev: 201636K total, 12K used, 201624K available (block size 4096)
/mnt/asec: 201636K total, 0K used, 201636K available (block size 4096)
/system: 148480K total, 111248K used, 37232K available (block size 4096)
[COLOR="Blue"]/data: 200960K total, 60716K used, [B]140244K available[/B][/COLOR] (block size 4096)
/cache: 97280K total, 1672K used, 95608K available (block size 4096)
[COLOR="red"]/system/sd: 702873K total, [B]172189K used[/B], 530684K available[/COLOR] (block size 1024)
/mnt/sdcard: 14898512K total, 9349176K used, 5549336K available (block size 8192)
/mnt/secure/asec: 14898512K total, 9349176K used, 5549336K available (block size 8192)
/mnt/asec/com.google.android.stardroid-1: 3124K total, 1504K used, 1620K available (block size 4096)
/mnt/asec/com.tmsoft.whitenoise.lite-1: 7276K total, 5856K used, 1420K available (block size 4096)

-run: adb shell ls -l /data

C:\Users\me\Desktop>adb shell ls -l /data
drwxr-x--- root log 2010-05-24 09:04 dontpanic
drwx------ system system 2010-06-26 23:18 backup
drwxrwx--x system system 2010-06-26 22:16 data
drwxrwxrwx root root 2010-06-26 18:57 a2sd
drwx------ root root 2010-06-26 18:57 property
drwxrwxr-x system system 2010-06-26 18:57 anr
drwxrwx--x shell shell 2010-06-26 18:57 local
lrwxrwxrwx root root 2010-06-26 19:07 [COLOR="Red"]app -> /system/sd/app[/COLOR]
lrwxrwxrwx root root 2010-06-26 19:07 [COLOR="red"]app-private -> /system/sd/app-private[/COLOR]
lrwxrwxrwx root root 2010-06-26 19:07 [COLOR="red"]dalvik-cache -> /system/sd/dalvik-cache[/COLOR]
drwxrwx--t system misc 2010-06-26 23:18 misc
drwxrwxr-x system system 2010-06-26 23:18 system
drwxr-xr-x system system 2010-06-26 18:57 tombstones
drwxrwx--- root root 2010-05-24 09:04 lost+found

Referenced Threads:

Darktremor A2SD (Apps2SD)

NexusOne Q&A thread

Notes:

I am not responsible if something goes wrong. nandroid backup and understand what you are doing!

This will probably work on other Froyo ROMS too.

You can install a custom kernel after installing this boot image. Just dont install a complete boot image. Boot image= ramdisk+kernel.

Thanks to Darktremor/tkirton and leonnib4. :)