Always out of space

Se7enLC

Active Member
Joined
Nov 16, 2009
Messages
1,262
Reaction score
0
I seem to always be out of space in /data. Kind of a rant, but maybe somebody has a suggestion.

With CM5 and earlier, apps2sd fixed the lack of space by just mapping an extra partition on the SD card into /data, giving you as much space as you want, if I understand it correctly. CM6 and other Froyo ROMs use the official android SD card installs. They use some kind of DRM encryption to help prevent piracy, I suppose. Problem is - they don't actually copy the whole app to the SD card!

Some examples:
Flash is 13MB (8MB when installed to SD)
Skype is 14MB (5MB)
RockPlayer is 7MB (4MB)
Tango is 14MB (9.3MB)

The Firefox app that just got released tried to install 30MB - filled up /data completely and everything started crashing!

Has anyone tried to go back to the old way of apps2sd? Or found another way to save space? It seems like every time I find a new and exciting app, I have to delete a few things to make space. Which is annoying since I have a 32GB card sitting there.
 
Z

ZeroBarrier

Guest
Yes, it can be done using Firerat's Apps2EXT script.

*Solved*CM6 on motoDROID apps2ext firerat's method. does it work? - CyanogenMod Forum

Read this thread, and then read the thread linked on the bottom of the first post.

This should work as long as you're running a ROM that uses the /system/etc/init.d/ scripts at boot.

