Sunday, April 26, 2009

Installing Apps to your SD Card on G1 Android

I've needed to do this twice now... so I figured it's important enough that these steps get reiterated, and clarified! Over at tmonews.com, you can find the instructions on how to install your g1 apps directly to your SD card (that's right, your phone's disk space won't be full anymore and you can install all the apps you want!). This of course, requires you to have root access and to have your sd card partitioned with an ext2 partition (resources on these topics here). But anyways, here are the same instructions, except I'm adding an extra step so that future readers won't run into the same issue I did. If you do not do this step, not only will your ext2 partition will not mount. Good luck!

Addendum to instructions:

- after step 6, open up the init.rc file in notepad, and change the last line from

mount ext2 /dev/mmcblk0p2 /sd noatime nodiratime

to

mount ext2 /dev/mmcblk0p2 /system/sd noatime nodiratime

- also, the attached file aforementioned can be downloaded here

Source: http://forum.xda-developers.com/showthread.php?t=468959

Prerequisites:

1. Rooted g1 with jesus freak version 1.30 or 1.31.

2. Have "adb" from the android sdk installed on your desktop machine.

Sdcard preparation:

Divide your sdcard into 2 partitions. The first partition should be FAT, the second partition should be EXT2. This can be most easily accomplished using a linux or mac machine. For windows, you can use "paragon partition manager 9" to do this. It will allow you to partition your sdcard and format the 2nd partition to ext2 fs. It is very important that the 2nd partition be formatted as EXT2 or the rest of the procedure will NOT work. The 2nd ext2 partition will be used to store your installed apps.

In the original thread, somebody mentioned a HP sdcard partition tool program, but I don't believe that will allow you to format the partition to EXT2 fs.

Procedure:

1. With the phone off, insert your newly partitioned sdcard into the g1.

2. Connect your g1 to your desktop via the usb cable and turn it on.

3. Backup your original mountd.conf and initrc.rc files from your g1 by running the following commands on your desktop from the cmd shell:

adb pull /system/etc/mountd.conf [dir]
adb pull /system/init.rc [dir]

4. Mount your g1's /system directory as writable via the desktop cmd shell:

adb remount

5. IMPORTANT! Create a /system/sd directory on your g1 via the desktop cmd shell:

adb shell mkdir /system/sd

adb shell ls /system and make sure that the directory has been created.

6. Download the attached modified mountd.conf and init.rc files to your PC.

7. Push the modified mountd.conf to your g1 via the desktop cmd shell:

adb push /[dir]/mountd.conf /system/etc/mountd.conf

8. Push the modified init.rc to your g1 via the desktop cmd shell:

adb push /[dir]/init.rc /system/init.rc

9. Reboot your Machine

10. Connect to the g1 shell via the desktop cmd shell:

adb remount
adb shell

11. Check to see that the ext2 partition has been created and mounted:

busybox df -h

You should see a line that looks similar to this:

/dev/mmcblk0p2 1.2G 9.1M 1.1G 1% /system/sd

If you don't see this line, you didn't partition your sdcard correctly. STOP! Go back and do that.

12. From the G1 shell run the following cmds to copy your app and app-private directories from the internal g1 storage to the sdcard.

busybox cp -a /data/app /system/sd
rm -r /data/app
ln -s /system/sd/app /data/app

busybox cp -a /data/app-private /system/sd/app-private
rm -r /data/app-private
ln -s /system/sd/app-private /data/app-private

13. Reboot, enjoy all the extra storage!

NOTE: This only moves the apk files to the sdcard. None of the app database or cache files are moved. They still reside in the internal storage. So the hacks that put the various cache directories to the sdcard would still apply and allow you to free up additional internal storage space.

http://modmygphone.com/wiki/index.php/Caches_To_SD_Card
Resource:
http://forums.tmonews.com/index.php?topic=7003.0

No comments:

Post a Comment