I have some good news for the owners of Samsung Galaxy 5 (i5500) Smartphones.
Doing some research on Google and reading about efforts from other people who could install applications on SD card on other android phones, I was able to develop a method to install application into SD card for the Galaxy 5. Better yet, you won't even need a custom Rom.
Before I get into the specifcs let me state that the following steps are manual and no application is provided to automate the process, so advanced computer skill is required and some knowledge of unix/linux is a plus.
Here we go: PLEASE READ THE WHOLE THING BEFORE YOU START. I MAY HAVE OMMITED SOME COMMANDS OUT OF LACK OF ATTENTION.
1) You'll need to root your phone. There is a lot of guides about this available, just google for it. I've used the SuperOneClick Root to do this.
2) Partition your sd card like this: 1 - FAT, 2 - Linux ext2. Again, there is a lot of guides about this on the net, just google again. I've used Paragon Partition Manager 2010 to lower the size of my FAT partition, leaving a 550MB unallocated space at the end of the card. Then I formatted this space as ext2 in linux, using ubuntu live CD. Most guides around there recommends that you keep this partition between 500~750MB, so I didn’t try with greater sizes. Also, i kept my partition 1 as FAT 16, but FAT 32 might actually work too, try that if you want and post me a reply.
3) Download Titanium Backup (or another app backup tool) from market and backup your applications. You may need to restore your applications to correct some permission problems that may occur after completing this guide.
4) Install busybox. BusyBox is a software application that provides many standard Unix tools, which are not available on stock android. You can get a copy of busybox by clicking on “problems?” button on Titanium Backup main window. It will get installed on /data/data/com.keramidas.TitaniumBackup/files.
5) If you still don’t have Android SDK installed on your PC, download and install it from Google. You’ll need ADB (Android Debug Bridge), which is included in the SDK, to proceed. Now open a shell connection with your device by typing:
6) Create ‘sd’ folder int /system:
cd /system mkdir sd
mount -t ext2 /dev/block/mmcblk0p2 /system/sd
cd /system/sd mkdir app
cat /data/data/com.keramidas.TitaniumBackup/files/busybox > /system/bin/busybox chmod 755 /system/bin/busybox
busybox cp /data/app/* /system/sd/app/
cd /system/sd/app chown system.system * chmod 644 *
#!/system/bin/sh MYLOG=/data/install-recovery.log echo "$(date) Starting install-recovery.sh" > $MYLOG echo "$(date) Waiting SD to become ready..." >> $MYLOG sleep 10 mount -t ext2 /dev/block/mmcblk0p2 /system/sd 1>>$MYLOG 2>>$MYLOG mount -o bind /system/sd/app /data/app 1>>$MYLOG 2>>$MYLOG mount >> $MYLOG echo "$(date) Finishing install-recovery.sh" >> $MYLOG
13) After placing the scripts, change their permissions:
cd /system/etc chmod 555 install-recovery.sh chmod 555 init-sd2.sh
cd /data mv app app_old mkdir app chown system.system app chmod 755 app
16) If you have problems with your widgets don’t worry. You just need to remove then from your homescreen and add again.
17) Check if your applications are running as they should. Restore backups you’ve made with Titanium Backup for the applications showing problems.
18) If your partition didn’t mount at boot, check log file at /data/install-recovery.log
19) From now on your new applications will be installed on your SD Card. You can modify the scripts to store other folders from /data into the ext2 partition as needed. I’ve been running my applications from SD Card for a week now without any problems or bugs.
20) If you can’t make it work, post your question here and I will try to help you out.
21) Donations are welcomed, just drop some money into my paypal account. Just kidding :P
Good luck and cya!