This requires you to flash a compatible kernel (i.e. slayher's), as the stock cyanogen kernel does not allow you to mount mmcblk0p2 at the moment.

To test if your current kernel supprts this, open Terminal Emulator and type:

su
mount -o rw /dev/block/mmcblk0p2 /sd-ext

If no errors come up, then it worked and your kernel supports mounting mmcblk0p2.

At the moment I'm running a MIUI ROM on my Motorola Droid and have Apps2EXT working flawlessly on the stock 16GB card, 512MB EXT partition and a 32MB swap partition running swap by way of Swapper 2.

Enjoy. Post back to let me know how it worked for you or if you need any help.
 
OP
S

Se7enLC

Active Member
Joined
Nov 16, 2009
Messages
1,262
Reaction score
0
Yes, it can be done using Firerat's Apps2EXT script.

*Solved*CM6 on motoDROID apps2ext firerat's method. does it work? - CyanogenMod Forum

Read this thread, and then read the thread linked on the bottom of the first post.

This should work as long as you're running a ROM that uses the /system/etc/init.d/ scripts at boot.

This requires you to flash a compatible kernel (i.e. slayher's), as the stock cyanogen kernel does not allow you to mount mmcblk0p2 at the moment.

To test if your current kernel supprts this, open Terminal Emulator and type:

su
mount -o rw /dev/block/mmcblk0p2 /sd-ext
If no errors come up, then it worked and your kernel supports mounting mmcblk0p2.

At the moment I'm running a MIUI ROM on my Motorola Droid and have Apps2EXT working flawlessly on the stock 16GB card, 512MB EXT partition and a 32MB swap partition running swap by way of Swapper 2.

Enjoy. Post back to let me know how it worked for you or if you need any help.

Awesome! Just reading through the various scripts was interesting to see how apps2sd really functions. I didn't realize that it allowed you to move apps from /data to /sd-ext and back again individually and it updates the packages database accordingly. Very cool!

My SD card isn't partitioned for that at the moment, so I won't be trying that until I have time to offload and re-load around 20 gigs of stuff, but I think I will try it out. Do you happen to know how far this is off from being included in the nightlies of CM6?
 
Z

ZeroBarrier

Guest
No idea how far away it is to being included in the nightlies, but it doesn't matter much; since Firerat updated the script to "self-destruct" when the feature is implemented in CM 6.1.

Try it out, seriously speaking; you won't run another ROM without this script.

Took me all of two days to figure out why I couldn't get MIUI to run the script successfully. Finally figured out that the ROM wasn't mounting mmcblk0p2 at boot, so I added 1 line to 05mountsd, rebooted, re-ran the script, and BOOM!!! Profit!
 

furbearingmammal

Super Moderator
Joined
Jun 16, 2010
Messages
11,081
Reaction score
363
Location
Anywhere you're not
Website
swdouglas.blogspot.com
Current Phone Model
32GB Moto X Developers Edition
Twitter
furryvarmint
I just enabled Settings> Cyanogenmod settings> Application settings> Allow application moving and set the Install location to external. Haven't had an issue since with running out of internal storage. :)

However, I will look at that script to see if it does anything for me in the future. :D
 
Z

ZeroBarrier

Guest
Actually, it doesn't move Apps to sd-ext, it moves the entire /data/app folder to /sd-ext/app, and if you choose to do so when you first run the script, it also moves /data/data to /sd-ext/data. So the only thing that takes up space on internal memory is /data/dalvik-cache.

When you run ApkManager.sh to move apps around as you see fit (move more important apps to internal memory, something you don't want to have lag on like Maps/Navigation), what it actually does is it moves the apps you want to /data/app_i and puts a symlink for that app in /sd-ext/app/.

All very cool stuff, once you use it once or twice and browse around the folders, you'll get a better idea.
 
Z

ZeroBarrier

Guest
I just enabled Settings> Cyanogenmod settings> Application settings> Allow application moving and set the Install location to external. Haven't had an issue since with running out of internal storage. :)

However, I will look at that script to see if it does anything for me in the future. :D

Try not running out of space when you have around 250 apps, 53 of which are games that can reach up to 15MB (8MB using Apps2FAT on Froyo).

:rofl3:
 
OP
S

Se7enLC

Active Member
Joined
Nov 16, 2009
Messages
1,262
Reaction score
0
This requires you to flash a compatible kernel (i.e. slayher's), as the stock cyanogen kernel does not allow you to mount mmcblk0p2 at the moment.

P3Droid kernel also doesn't work, sadly. I tried out Slayher and it worked, so I'm sticking with that for now.

To test if your current kernel supprts this, open Terminal Emulator and type:

su
mount -o rw /dev/block/mmcblk0p2 /sd-ext
If no errors come up, then it worked and your kernel supports mounting mmcblk0p2.

Or better yet, since I was running a nightly, there was already a mountsd script in the init.d directory. When I booted up with a compatible kernel, I found that /sd-ext was already mounted

At the moment I'm running a MIUI ROM on my Motorola Droid and have Apps2EXT working flawlessly on the stock 16GB card, 512MB EXT partition and a 32MB swap partition running swap by way of Swapper 2.

Enjoy. Post back to let me know how it worked for you or if you need any help.

So far so good. It took a number of hours to pull everything off my 32GB SD card (even with a card reader) and even longer to put it back on after partitioning. I moved ALL my apps to the sd-ext partition and poked around a bit. It's only using /data for the dalvik cache, so it looks like I should be able to store around twice as many apps without it complaining about storage. The "SD Card and Phone Storage" setting option gives the incorrect size estimate, so you need to use du -d 1 -h -x /data to get an actual measurement of how much space is used on the /data partition.

Thanks again for the suggestion! so far it's working flawlessly and I don't even notice any lag or slowness - probably because the cache is still on /data.

I may tinker some more and move some commonly-used apps back to /data to speed them up even more, but it seems like they are fast enough as is.
 

Ozzie

Member
Joined
Aug 6, 2010
Messages
822
Reaction score
0
Location
Minnesota
Yes, it can be done using Firerat's Apps2EXT script.

*Solved*CM6 on motoDROID apps2ext firerat's method. does it work? - CyanogenMod Forum

Read this thread, and then read the thread linked on the bottom of the first post.

This should work as long as you're running a ROM that uses the /system/etc/init.d/ scripts at boot.

This requires you to flash a compatible kernel (i.e. slayher's), as the stock cyanogen kernel does not allow you to mount mmcblk0p2 at the moment.

To test if your current kernel supprts this, open Terminal Emulator and type:

su
mount -o rw /dev/block/mmcblk0p2 /sd-ext
If no errors come up, then it worked and your kernel supports mounting mmcblk0p2.

At the moment I'm running a MIUI ROM on my Motorola Droid and have Apps2EXT working flawlessly on the stock 16GB card, 512MB EXT partition and a 32MB swap partition running swap by way of Swapper 2.

Enjoy. Post back to let me know how it worked for you or if you need any help.

...you caught my attention with the swap partition...did you create the partition and set it up for a swap? I'm interested...
 
OP
S

Se7enLC

Active Member
Joined
Nov 16, 2009
Messages
1,262
Reaction score
0
I take it back, this doesn't work at all. After rebooting, all my apps show up as unknown icons. sd-ext doesn't properly mount on boot, but 05mountsd does mount it when I run it. The apps still don't become available.

EDIT: Got it working again. Problems began when I installed the firefox apk. Maybe there's some size limit on how large an app can be? Or maybe it was the fact that the app crashed the phone and required a battery pull to get it to come back up?
 
Last edited:

furbearingmammal

Super Moderator
Joined
Jun 16, 2010
Messages
11,081
Reaction score
363
Location
Anywhere you're not
Website
swdouglas.blogspot.com
Current Phone Model
32GB Moto X Developers Edition
Twitter
furryvarmint
The ROM has to support it, the kernel has to support it, and even then you have to enable it and sometimes edit/create files to get it to work.

Oh, and Dustpuppy used to be one of my favorite web comic characters.
 
OP
S

Se7enLC

Active Member
Joined
Nov 16, 2009
Messages
1,262
Reaction score
0
Nevermind, it's still having some issues. While it's running, it seems to be fine, but if I hard-power off or pull the battery, when it boots back up it first won't get past the boot animation until I pull the battery, then it thinks none of the applications are installed. After a few more reboots it seems to recover. Not sure what the issue is, but next time it happens I will run aLogCat and see if there's any useful logs (if I can run the app, that is)
 
Z

ZeroBarrier

Guest
Nevermind, it's still having some issues. While it's running, it seems to be fine, but if I hard-power off or pull the battery, when it boots back up it first won't get past the boot animation until I pull the battery, then it thinks none of the applications are installed. After a few more reboots it seems to recover. Not sure what the issue is, but next time it happens I will run aLogCat and see if there's any useful logs (if I can run the app, that is)

That's because you didn't safely unmount the sd-ext partition (it happens on occasion by itself and always if you forcefully reboot it with a battery pull), but a simple reboot will fix this by letting the phone properly unmount the partition before power cycling.
 
OP
S

Se7enLC

Active Member
Joined
Nov 16, 2009
Messages
1,262
Reaction score
0
That's because you didn't safely unmount the sd-ext partition (it happens on occasion by itself and always if you forcefully reboot it with a battery pull), but a simple reboot will fix this by letting the phone properly unmount the partition before power cycling.

I'm not sure it's as simple as that. I had everything working properly for a few days, then I did a power-off (from the hold-power-button menu). When I turned it back on, /sd-ext didn't mount. When I rebooted, /sd-ext mounted but the apps were still all screwed up. The third reboot ended up with a lot of force-closes on acore, requiring a battery pull. Next reboot, /sd-ext didn't mount, etc.

Once /sd-ext is mounted, is there maybe a way to force it to reload the application information?
 
Top