[GUIDE]Moving Dalvik-Cache to /Cache -Viewpad 7 Tested - Android Software Development

Moving Dalvik-Cache to /cache
Notes:
If you want to move the Dalvik-Cache to /cache you will needed to the following:
1. A Viewpad7 or another branded device (such as: Cherry Mobile Superion, Commtiva Linx N700, Olivepad VT-100, Spice MI700, and Camangi FM600..........)
2. Already got the root permission (For running a set of command)
3. ADB or Terminal Emulator (For running the command)
4. Root Explorer(Optional - if you have a lot of patience for typing)
Steps
1. Build a file call "install-recovery.sh" into the /etc (Path: /etc/install-recovery.sh) With 711 Permission. (Or you can build it in your computer and put it in the sdcard then copy it using Root Explorer.
Code:
#!/system/bin/sh
chmod 771 /cache
2. Move your dalvik-cache and Create Symbolic Link
(You may experience some program FC (Force Close), but never mind)
Code:
mv /data/dalvik-cache /cache/dalvik-cache
ln -s /cache/dalvik-cache /data/dalvik-cache
You've done the action!
If you got a LOT of FC after move the dalvik-cache.
Please go to /(Root) to check the permission of the /cache it may be become 770.
Remarks:
I think it is able to do the same things to a SD Partition or A2SD.
However I have try it. (Because I still haven't install the Custom Recovery.)
If you have any problems. Please leave a message here.
If you want to forward this message. Please provide the source URL in your message.
DISCLAIMER: I cannot be held liable for anything you do to your Viewpad 7 (or equivalent device).
[DISCLAIMER Copy from lakehousetech thanks for your DISCLAIMER.]

Will this still works, after reboot ?

Yes It will be. The install-recovery.sh scripts will be automatically run everytime you boot up the viewpad 7

i found a more efficient method, moving dalvik chache to sd card partitions... using rom manager and link2sd..

wazzzuuuup2 said:
i found a more efficient method, moving dalvik chache to sd card partitions... using rom manager and link2sd..
Click to expand...
Click to collapse
Hah same here And it works great

Could either of you guys who are using ROM Manager/Link2SD provide instructions for how you set that up? Thanks!
Edit, a few days later. Disregard, figured it out on my own. For anyone else interested...
If you're one a Windows based machine, download this, and use it to create an ext2 partition on your SD card. Personally, I copied the contents of the SD over to my computer before I did so, then copied them back after I was done. With link2sd, you can just adjust all the "user" apps to link to the SD, and set it up so it does likewise on install of new apps. Very easy.

Related

[Q] Insufficient Storage :-/ What to do

Hey Guys whenever i download any apps from market i get the error Install Unsuccessful .... Insufficient storage ...
What to do :-/
Rom Hell Fire v7.2
UOT Kitchen Flashed 1
Overclocked 729 Mhz
Wildfire
delete apps or move some to SD card? If your memory is full it's logical you can't add apps
Sounds to me that a2sd is not properly set up.
I been having some issues running out of storage internaly. and after some fiddeling around with a2sd it was ok. And how to do it is posted in this rom's explanation on how to install it.
ruymanca said:
The ROM takes about 10 minutes to start for the first time since the beginning makes for a facility, I recommend formatting the memory trageta do a clean install or possibly delete the folders: ANDROID, LOST DIR ANDROID as these folders SECURE conflicts created by data from the old roms
I recommend making partitions ie swap64mb ext512 and the rest as fat32 mind too expensive or necessarily recommend formatting the card will memory or possibly delete the folders in the same android, haer all the wipes, the Rom takes a few minutes to make first start since being installed all the extras on the first boot takes 3 to 5 minutes, once this echo this start and made ​​previous settings obligation is to do a reboot for full functionality telefeno
Installation of the rom:
1. reboot in recovery mode
2. we wipes all
3. selected to install update sip
4. restart the tlf
5. enter the terminal console and register the following:
his press enter
# a2sd cachesd or enter
the phone will reboot and have about 150 megs of free internal memory
Click to expand...
Click to collapse
nope dint workk :-/
Type "su" first (Without Quotes), then try the a2sd command.
Can u mention it Step by Step?
Hi all, i have same issue.
Yesterday i finally rootat my Wildfire and put Cyanogenmod 7.0.3.stable on it.
Its very nice!
BUT cant allways install apps from market. I have 87mb free on inside memory and 1,7gb in sdcard... So what is problem?
What i need to do? I can full wipe all my data from telefone if somone tell me how i can do this..
Can somone help?
Use dalvik wipe from xrecovery to clean ur phone data..
Sent from my U20i using XDA Premium App
try istalling darktremor a2sd script (need to be istalled from recovery if not already integrated into your rom) and download a2sdgui from market, it's a gui for the script mentioned earlier. into recovery you have to partition your sd card too (advanced) 1024mb ext and i suggest 64mb swap, then open the app I told you (a2sdgui) and move everything to ext, dalvik cache too.
I agree with the poster above.
if you have issues with a2sd, I recommend installing A2SDGUI from market. (I assume you already have darktremors a2sd script installed). I had darktremors script working fine, but after flashing a zip file, it was not working. So I installed the A2SDGUI from darktremor and fixed the script. Now it is working. Just search the market and install it. It is great. Now I have around 168 MB free after all the installed apps.
Hope this helps,
SOLUTION TO INSUFFICIENT STORAGE:
1. Use FROYO+ default apps2sd. It gives the option to force moving of 95% of the apps to sdcard. Even root is not necessary. You can move 95% of apps only after using the adb command "adb shell pm setInstallLocation 2". This command is not even needed in cm7. And this method uses the fat/fat32 partition of sdcard not the ext partition. Specifically apps will be installed to .android_secure folder in the root of sdcard.
2. This method includes creating ext partition on sdcard and using an app called "link2sd". This is a root only app. No scripts are needed. That app has option to even link individual apps to ext partition. Also links dalvik cache.
3. Creating ext + swap partition and using dtapps2sd script. Root is required. Also custom recovery is required for flashing the script. This might be the toughest one but it is pretty awesome. Moves apps , data, dalvik cache to ext partition. Everything can be done with commands from the terminal emulator. Or you can use the "a2sdgui" app for graphical user interface.
Sent from my HTC Wildfire using XDA App
The GUI for the script is much more user-friendly than emulator terminal. And you can undo everything you did if it's not as you tought faster than from terminal.
I am not aware of how Hell Fire works. But yes for Cyanogenmod 7 I know there is a issue downloading a large application from the market. It won't download. Problem is the space.
Fix for this is few steps:
1. In Terminal type the following commands.
2. su
3. mkdir /sdcard/download-cache
4. cd /cache
5. mv download download.bak
6. ln -s /sdcard/download-cache download
Done... Now Go to market and download anything you won't get such errors..
If It Helps Don't forget Press Thank Button.
Thanks a lot!
I just get my new sd-card( 16 Gb) and install darktremor a2sd script + a2sdgui.
Works just like it says!
No more thinking what program van install and what not....
Well I just installed the MOdd Again ... and I was done
Though i bought Samsung Galaxy ace as its my second time the Touch Panel doesn't work ... first in Tattoo and den in Wildfire
So ... Thanx a lot guys for Helping
DestinyAwaits said:
I am not aware of how Hell Fire works. But yes for Cyanogenmod 7 I know there is a issue downloading a large application from the market. It won't download. Problem is the space.
Fix for this is few steps:
1. In Terminal type the following commands.
2. su
3. mkdir /sdcard/download-cache
4. cd /cache
5. mv download download.bak
6. ln -s /sdcard/download-cache download
Done... Now Go to market and download anything you won't get such errors..
If It Helps Don't forget Press Thank Button.
Click to expand...
Click to collapse
Working perfectly fine for me Thanks!

Thread closed.

Thread closed.
Thread closed.
Yank555 said:
Hi,
REMEMBER
FIRST OF ALL, do a Nandroid backup, as well as a backup of your sd-card content !
You're doing this at your very own risk, I'm not to be held responsible if something goes wrong
Now that said, let's get going
In case somebody wants to check it out, here is the swap activation script I wrote (attached) as well as explanations on how to make it all work :
1) Partition your sd-card (Minitool Partition Wizard, 4ext, CWM...)
2) Boot your system with the partitionned sd-card
3) If necessary customize the 99swap script (attached to this post) and then put it onto your sd-card's root folder, you'll need it while executing the commands in step 4.
4) Open a terminal and type the following
NB: Change "mkswap /dev/block/mmcblk0p3" accordingly to point to the swap partition you've created in step 1.
5) Reboot your phone, start a terminal again and type free, you'll need to see something different than 0 in your swap line, look at the attached print-screen
Swappiness will be set to 50 by the script, which is a rather conservative swap use, made sense to me since SD-swap is slower than ram, better not to use it too agressively. Feel free to experiment with the swappiness variable in the script (values between 0 and 100, 0 meaning "try not to swap", 100 meaning "try to swap all the time")
If you want to try and have a question, just let me know !
JP.
PS: You can find the thread for hard swap for the htc Sensation / XE here.
Click to expand...
Click to collapse
Hi JP,
This is a gem of a post! Thanks alot for the script and the detailed breakdown. Before I get into it though, I must warn you that I am more of a beginner with no coding/scripting experience (I don't know how to use adb or anything)...
Here's what I'm trying to do: I'm trying to activate hard-swap on my hd2 (currently) running the ParanoidAndroid by Xylograph. I've created 3 partitions on my 16gb class 6 sd card: first, fat32 (32k cluster), next, 1GB ext2 (default), 500MB swap.
Procedure:
1. I extracted the script and copied it directly to system/etc/init.d folder of the Rom (I looked at the terminal commands you posted and the first few lines looked like copying the file from the sd root to the init.d folder (it was just a guess though), so I figured might as well put it into the rom before I flash it)
2. Flashed the rom
3. To activate it, I typed the following into the terminal:
su
mount -o remount,rw /system
mkswap /dev/block/mmcblk0p3
mount -o remount,ro /system
exit
after the mkswap command, I did get an activation notification that a certain amount was assigned to swap. But my celebrations were cut short after I rebooted and used the free command to check. The entire swap row still read 0.
I was wondering if you can point me in the right direction... thanks!
Also, is there a way to create a cwm flashable version?
bullcrapr said:
Hi JP,
This is a gem of a post! Thanks alot for the script and the detailed breakdown. Before I get into it though, I must warn you that I am more of a beginner with no coding/scripting experience (I don't know how to use adb or anything)...
Here's what I'm trying to do: I'm trying to activate hard-swap on my hd2 (currently) running the ParanoidAndroid by Xylograph. I've created 3 partitions on my 16gb class 6 sd card: first, fat32 (32k cluster), next, 1GB ext2 (default), 500MB swap.
Procedure:
1. I extracted the script and copied it directly to system/etc/init.d folder of the Rom (I looked at the terminal commands you posted and the first few lines looked like copying the file from the sd root to the init.d folder (it was just a guess though), so I figured might as well put it into the rom before I flash it)
2. Flashed the rom
3. To activate it, I typed the following into the terminal:
su
mount -o remount,rw /system
mkswap /dev/block/mmcblk0p3
mount -o remount,ro /system
exit
after the mkswap command, I did get an activation notification that a certain amount was assigned to swap. But my celebrations were cut short after I rebooted and used the free command to check. The entire swap row still read 0.
I was wondering if you can point me in the right direction... thanks!
Also, is there a way to create a cwm flashable version?
Click to expand...
Click to collapse
Thanx
In fact you understood correctly that is was about copying the file to init.d.
By the way, these commands do the following :
mount -o remount,rw /system - Mount system partition in read-write
mount -o remount,ro /system - Mount system partition in read-only
So to format the swap partition "mkswap /dev/block/mmcblk0p3" there was no need for it, but it didn't harm in any way, so you're fine there
I guess what is missing is the "chmod 755 /system/etc/init.d/99swap" command which will set the correct file access to the script so it can get executed at boot.
You might do the following in a terminal :
su
mount -o remount,rw /system
chmod 755 /system/etc/init.d/99swap
mount -o remount,ro /system
exit
It should be fine then.
Alternatively you could set the rights with your file explorer (in root explorer mode), they must be "rwxr-xr-x" (which is Read-Write-Execute, Read-Execute, Read-Execute), most file-manager will allow you to do that as well.
I've been working on the script variant for htc Sensation, it is more advanced, dynamic so it can find the swap partition by itself.
I'll make a CWM flashable as soon as I get to it that will handle everything except partitioning the SD card, obviously, for both devices.
As soon as I'm done I'll post the HD2 version here as well (very little change, between both devices, just the access path to the sd-card partitons to change (=1 line in the script).
JP.
Edit ------------------------------------------------
I just reread your post, if in fact you put it into the ROM zipfile, then file access should be correct !?
Could you post the following file (if it exists) :
/data/swap.0.log ?
JP.
Yank555 said:
Thanx
In fact you understood correctly that is was about copying the file to init.d.
By the way, these commands do the following :
mount -o remount,rw /system - Mount system partition in read-write
mount -o remount,ro /system - Mount system partition in read-only
So to format the swap partition "mkswap /dev/block/mmcblk0p3" there was no need for it, but it didn't harm in any way, so you're fine there
I guess what is missing is the "chmod 755 /system/etc/init.d/99swap" command which will set the correct file access to the script so it can get executed at boot.
You might do the following in a terminal :
su
mount -o remount,rw /system
chmod 755 /system/etc/init.d/99swap
mount -o remount,ro /system
exit
It should be fine then.
Alternatively you could set the rights with your file explorer (in root explorer mode), they must be "rwxr-xr-x" (which is Read-Write-Execute, Read-Execute, Read-Execute), most file-manager will allow you to do that as well.
I've been working on the script variant for htc Sensation, it is more advanced, dynamic so it can find the swap partition by itself.
I'll make a CWM flashable as soon as I get to it that will handle everything except partitioning the SD card, obviously, for both devices.
As soon as I'm done I'll post the HD2 version here as well (very little change, between both devices, just the access path to the sd-card partitons to change (=1 line in the script).
JP.
Edit ------------------------------------------------
I just reread your post, if in fact you put it into the ROM zipfile, then file access should be correct !?
Could you post the following file (if it exists) :
/data/swap.0.log ?
JP.
Click to expand...
Click to collapse
Hi JP
You are incredibly helpful and I appreciate it!
I finally got some time off and tried out what you mentioned... but to no avail. I applied the necessary permissions through the terminal (chmod 755) as well as through the root browser, but it was still the same. After that I even retried the terminal commands, and included the "chown 0:2000...", but that didn't work either...
... and then I saw your post update...
About that, i just typed it into the terminal, and I got "not found".
Was that what I was supposed to do?
bullcrapr said:
Hi JP
You are incredibly helpful and I appreciate it!
I finally got some time off and tried out what you mentioned... but to no avail. I applied the necessary permissions through the terminal (chmod 755) as well as through the root browser, but it was still the same. After that I even retried the terminal commands, and included the "chown 0:2000...", but that didn't work either...
... and then I saw your post update...
About that, i just typed it into the terminal, and I got "not found".
Was that what I was supposed to do?
Click to expand...
Click to collapse
Hi,
You're welcome
The file '/data/swap.0.log' is a text-file containing info on the execution of the script...
If it's not there, then the script didn't run at all...
I should have a little time later today, will try to make the CWM flashable solution for you, should be a no fuss solution, as long as the sd-card has a swap partition
How did you partition the card ? CWM ?
JP.
Sent from my Android Revolution HD 6.6.5 XE / faux kernel 007b3 powered htc Sensation XE using xda premium
I created a 256Gb partition...
Click to expand...
Click to collapse
man thats a helluva sd card ya have there! hehe.
samsamuel said:
man thats a helluva sd card ya have there! hehe.
Click to expand...
Click to collapse
Haha I noticed that too :') I want one of those now
Nigeldg said:
Haha I noticed that too :') I want one of those now
Click to expand...
Click to collapse
Thanx for pointing that out Mb of course, but in a few years that might be possible
My first hdd had 60Mb, and that's not soooo long ago
JP.
Sent from my Android Revolution HD 6.6.5 XE / faux kernel 007b3 powered htc Sensation XE using xda premium
heh, my first was a 20mb HDD mounted on a pcb card and plugged into an ISA slot, took up the full length of the PC, weighed LOADS, could have beaten burglars to death with it.
bullcrapr said:
Hi JP
You are incredibly helpful and I appreciate it!
I finally got some time off and tried out what you mentioned... but to no avail. I applied the necessary permissions through the terminal (chmod 755) as well as through the root browser, but it was still the same. After that I even retried the terminal commands, and included the "chown 0:2000...", but that didn't work either...
... and then I saw your post update...
About that, i just typed it into the terminal, and I got "not found".
Was that what I was supposed to do?
Click to expand...
Click to collapse
+1 with this (also on Paranoid Rom 1.1a) but I think that it's something with the ROM coz on earlier build v1 this method worked verry good I hope that Yank will find a solution coz it reallly helps wit our 576 ram
samsamuel said:
heh, my first was a 20mb HDD mounted on a pcb card and plugged into an ISA slot, took up the full length of the PC, weighed LOADS, could have beaten burglars to death with it.
Click to expand...
Click to collapse
Mine was huge at the time, was on of the first to have such a big one, even partitioned it into 3 since it was just too big And it was an external device, the size of a pizza-box (it was en Atari Megafile 60, I still have it !!).
triggaz said:
+1 with this (also on Paranoid Rom 1.1a) but I think that it's something with the ROM coz on earlier build v1 this method worked verry good I hope that Yank will find a solution coz it reallly helps wit our 576 ram
Click to expand...
Click to collapse
I'm working on the CWM flashable right now, should be done within 1-2 hours at most
Yank555 said:
Hi,
You're welcome
The file '/data/swap.0.log' is a text-file containing info on the execution of the script...
If it's not there, then the script didn't run at all...
I should have a little time later today, will try to make the CWM flashable solution for you, should be a no fuss solution, as long as the sd-card has a swap partition
How did you partition the card ? CWM ?
JP.
Sent from my Android Revolution HD 6.6.5 XE / faux kernel 007b3 powered htc Sensation XE using xda premium
Click to expand...
Click to collapse
Hi JP, once you told me it was the address to the file, i just navigated there using my explorer and lo and behold!, there it was (attached). If you must know, in my earlier post, the idiot in me just typed it in the terminal and the terminal replied not found.
I made my partition using freeware called Minitool partition wizard. Is 500mb too big for swap in your opinion? I was thinking of compensating for zram, and hence the size... thanks for your speedy responses...
edit...
and hey! whadya know? in the meantime, this place is coming alive!!
bullcrapr said:
Hi JP, once you told me it was the address to the file, i just navigated there using my explorer and lo and behold!, there it was (attached). If you must know, in my earlier post, the idiot in me just typed it in the terminal and the terminal replied not found.
I made my partition using freeware called Minitool partition wizard. Is 500mb too big for swap in your opinion? I was thinking of compensating for zram, and hence the size... thanks for your speedy responses...
edit...
and hey! whadya know? in the meantime, this place is coming alive!!
Click to expand...
Click to collapse
Hmm ... strange, the content of the file looks like a logcat ?! Not what I was expecting to see
Give me a little hour, and I think I should be done with the flashable hard-swap and we'll go from there
Minitool is excellent, but did you pay attention to only create "primary" partition ? If it is a logical partition it won't work...
Can you insert your SD card into your card reader, start Minitool an post a print screen of it ?
JP.
EDIT :
About size ... I believe 256Mb is enough, even read somewhere t shouldn't be more than 256, but I think there was no specific reason given.
Yank555 said:
Hmm ... strange, the content of the file looks like a logcat ?! Not what I was expecting to see
Give me a little hour, and I think I should be done with the flashable hard-swap and we'll go from there
Minitool is excellent, but did you pay attention to only create "primary" partition ? If it is a logical partition it won't work...
Can you insert your SD card into your card reader, start Minitool an post a print screen of it ?
JP.
EDIT :
About size ... I believe 256Mb is enough, even read somewhere t shouldn't be more than 256, but I think there was no specific reason given.
Click to expand...
Click to collapse
Here we go...
Minitool image attached... I typically pay attention to the partition type and made sure both of them were primary
About the logcat, I suspect you're right... I was trying to do one from my pc for the first time using adb and tried the only few commands I know (mkswap...), I think that's what you saw then...
Incidentally, do you feel if I reduce the swap size, the script has a better chance at surviving the boot?
bullcrapr said:
Here we go...
Minitool image attached... I typically pay attention to the partition type and made sure both of them were primary
About the logcat, I suspect you're right... I was trying to do one from my pc for the first time using adb and tried the only few commands I know (mkswap...), I think that's what you saw then...
Incidentally, do you feel if I reduce the swap size, the script has a better chance at surviving the boot?
Click to expand...
Click to collapse
Don't bother, I will test 500Mb and let you know if that is the issue
JP.
I have 512mb partition and it worked without problems as I mentioned earlier so I think that opposite to the "size does matter" in this case it doesn't plus I used it with zram from marc1706.
triggaz said:
I have 512mb partition and it worked without problems as I mentioned earlier so I think that opposite to the "size does matter" in this case it doesn't plus I used it with zram from marc1706.
Click to expand...
Click to collapse
Hi triggaz, are you using the built in zram on Para1.1a? Or have you applied a script from elsewhere? I enabled the built-in zram, but get a "not found" reply when i try zram_stats in the terminal. Can you tell me how you got zram working? thanks...
bullcrapr said:
Hi triggaz, are you using the built in zram on Para1.1a? Or have you applied a script from elsewhere? I enabled the built-in zram, but get a "not found" reply when i try zram_stats in the terminal. Can you tell me how you got zram working? thanks...
Click to expand...
Click to collapse
https://www.dropbox.com/s/xr3z102gxiw2f62/marc1706_zram_100MB.zip
all credits to Dorimanx for ZRAM mod and mark1706 for modifications
I flashed this and then used the compcashe options in Paranoid (set to 26%)

[MOD] [GUIDE] Save /data space and use that /cache partition!

LINK TO THE THREAD WITH THE AUTOMATED SCRIPT (thanks to @skyguy126): http://forum.xda-developers.com/moto-g/general/mod-storage-reloacting-dalvik-cache-t2953616
Hello everybody
as you may know, our Moto G's internal eMMC card has a ~600Mb partition called /cache, which is not used since the apps' cache is stored in /data, so the latter fills up and the first one stays empty.
Owning a 8Gb model, having 600Mb not available for storage really bugged me, because my phone's memory (/data partition) was always full because it's a 5.7Gb space shared between apps and microSD files.
Well, thanks to @skyguy126, who linked me to this guide, I managed to link the dalvik cache files to the /cache partition
Now, it may not work for you if:
a) you have A LOT of apps installed.
And by "a lot", I mean more than 90-100 apps, but if you have a 8Gb model, you probably don't :laugh:
b) you're running ART
Since ART uses a lot more space than dalvik, the space in the /cache partition probably won't be enough. When I was running ART, it used 1Gb more than dalvik.​
Other than that, all you need is a rooted phone, the Terminal Emulator app installed (HERE), a root file manager, at least one hand and a working brain
I TAKE NO RESPONSIBILITY FOR ANY DAMAGE THAT HAPPENS TO YOUR PHONE, CONTINUE AT YOUR OWN RISK.
Steps:
1) Open any text editor, messaging app, notes app or anything that allows a text input. write the following line, select it and copy it to your clipboard (you'll need it later).
Code:
ln -s /cache/dalvik-cache /data/dalvik-cache
Also, make sure you open the Terminal Emulator app and type in "su" (without quotes), then grant it superuser access. You'll need to switch to it quickly.
2) Open your root file manager, while making sure you still see the terminal emulator's notification (I used Root Explorer but any other app should work just fine), go to /data, select the /dalvik-cache folder (just to be sure, hit "properties" to check its size. If it's less than 600Mb you're good to go. If it's not, this won't work, sorry) and move (NOT copy, MOVE) it to /cache. If it asks you to merge two folders, do it.
NOTE: now some apps may start force closing, it's normal, keep going
3) Switch to the Terminal Emulator app (via the recents screen or by tapping its notification" and paste the text you copied at the beginning by long-pressing the black screen and hitting "Paste" (DUH?!?), hit enter, make sure no error messages come up, then reboot.
TA-DAAAA!
Your dalvik cache is now linked to the /cache partition, enjoy that half a gigabyte
If you need any help, feel free to PM me
"But Bert, what if it doesn't work and my phone explodes?"
Well, if it blows up there's nothing much I can do, but if it's just stuck at bootanimation/bootlogo/somewhere where you can't use it, simply head to the recovery and wipe dalvik-cache. This will revert the process and delete the link, putting the phone as it was before
Batch File to Automate the Process!!!
Look at reply #58 for latest information
Old:
Batch file complete, credit goes to @Bert98 for devising a method.
USE THIS COMPLETELY AT YOUR OWN RISK! You may NOT rehost, take credit, or make a paid download without the permission of @skyguy126 or @Bert98
This will only work on windows based computers!
I tested this on my moto g xt1032 16GB running CM11 Nightly and it worked fine.
Click that thanks button if it helped!
How to use:
Step 1: Download the attached file and extract.
Step 2: Double click the cachemove.rbat file and follow the onscreen instructions.
EDIT: THIS IS NOT WORKING ON MOTO G STOCK 4.4.4!!!
I am working on this issue but any help is greatly appreciated!
Common errors:
"adbd root cannot run as root in production builds"
Solution: http://forum.xda-developers.com/showthread.php?t=1687590
Install the app and run it. Enable insecure binary.
Changelog:
v1.1 - Fixed some minor bugs in script.
v1.2 - Added a restore script.
Keep in mind that the /cache partition will be slower as it's a ext4 partition as opposed to f2fs
DustArma said:
Keep in mind that the /cache partition will be slower as it's a ext4 partition as opposed to f2fs
Click to expand...
Click to collapse
/data is a F2FS only on stock ROM, on GPE and other ROMs it's ext4 as well
Inviato dal mio Moto G utilizzando Tapatalk
Bert98 said:
Hello everybody
as you may know, our Moto G's internal eMMC card has a ~600Mb partition called /cache, which is not used since the apps' cache is stored in /data, so the latter fills up and the first one stays empty.
Owning a 8Gb model, having 600Mb not available for storage really bugged me, because my phone's memory (/data partition) was always full because it's a 5.7Gb space shared between apps and microSD files.
Well, thanks to @skyguy126, who linked me to this guide, I managed to link the dalvik cache files to the /cache partition
Now, it may not work for you if:
a) you have A LOT of apps installed.
And by "a lot", I mean more than 90-100 apps, but if you have a 8Gb model, you probably don't :laugh:
b) you're running ART
Since ART uses a lot more space than dalvik, the space in the /cache partition probably won't be enough. When I was running ART, it used 1Gb more than dalvik.​
Other than that, all you need is a rooted phone, the Terminal Emulator app installed (HERE), a root file manager, at least one hand and a working brain
I TAKE NO RESPONSIBILITY FOR ANY DAMAGE THAT HAPPENS TO YOUR PHONE, CONTINUE AT YOUR OWN RISK.
Steps:
1) Open any text editor, messaging app, notes app or anything that allows a text input. write the following line, select it and copy it to your clipboard (you'll need it later).
Code:
ln -s /cache/dalvik-cache /data/dalvik-cache
Also, make sure you open the Terminal Emulator app and type in "su" (without quotes), then grant it superuser access. You'll need to switch to it quickly.
2) Open your root file manager, while making sure you still see the terminal emulator's notification (I used Root Explorer but any other app should work just fine), go to /data, select the /dalvik-cache folder (just to be sure, hit "properties" to check its size. If it's less than 600Mb you're good to go. If it's not, this won't work, sorry) and move (NOT copy, MOVE) it to /cache. If it asks you to merge two folders, do it.
NOTE: now some apps may start force closing, it's normal, keep going
3) Switch to the Terminal Emulator app (via the recents screen or by tapping its notification" and paste the text you copied at the beginning by long-pressing the black screen and hitting "Paste" (DUH?!?), hit enter, make sure no error messages come up, then reboot.
TA-DAAAA!
Your dalvik cache is now linked to the /cache partition, enjoy that half a gigabyte
If you need any help, feel free to PM me
Click to expand...
Click to collapse
Hello! Thnk you for the tip, but, with me, i think, didnt work.
Im stuck in the boot, can you helpme to restore the directories? BTW, i have folloed all the steps like you say, i dont know why not work, im using CRom
Greetings!
KahosTch said:
Hello! Thnk you for the tip, but, with me, i think, didnt work.
Im stuck in the boot, can you helpme to restore the directories? BTW, i have folloed all the steps like you say, i dont know why not work, im using CRom
Greetings!
Click to expand...
Click to collapse
Do you have TWRP on your device?
Inviato dal mio Moto G utilizzando Tapatalk
i have CWM, philz touch.
(any idea why didnt work? :c )
KahosTch said:
Hello! Thnk you for the tip, but, with me, i think, didnt work.
Im stuck in the boot, can you helpme to restore the directories? BTW, i have folloed all the steps like you say, i dont know why not work, im using CRom
Greetings!
Click to expand...
Click to collapse
To get it working just wipe dalvik cache in cwm, it will re-create directory in /data.
I had the same issue..
I will try to investigate what went wrong with this....
fabus said:
To get it working just wipe dalvik cache in cwm, it will re-create directory in /data.
I had the same issue..
I will try to investigate what went wrong with this....
Click to expand...
Click to collapse
jaja Thakyou, that work.:fingers-crossed:
I have found an issue. When you are copying /data/dalvik-cache to /cache/dalvik cache permissions can be mismatched (different partition type).
To fix it just:
- Go to CWM
- Connect phone to PC (should be recongnized as ADB device, if not check in Hardware Manager how it was recongizes)
- issue "ADB shell" command
- in Android shell: chmod 644 /cache/dalvik-cache/*
- reboot and you are done
I have made up an easier way to achive dalvik-cache on /cache partition:
On running android:
- make sure /cache/dalvik-cache folder is empty!!
- Rename /data/dalvik-cache to /data/dalvik-cache2
- ln -s /cache/dalvik-cache /data/dalvik-cache
- reboot and done
Android will recreate dalvik cache in /cache/dalvik-cache dir, it will take about 10 minutes, so be patient
if something goes wrong, just rename /data/dalvik-cache2 by ADB (e.g. in CWM)
I hope if was helpfull.
Cheers,
good work
Thank you for this. I will definitely be doing this.
You should make a batch file that does this whole process automatically. I would be happy to assist!
Guys could some experts code a batch file for this?
I appreciate the guide but terminal codes etc are beyond me.....
600mb is quite a lot of space to gain for an 8gig moto g
Sent from my XT1032 using XDA Free mobile app
AndroidHtc101 said:
Guys could some experts code a batch file for this?
I appreciate the guide but terminal codes etc are beyond me.....
600mb is quite a lot of space to gain for an 8gig moto g
Sent from my XT1032 using XDA Free mobile app
Click to expand...
Click to collapse
It's up to 600mb. It's what ever size your dalvik cache is. I don't think this will work on android 5.0 since the change to art.
Yep I'll work on it... Hopefully it'll work, no promises...
skyguy126 said:
Yep I'll work on it... Hopefully it'll work, no promises...
Click to expand...
Click to collapse
That'd be great, since I know nearly nothing about batch files if you succeed, I'll put it in the OP
Inviato dal mio Moto G utilizzando Tapatalk
Skyguy
I have around 125apps and 500mb free, would installing the batch screw my phone up?
Thanks for helping
Sent from my XT1032 using XDA Free mobile app
AndroidHtc101 said:
Skyguy
I have around 125apps and 500mb free, would installing the batch screw my phone up?
Thanks for helping
Sent from my XT1032 using XDA Free mobile app
Click to expand...
Click to collapse
It depends on your /data/dalvik-cache folder's size, you can check with root explorer
Inviato dal mio Moto G utilizzando Tapatalk
Hi Bert
It's 466.92mb
If I could get 500mb of more free space I would have a gig free which would really help my 8gb moto g
Sent from my XT1032 using XDA Free mobile app
AndroidHtc101 said:
Hi Bert
It's 466.92mb
If I could get 500mb of more free space I would have a gig free which would really help my 8gb moto g
Sent from my XT1032 using XDA Free mobile app
Click to expand...
Click to collapse
Follow the instructions in the OP then, you're good to go
Inviato dal mio Moto G utilizzando Tapatalk

[MOD][SCRIPT] Get More Storage by Relocating Dalvik Cache!

DISCLAIMER: YOU AGREE TO TAKE FULL RESPONSIBILITY FOR YOUR DEVICE IF YOU PROCEED.
The original thread (http://forum.xda-developers.com/moto-g/general/mod-save-data-space-cache-partition-t2942765) was getting to cluttered up with development and testing so I decided to start a new thread with the "finished" product. The original thread will be renamed to Q&A/Development. We might even ask for the old thread to be closed down. (up to @Bert98, the thread's creator.)
Moto G's internal eMMC card has a ~600Mb partition called /cache, which is not used since the apps' cache is stored in /data, so the latter fills up and the first one stays empty.
Owning a 8Gb model, having 600Mb not available for storage really bugged me, because my phone's memory (/data partition) was always full because it's a 5.7Gb space shared between apps and microSD files.
Now, it may not work for you if:
a) you have A LOT of apps installed.
And by "a lot", I mean more than 90-100 apps, but if you have a 8Gb model, you probably don't
b) you're running ART (this is default in lollipop and newer)
Since ART uses a lot more space than dalvik, the space in the /cache partition probably won't be enough. When I was running ART, it used 1Gb more than dalvik.
Original post by @Bert98
Click to expand...
Click to collapse
This was tested on my moto g 16GB which is running RetailUS_4.4.4 kitkat with CWM recovery. The custom ROM procedure was tested on the same phone but with cm11 Nightly installed.
Prerequisites:
1. You must have "adb root" functioning. If you don't head to this thread: http://forum.xda-developers.com/showthread.php?t=1687590 and there is a free download link at the bottom of the post.
Download and install the apk on your phone. Open up adbd insecure (the new app) and grant it superuser rights PERMANENTLY. Check the box that says "enable insecure binary" and make sure to check the box
that says "enable at boot."
2. You must have a recovery that can accept adb shell commands.
3. Root Access Duh?!
4. A windows machine capable of running batch files.
5. A decent text editor, notepad will work but notepad++ is strongly recommended. (Only needed if you are using STOCK ROM procedure)
Please, please make a nandroid backup before you continue!!!!
Stock ROM procedure:
Read the directions very carefully and then read them again, before continuing.
1. Download the cachemover_v1.3.zip from: LINK REMOVED DUE TO SCRIPT ISSUES.
2. Extract the contents.
3. Connect device to PC and navigate to the extracted folder.
4. Double click/Run the cachemover_Stock.bat
5. Follow the onscreen instructions until you get to the part where it says to edit a file.
6. About halfway through the script it will pull a file called "init.qcom.post_boot.sh" to the folder.
7. Open it with a TEXT editor and navigate to about line 487 (Might be different for 8gb model). Look here for a better understanding: https://www.dropbox.com/s/jr5lyl5s5i2jtpg/where to paste code.PNG?dl=0
8. Start a new line and paste this code in the file: (Refer to the image above for help)
Code:
chmod 655 /cache
chmod 655 /cache/dalvik-cache
chmod 655 /cache/dalvik-cache/*
9. Make sure to save the file in the same folder as the cachemover_Stock.bat
10. Press any key to continue on the script and let it do its thing.
11. It will reboot several times and land you on the home screen/lock screen.
12. If the script hangs after a reboot, you need to unlock the device to reestablish a connection with your computer.
13. There might be one or two force closes but once you close the notifications they will not come back.
Custom ROM procedure:
USE THIS FOR ROMS THAT DO NOT REMOUNT OR CHANGE PERMISSIONS OF /CACHE ON BOOT
1. Download the cachemover_v1.3.zip from: https://www.dropbox.com/s/bzj34g4q1s61ojz/cachemover_v1.3.zip?dl=0
2. Extract the contents.
3. Connect device to PC and navigate to the extracted folder.
4. Double click/Run the cachemover.bat
5. Follow the onscreen instructions.
If anything goes wrong:
Go to recovery, wipe cache, then wipe dalvik-cache and reboot. This should get your device back to how it was.
(If you used STOCK ROM procedure)
The script made a backup of the "init.qcom.post_boot.sh" file to /sdcard/init_backup
You can restore the shell script to /system/etc/ via shell commands or by using a root browser. To restore permissions:
Code:
chmod 740 /system/etc/init.qcom.post_boot.sh
chown root:root /system/etc/init.qcom.post_boot.sh
Custom ROM procedure already has a restore script!
I am currently working on an auto restore script for stock and that will be relased soon, hopefully! :good:
Changelog:
v1.0 - First stable release. Does not work on STOCK ROM.
v1.1 - Added a restore script.
v1.3 - Added support for STOCK ROM. There are still a few bugs.
How it works?!?!
Coming soon...
Huge thanks to @Bert98 and @dd043
Hit the thanks button if it worked! I went through about 50 factory resets, and reflashed the ROM about 25 times, and put about 10 hours of work into this script! Really motivates me for future projects. :laugh:
Thanks for your help man and effort.
I encountered a problem, everything works up until my device boots in CWM to fix permissions, then just sits there doing not alot I don't even see the option in my CWM.
Any ideas? cheers
Sent from my XT1032 using XDA Free mobile app
When it reboots to cwm unplug the cable and replug it, if it hangs just type these commands manually from a command window.
chmod 655 /cache
chmod 655 /cache/dalvik-cache
chmod 655 /cache/dalvik-cache/*
reboot
If this does not work you may ned to go into mounts & storage in the cwm menu and click mount /cache. Then try the commands again.
I'm having some issues on stock.
I thought 0655 fixed everything but no, I can't install any app after moving the dalvik-cache to /cache. I tried chmoding 0777 on the new cache folder, on /cache itself, to no avail.
Code:
E/dexopt cannot open '/data/dalvik-cache/[email protected]' for output
Anyone can confirm it's not only my device? And/or can help find a fix?
Also does someone knows how to execute commands on a particular init step? Real init.rc scripts can do:
Code:
on post-fs-data
mount -o bind /cache/dalvik /data/dalvik-cache
It there was a way to achieve the same from post_boot/init.d we could mount -o bind /cache/dalvik /data/dalvik-cache and all permissions issues would disappear as well as the need for symlink.
You have a typo in the threads title. Just a heads up.
Vuciz said:
You have a typo in the threads title. Just a heads up.
Click to expand...
Click to collapse
Thanks for letting me know!
dd043 said:
I'm having some issues on stock.
I thought 0655 fixed everything but no, I can't install any app after moving the dalvik-cache to /cache. I tried chmoding 0777 on the new cache folder, on /cache itself, to no avail.
Code:
E/dexopt cannot open '/data/dalvik-cache/[email protected]' for output
Anyone can confirm it's not only my device? And/or can help find a fix?
Also does someone knows how to execute commands on a particular init step? Real init.rc scripts can do:
Code:
on post-fs-data
mount -o bind /cache/dalvik /data/dalvik-cache
It there was a way to achieve the same from post_boot/init.d we could mount -o bind /cache/dalvik /data/dalvik-cache and all permissions issues would disappear as well as the need for symlink.
Click to expand...
Click to collapse
Let me try and do that right now... Ill get back to you if it does!
My script works on stock btw... But the mount way seems a bit easier and might cause less errors than my way.
Try it please.
skyguy126 said:
Let me try and do that right now... Ill get back to you if it does!
My script works on stock btw... But the mount way seems a bit easier and might cause less errors than my way.
Try it please.
Click to expand...
Click to collapse
Yes I've tried your script, all went well but the result is the same. The script itself works nicely btw
Applications present before moving cache work perfectly, but I can't install anything new. I suspect it might be my device but before wiping everything I'd prefer feedback from others :fingers-crossed:.
I cannot install new apps as well. The mount command you showed me has the same effect too. I honestly don't know anymore, the sym link did not allow the install of new apps nor did the mount command you sent me. Correct me if I am wrong.
Edit: Going through all the init files on my phone to see which one remounts /cache at boot.
Why does the init.rc get overwritten at boot. Is it because the kernel (boot.img) is the one that copies it over? I have found by changing the perms/locations in this file and init.target.rc you can achieve what this mod is trying to acomplish.
I don't see the mount cache command in CWM strange
I've managed to get back to normal, thanks for everyone's help though, I will keep and eye on the thread
Sent from my XT1032 using XDA Free mobile app
non-windows version?
Thanks for this tool. It's a great idea and our Motos really need it.
However, I have a problem - I do not own a windows license (os x and ubuntu user) and I would prefer not to spend $120 just to use it for this script. Pirating is out of the question for me.
I was wondering if there is any chance of having this script written for linux and/or mac. If impossible, is there a LEGAL way of running windows in a virtual machine? Something like a trial or similar?
If you know how just convert it to shell script for osx and Linux. I give you permission to do this but you may not take credit or rehost your creation.
Ok so I have the kernel extracted and we could modify and flash that, but I believe that it's not really necessary. There are a lot of risks to flashing kernels and I am not willing to take it. So is there a way we can modify dalvik so it creates it's cache in /cache instead.
skyguy126 said:
Why does the init.rc get overwritten at boot. Is it because the kernel (boot.img) is the one that copies it over? I have found by changing the perms/locations in this file and init.target.rc you can achieve what this mod is trying to acomplish.
Click to expand...
Click to collapse
Yes the init.rc is in the boot ramdisk. I don't think it would be worth the trouble to rebuild a boot.img. The moto g is fairly unbrickable but it's quite a lot of work to setup an environment to rebuild an image :/.
Too bad for the mount command, I was sure it was working but maybe I had changed something else and don't quite remember the steps to reproduce
We could possibly implement a shell script toggler for when we need to install new apps, but I'm afraid it'd become annoying fairly quickly: I noticed the issue initially because google play services decided to update itself, failed, and broke all google apps. As far as I know this autoupate can't be disabled.
Thanks for trying!
dd043 said:
Yes the init.rc is in the boot ramdisk. I don't think it would be worth the trouble to rebuild a boot.img. The moto g is fairly unbrickable but it's quite a lot of work to setup an environment to rebuild an image :/.
Too bad for the mount command, I was sure it was working but maybe I had changed something else and don't quite remember the steps to reproduce
We could possibly implement a shell script toggler for when we need to install new apps, but I'm afraid it'd become annoying fairly quickly: I noticed the issue initially because google play services decided to update itself, failed, and broke all google apps. As far as I know this autoupate can't be disabled.
Thanks for trying!
Click to expand...
Click to collapse
How about making a simple apk that toggles this feature. Something like when you click the icon it doesn't even open but gives a little notification of success. Something like that. I myself am not experienced with apks but I can put together a shell script for the apk.
skyguy126 said:
Ok so I have the kernel extracted and we could modify and flash that, but I believe that it's not really necessary. There are a lot of risks to flashing kernels and I am not willing to take it. So is there a way we can modify dalvik so it creates it's cache in /cache instead.
Click to expand...
Click to collapse
Patching dalvik itself sounds promising. It can probably be done with in a batch script with a command line hex editor.
The path is defined in frameworks/base/cmds/installd/installd.h
Code:
#define DALVIK_CACHE_PREFIX "/data/dalvik-cache/"
Not sure if there is another mention in the source tree.
But there's nothing to say we wouldn't face the same issue, the error message in the logcat is pretty generic
dd043 said:
Patching dalvik itself sounds promising. It can probably be done with in a batch script with a command line hex editor.
The path is defined in frameworks/base/cmds/installd/installd.h
Code:
#define DALVIK_CACHE_PREFIX "/data/dalvik-cache/"
Not sure if there is another mention in the source tree.
But there's nothing to say we wouldn't face the same issue, the error message in the logcat is pretty generic
Click to expand...
Click to collapse
Ill try it. I don't mind doing a bunch of resets because I am using my moto g as a test bench anyway. My daily driver is the OnePlus One
dd043 said:
Patching dalvik itself sounds promising. It can probably be done with in a batch script with a command line hex editor.
The path is defined in frameworks/base/cmds/installd/installd.h
Code:
#define DALVIK_CACHE_PREFIX "/data/dalvik-cache/"
Not sure if there is another mention in the source tree.
But there's nothing to say we wouldn't face the same issue, the error message in the logcat is pretty generic
Click to expand...
Click to collapse
EDIT: Unfortunately it didn't work. I don't know if I modified the installd file correctly. The program I used is HxD.
Is there a way we can force dalvik to start after the directories are created. And change dalvik to create it in /cache.

Apps Cannot Access Internal Memory after TWRP Recover

Background:
Trying out ROMs here and there, making backups along the way in TWRP. Turn out I had my favorite ROM from the start, so clean all the slates and performed a restore to Hybrid X Series 1.07. Everything is as it was...almost.
Apps are complaining about not being able to download to internal memory, there not being enough space, etc (there's plenty). Switching the download directory of these apps to the extSdCard is my current workaround.
What I've tried:
Fix Permissions from TWRP
Repair partition /data from TWRP using e2fsck
recursive busybox chown to 1001 on /data/media
restorecon on /data/media/0
This Fix Script Also found a similar flashable ZIP which did the same thing, but to no avail
None of these seem to have any effect. Also, trying to change permissions from Root Browser works on /sdcard, but not on any subfolders. Error returned is "Changing permissions was not successful. Please note that some file systems do not allow permission changes."
Any thoughts
funkeywoookey said:
Background:
Trying out ROMs here and there, making backups along the way in TWRP. Turn out I had my favorite ROM from the start, so clean all the slates and performed a restore to Hybrid X Series 1.07. Everything is as it was...almost.
Apps are complaining about not being able to download to internal memory, there not being enough space, etc (there's plenty). Switching the download directory of these apps to the extSdCard is my current workaround.
What I've tried:
Fix Permissions from TWRP
Repair partition /data from TWRP using e2fsck
recursive busybox chown to 1001 on /data/media
restorecon on /data/media/0
This Fix Script Also found a similar flashable ZIP which did the same thing, but to no avail
None of these seem to have any effect. Also, trying to change permissions from Root Browser works on /sdcard, but not on any subfolders. Error returned is "Changing permissions was not successful. Please note that some file systems do not allow permission changes."
Any thoughts
Click to expand...
Click to collapse
First off, this is an ownership issue, not a permissions issue
Second, chown 1001 gives ownership to Radio, not System. Chown to 1000 for System ownership
I never did find a solution to this problem. In my attempts to correct the problem, I ran chown on the entire /data partition by accident. The ROM booted, but everything crashed. After this, I just decided to salvage what little I might be able to save and move on with life.
The problem even persisted through wipe/reinstall of the ROM.
Finally, as a last resort, I had flash the stock version through Odin and start over from scratch.

Categories

Resources