Jump to content

A2SD+ plus /data/data - Moves all application data to SD card


Guest iserlohn

Recommended Posts

Guest iserlohn

Some us noticed that after a2sd+ (sd-ext) you still have flash usage on your data partition. This is because /data/data contains resources for many applications and this directory remains on the internal flash even after a2sd+. I have tried to gather as much evidence on why /data/data should be left onthe internal flash, and it seems that there is no concrete reports of problems on recent ROMs.

So the natural thing is to try it myself. Using the a2sd+ script from my Modaco ROM, I added the following lines replacing the old section that disabled /data/data on the SD card -

Old section -

	# don't allow /data/data on sd because of upgrade issues - move it if possible

	if [ -d /system/sd/data ];

	then

		busybox cp -a /system/sd/data/* /data/data/;

		busybox rm -rf /system/sd/data;

	fi;
Replaced with new section -
	# move /data/data to /system/sd

	if [ -d /data/data ];

	then

		mkdir /system/sd/data;

		busybox chown 1000:1000 /system/sd/data;

		busybox chmod 771 /system/sd/data;

		busybox cp -a /data/data/* /system/sd/data/;

		busybox rm -rf /data/data/*;

	else

		# make the mountpoint

		mkdir /data/data;

		busybox chown 1000:1000 /data/data;

		busybox chmod 771 /data/data;

	fi;


	# mount /system/sd/data if available

	if [ -d /system/sd/data ];

	then

		busybox mount -o bind /system/sd/data /data/data;

	fi;

So far, I've been able to install, remove and upgrade applications (even system ones) without any issues. The final a2sd+ plus /data/data script is attached.

Using this script allows you to theoretically install as many applications as Android would allow, as you can keep a massive ext3 partition on your SD card (up to 32GB). A Transcend 8GB class 6 was used for testing and performance is good. Will try this in a 16GB Kingston Class 4 in the future to see how it would perform.

To install the attached script -

./adb push 40a2sd /etc/init.d/

./adb shell chown 0:2000 /etc/init.d/40a2sd

./adb shell chmod 755 /etc/init.d/40a2sd

When you upgrade the ROM you will need update the script as well. You should be able to replace the 40a2sd script in the ROM zip. This is because when the original script detects a /system/sd/data directory, it automatically copies this back to /data/data and will most likely run out of space.

I'll look into putting this in update.zip format when I have time to test it.

40a2sd.zip

Edited by iserlohn
Link to comment
Share on other sites

  • 2 weeks later...

I've tried this solutions. I can't understand the reason, but after it the phone works tooo slowly :) I mean every action like touching a screen or running an applications might take you saconds or minutes. Every time after reboot desktop widgets are loading for a long time. I have 32Gb kingston sd-card, class 4. May be it is abnormal? But I wasn't able to understand which process or application is bottle neck. Is it possible to debug somehow?

BTW now I think about moving not all "data/data", but only the biggest dirs from "data/data" to sd and link them manualy...

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.