[Galaxy Y GT-S5360 General] (°_o):
WARNING! THE BELOW PROCEDURE IS A ONE DIRTY HACK.

PLEASE READ CAREFULLY BEFORE PROCEEDING AND AS ALWAYS BACKUP YOUR FILES. IF YOU HAVE ANY DOUBT, YOU KNOW YOUR WAY OUT.

YOU ARE CHOOSING TO MAKE THE MODIFICATIONS. I WILL NOT BE HELD RESPONSIBLE FOR ANY LOSS OR CORRUPTION OF YOUR DATA AND ANY MISBEHAVING OF YOUR DEVICE.

ALSO PLEASE DON'T REPORT BUGS TO THE DEVELOPER OF THE APP BEING USED HERE. THE APP WAS NOT DESGINED TO BE USED THIS WAY AND MAY NOT WORK AS EXPECTED.

Hello, everyone, i was just fiddling with many tools that increase memory size, which basically is move the files to external sdcard one way or another.

Most of these solutions required to have a second partition, and so does Link2SD, but i liked Link2SD interface, and wanted to find a way to use it to create links without having to partition my sdcard at least in real, so i began testing commands in the terminal emulator and finally found a way to do so.

This does not require to format or touch the partitions, just a file is created on the sdcard which will hold all the apps. While this is nothing but a simple mounting of a somewhat virtual filesystem it works for me.

And the best part is the file size can be increased or decreased by simply typing two commands, so within few minutes you can make room for more apps or your other files.

The only limitation being the filesystem that can't handle < 4gb files.

But hey if you don't have that big sdcard, or don't need that much space for apps, then you are good, right?

If your sdcard is bigger than 8gb then you are good with a partition. but people with lesser size of sdcard have to choose between apps or their other files. and maybe this can somehow be helpful to them. .

Requirements:

*A non-partitoned external sdcard.

*Busybox symlinked, terminal emulator and root access

*Any kernel with init.d and ofcourse ext4 support

*Any rom should work, I'm using cm7.2. Just make sure other methods,scripts are not installed to avoid conflicts

*Basic knowledge of commands, and the terminal

*Oops, how could i forgot Link2SD.

Procedure:

*Backup your important files, while this method doesn't require formatting or touching partitions. I cannot guarantee anything, plus i can say that i warned you to backup your files, incase you screw up.

*Decide how much space you want for the *virtual* second partition file, although you can increase/decrease it later. It is good to allocate needed space beforehand.

After you got that going, it's time to get the hands dirty with the terminal emulator

*Open up the terminal emulator emulator and type

su

Grant it superuser access if you havent already, then you will drop to root shell "#"

We are now going to create a file, that we will use as our *virtual* second partition. Make sure you have enough needed free space for the creation of the file.

If you are familiar with how dd works, you can adjust the commands yourself.

busybox dd bs=16M count=n if=/dev/zero of=/sdcard/sdext.img

For starters, just divide the size required in mb by 16 and substitute the value of n in count.

WARNING! dd can be very dangerous , double check the command you typed, and yes, the commands are case sensitive

I will use 128mb as example: 128/16 would be 8, so i will type.

busybox dd bs=16M count=8 if=/dev/zero of=/sdcard/sdext.img

Wait for sometime, now that that will create a 128mb file named sdext.img in top folder of your sdcard.

Now we need to create a ext4 filesystem in our newly created sdext.img.

Just simply type and hit enter

mke2fs -T ext4 /sdcard/sdext.img

You will get something like, this

That is quite normal, just type "y" without quotes of course, and hit enter then wait for the creation to complete.

Journaling:

Journaling is mostly enabled by default, but it can be disabled at the creation but there's no need to, as we will be writing, when linking only. and it does not quite impact the read speed, plus it's safer to not disable. Unless you are planning to move apps data files and are going to use apps which perform heavvy I/O on their data files(the files that are in /data/data/appname), which most of the apps don't. you will be fine with journaling enabled. You can disable if you want but don't ask me how to.

That's it for the terminal part. now you can quit terminal emulator and install Link2SD if you haven't already.

Now if you open Link2SD then tap Menu, and select Storage info you will see that SD card 2nd part is not detected.

That will soon change.

The below should be pretty starightforward, and you probably have done it many times, so i won't go into details.

Download the attacted zip file put into top folder of your sdcard.

Reboot to CWM recovery. Make sure /system and sdcard are mounted.

Install the zip from the sdcard, and reboot to system.

After booting is completed, open Link2SD and check the Storage Info again. The second partition should be detected.

Wait! we are not done, yet.

First check that media scanner works, by opening gallery or camera.

Then test that the linking works, by selecting "User" filter on the Link2SD page and linking some common apps and opening them.

Now, reboot to make sure that the apps are not lost on reboot.

The above issues shouldn't hopefully happen, but we are testing it just to be sure. In any case if the above issue happens, please describe the problem clearly and don't forget to take a logcat.

After all this you can link other apps too provided that you won't come to hit me incase anything wrong happens.

Basic options works fine like creating and removing links, cleaning up, but i haven't tested them all.

Some things to consider.

You see the below screenshot.

NEVER EVER MAKE THE MISTAKE OF TAPPING "Recreate mount scripts".

It will try to detect primary second partition on the external sdcard, which we don't have and that could cause undesirable behavior.

If Link2SD is having trouble detecting the partition. dump a logcat here, and i will see what i can do.

Do not umount your sdcard.

Make sure apps like clean master don't clean itself by deleting the image file.

And it is possible to resize the image after creating it. Instructions to that will come later.

Request to linux ninjas: Please help by improving the init.d sh script used to make this work. it can be found in /system/etc/init.d/01mountsdextimg after installing.

As it currently stands it is a one big hairy mess.

Big thanks to developers of Link2SD, Android Terminal Emulator, Busybox, CWM and all others.

The countless sites on the internet where i learned most of the stuffs from.