Many android user have low internal memory/ROM prob with there android. Here is the solution, All you need is a Rooted andoid phone(busybox installed) with Sdcard. In this trick we will make parition on Sdcard(fat32,ext2,swap).And mount the ext2 on /data on every bootup by replacing file "htcfs"
In this you trick you need to connect your Android to your Computer in recovery for the Adb.exe is required
Before proceeding download the files.
htcfs (Rightclick & choose save as)
Make sure file "htcfs" should be without any extension like "htcfs.txt".
Make sure file "htcfs" should be without any extension like "
Put these file in a folder(For Eg: I am Using F:/android/)
Now connect your andoid with your PC using data cable make your "USB debugging mode" is active.
Now follow the steps:
Open Command prompt and change directory to F:/android/
Type:
# adb reboot recovery
# adb shell
# mount -a
# cd /system/bin/
# busybox cp htcfs htcfs.original
# exit
# adb push htcfs /system/bin/
# adb shell
# cd /system/bin
# chmod 755 htcfs
# chown root.shell htcfs
Here we have made the changes in the system file to mount ext2 partition on data.
Now we will make the partition and copy all the data to ext2.
# fdisk /dev/block/mmcblk0
The number of cylinders for this disk is set to 245696.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/block/mmcblk0: 8050 MB, 8050966528 bytes
4 heads, 16 sectors/track, 245696 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 196609 6291480 c Win95 FAT32 (LBA)
/dev/block/mmcblk0p2 196610 244610 1536032 83 Linux
/dev/block/mmcblk0p3 244611 245696 34752 82 Linux swap
Command (m for help): d
Partition number (1-4): 1
Command (m for help): d
Partition number (1-4): 2
Command (m for help): d
Selected partition 3
Command (m for help): p
Disk /dev/block/mmcblk0: 8050 MB, 8050966528 bytes
4 heads, 16 sectors/track, 245696 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-245696, default 1): Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-245696, default 245696): +6G
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): b
Changed system type of partition 1 to b (Win95 FAT32)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (183107-245696, default 183107): Using default value 183107
Last cylinder or +size or +sizeM or +sizeK (183107-245696, default 245696): +1500M
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (228884-245696, default 228884): Using default value 228884
Last cylinder or +size or +sizeM or +sizeK (228884-245696, default 245696): Using default value 245696
Command (m for help): t
Partition number (1-4): 82
Value is out of range
Partition number (1-4): 3
Hex code (type L to list codes): 82
Changed system type of partition 3 to 82 (Linux swap)
Command (m for help): p
Disk /dev/block/mmcblk0: 8050 MB, 8050966528 bytes
4 heads, 16 sectors/track, 245696 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 183106 5859384 b Win95 FAT32
/dev/block/mmcblk0p2 183107 228883 1464864 83 Linux
/dev/block/mmcblk0p3 228884 245696 538016 82 Linux swap
Command (m for help): w
# mkfs.ext2 -m 0 /dev/block/mmcblk0p2
# mount /dev/block/mmcblk0p2 /sd-ext
# cd /data
# busybox cp -a . /sd-ext
# sync
# cd /
# umount /sd-ext /sdcard /data /system
# exit
# adb reboot
Now check the internal memory.
This trick has been tested on the HTC and Samsung you may try this at your own risk.
Feel free ask if you have any query.