用了milestone一年多, 一直想等Android 2.2來用他的app2sd的功能, 但是實在等太久了(上星期台灣已經可以更新成2.2了, 不過穩定性似乎有待考驗), 光裝的angry bird就佔掉1xM的空間, 所以我還是照著網路上的做法更新了. 基本指令不會有太大的變動, 不過因為我懶得安裝BUSYBOX然後在電腦上執行指令, 我會直接root後用 Terminal Emulater直接在milestone打指令.

http://www.droidcn.com/viewthread.php?tid=2270&extra=page%3D1

  1. backup系統, 以免最後無法還原, 不過如果你本來已經抱定大不了重新刷sbf檔的話就不用
  2. root, 這是一定要的, 我是用universal androot, 安裝後升級裡面原本裝的superuser程式, 升級後換變成授權程式.
  3. 切割SD卡,  可以用gparted的live cd, 以8G的micro sd卡為例, 大約切割 6.5G的FAT 32, 剩下的切割成EXT2.(不能是EXT3)
  4. 下載所需的app2sd.zip檔案, 解壓後把ext2.ko與mot_boot_mode_script放入sdcard
  5. 安裝terminal emulator, 進入並su
  6. 打開milestone的鍵盤開始進行指令操作
    cp /sdcard/ext2.ko /data/ext2.ko
    insmod /data/ext2.ko
    mkidr /data/sdapp
    mount -t ext2 /dev/block/mmcblk0p2 /data/sdapp
    備份舊的app
    mkdir /sdcard/backupapp
    cp /data/app/* /sdcard/backupapp
    只將app改名
    mv /data/app /data/appbak
    ln -s /data/sdapp /data/app
    chmod 644 /data/sdapp/*
    chown system.system /data/sdapp/*
    chown system.system /data/sdapp
  7. 修改開機的自動執行檔
    mv /system/bin/mot_boot_mode /system/bin/mot_boot_mode.bin
    cp /sdcard/mot_boot_mode_script /system/bin/mot_boot_mode
    chmod 755 /system/bin/mot_boot_mode
    附件的mot_boot_mode_script會在執行完後再跑原來被我們更名的mot_boot_mode.bin
  8. reboot , 重開機完應該就ok了, 可以用root explorer去看/data/app這個資料夾, 應該會看到空間剩1G左右

如果要還原到之前的狀態, 要先把app2sd後才安裝的軟體都移除, 然後再進Terminal Emulator , su
執行下面指令
rm /data/app
mv /data/appbak /data/app
rm  /system/bin/mot_boot_mode
mv /system/bin/mot_boot_mode.bin /system/bin/mot_boot_mode
reboot
這樣再重開就是正常的系統