Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

After rooting and installing link2sd on my HTC Explorer, I still have low memory issues.

On Google Play, I can't download apps larger than 10-15M. This is because the /cache folder is in the internal memory, which is desperately small. In my version, Google Play writes directly in /cache, not in subfolders.

Using adb as root, I deleted /cache and created a symlink /cache -> /mnt/sdcard/cache. This is fine, but when I reboot the phone the symlink is replaced by the old folder.

Is there a proper way to solve this issue once and for all?

Thanks for any hint, A

share|improve this question
    
Theoretically using busybox's runparts, and issue this mount -o bind /mnt/sdcard/cache /cache... this is in theory as have never tried it... –  t0mm13b Jan 3 '13 at 21:02
add comment

2 Answers

up vote 1 down vote accepted

Alas, that's not possible.

At least not without reflashing the HTC's partition table (which happens to be in the bootloader section, aka. hboot). There's seemingly no modded hboot out there for the explorer. I only know of repartitioned hboots for the HTC Desire.

Reason:
/cache is backed by a separate block device on all Android devices(i.e. mount-point or partition), it's needed to hold firmware update files (e.g. definitely needed for encrypted phones). So if you move it, there's no gain because that partition will still be there and not free up space for the /data partition. In case you shrink the /cache partition, OTA updates will not be possible any more (you'd have to use a custom recovery to do it).

share|improve this answer
    
Thanks for clarification -- wasn't aware of that speciality of the Explorer. I will still leave my answer there (though adding a note) for non-explorers exploring our site :) –  Izzy Jan 3 '13 at 13:21
    
Thanks! Dreadful design, this HTC Explorer... –  user26062 Jan 3 '13 at 13:32
    
EDIT: All Android devices have a /cache partition (it's needed to hold firmware update files for upgrading Android, especially on encrypted devices this is a must, when the recovery must access the firmware file in clear text). –  ce4 Jan 3 '13 at 13:33
    
It's (been) dreadful. Google did hard work to change it with Android 4.0+, so it's not a problem on recent devices any more. Read some background here: androidpolice.com/2011/11/18/… –  ce4 Jan 3 '13 at 13:40
    
Sorry, I somewhat misread your Q (I know it has only a 90MB /data partition): You can of course automate the symlinking on boot: stackoverflow.com/questions/7873615/… –  ce4 Jan 3 '13 at 13:45
add comment

You might want to take a look at DirectoryBind, which was developed for things like this. It takes care for the user-configured "mounts" at boot-time and also on-demand, so nothing should "disappear" on a boot.

Basically, it is intended to map things from internal/phone storage to external/sd storage -- especially for cases like yours, were internal memory is running low.

NOTE: According to ce4's answer, this method will not bring any profit concerning the /data folder, as /cache is using its own partition (this seems to apply to all Android devices -- checked with 7 different devices from 5 different manufacturers; according to ce4 this is especially needed on encrypted devices, as an unencrypted partition is required to store firmware updates onto for execution). So if your concern is increasing storage on /data, this won't do with /cache. But if you simply need more space in /cache, it should be perfectly fine. You could then use the original block device (where /cache was pointing to) for something else ;)

NOTE2: AFAIK Google Playstore uses /data/local to buffer its downloads. On most devices, this should only be a directory on the /data partition, and thus could easily be handled by DirectoryBind.

Additional hint: check with the df command from within a terminal whether the directory you want to move from internal to external storage is using a separate partition or not.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.