[New Solution] - Faster Virtual Ram !!!!! - G1 Android Development

Hi,
I'm not a developer but I think my idea is great.
1. Using CACHE partition (50Mb) as virtual ram​
- I see that we are using swap ext partition to increase virtual ram, but access data speed of sdcard is not fast enough (for class2 or class4 sdcard),
- And I see that we have 50Mb free in cache partition which are only used when we use OTA update. But if we use a moded rom, why do we use OTA update ? access data speed of internal memory is really good, why don't we use cache partition as virtual ram ???
2. Runing faster with dalvik-cache on internal memory.​
- As you know, after install an application, we will have apk file in data/app or data/app-private and some odex file in dalvik-cache.
- If we only use app2sd with data/app and data/app-private, our application will run faster.

There was already an idea like that.
You mean using CACHE as swap partition.
At the moment this isn't possible because we would have to format this partitions and recovery wouldnt work then.

maxisma said:
There was already an idea like that.
You mean using CACHE as swap partition.
At the moment this isn't possible because we would have to format this partitions and recovery wouldnt work then.
Click to expand...
Click to collapse
What are the partitions formatted as now?

ivanmmj said:
What are the partitions formatted as now?
Click to expand...
Click to collapse
YAFFS2
Swapfiles aren't compatible with it.
Only 1 solution:
Create a loop-ext-file and loop mount it, put a swapfile on it and you're set.
But thats slow.

The partition wouldn't have to be formatted, you can use zeroed images for swap space, I've done it in Solaris before and I'm sure some of the memory techniques for Android have implemented this before, don't quote me!

maxisma said:
There was already an idea like that.
You mean using CACHE as swap partition.
At the moment this isn't possible because we would have to format this partitions and recovery wouldnt work then.
Click to expand...
Click to collapse
Is it not possible to use something like a swap file on the cache partition? I'm not familiar enough with the workings of Android, but I know that swap files are supported in Linux and I've seen it mentioned for Android, so is there any reason this wouldn't work? It would be an amazing improvement. I see you answered while I was typing this post, thanks.
I do wish people would stop putting their ideas as [new solution] and stuff and just put it forward as an [idea] or [concept] until there's a working implementation.

maxisma said:
YAFFS2
Swapfiles aren't compatible with it.
Only 1 solution:
Create a loop-ext-file and loop mount it, put a swapfile on it and you're set.
But thats slow.
Click to expand...
Click to collapse
Would the loop mounting be slow to create or slow for performance? I wouldn't mind a bit more boot time if it meant onboard swap, but obviously if it's a slowdown vs SD or none at all, it's probably not worth it.

How would u format a folder like that??? We could elimate the recovery and instead of useing it for 50 mb swap. Let's use it on the system folder. And then we could than drag eclair in our phones but then we would have to be stuck have just one rom. We could also ask rom devs to make us img instead of .zip roms so we could just flash the images

What about Nandroid etc?
This is a must-have.
Also I think the formation of the partition would be overwritten with every reboot..
But idk.
Won't try it out.

there's an issue for using /cache as swap or compcache like maxisma said.. recovery uses a small portion of /cache to write it's files to temporarily so this wouldn't be an easy work around. this idea was already started a long time ago by shafty and well, it never turned out.

maxisma said:
YAFFS2
Swapfiles aren't compatible with it.
Only 1 solution:
Create a loop-ext-file and loop mount it, put a swapfile on it and you're set.
But thats slow.
Click to expand...
Click to collapse
You don't need a swap partition, neither real nor looped
Code:
# dd if=/dev/zero of=/cache/swapfile bs=1M count=XX
# mkswap /cache/swapfile
# swapon /cache/swapfile
Ooops, forget about it: swapon (as a busybox internal) can't do that on my CM. It does work on my machines :/

But remember guys we also have the spl as backup. We could make the nandro-backup into a .nbh file to flash but it takes a longer time to do it. We could make an app or script that does it for as. I tried to customize the init.rc, build.prop, and fstab but it changes everytime - reboot. What should I do? These files were rewriten when I rebooted. If you guys want to talk this over with me and some of my friends on gtalk, I'll create a group for us to talk more in depth. My email address is [email protected].

jroid said:
there's an issue for using /cache as swap or compcache like maxisma said.. recovery uses a small portion of /cache to write it's files to temporarily so this wouldn't be an easy work around. this idea was already started a long time ago by shafty and well, it never turned out.
Click to expand...
Click to collapse
How much code do we have for recovery? I know there are modified recovery images, I have used Cyano and RA. It seems like it would be possible to create a small ramdisk or loop mount for recovery to use and recover this RAM for use by our applications. Or a mod to the init script to format that device properly for recovery when it boots and run mkswap on it when we boot to normal mode. I'm not real familiar with Android at this level, so perhaps I'm way off base here.

Do you know how to put a custom init.rc on to the g1? When I reboot it is gone and goes back to the orginal init.rc

mohsinkhan47 said:
Do you know how to put a custom init.rc on to the g1? When I reboot it is gone and goes back to the orginal init.rc
Click to expand...
Click to collapse
You have to change the one in the initial ram disk.
1) unpack boot.img
2) change initrc
3) repack boot.img
4) flash

farmatito said:
You have to change the one in the initial ram disk.
1) unpack boot.img
2) change initrc
3) repack boot.img
4) flash
Click to expand...
Click to collapse
I did that but got " broken image file ". What do I do now?

If the 50MB on the cache partition is never used, would it be possible to re-map it to /system? Probably something akin to what the "Death" SPL did.

That is what I said but then I guess you would have to reformat the phone to accept a different amount of info in this case megabytes. We would have to reformat the system folder to hold more info on it.

rgawenda said:
You don't need a swap partition, neither real nor looped
Code:
# dd if=/dev/zero of=/cache/swapfile bs=1M count=XX
# mkswap /cache/swapfile
# swapon /cache/swapfile
Ooops, forget about it: swapon (as a busybox internal) can't do that on my CM. It does work on my machines :/
Click to expand...
Click to collapse
YAFFS2 doesn't support swapfiles.
Thats why would need a loop mounted ext-image.

Placing a swap file/partition in internal memory is risky business. Flash memory has a limited number of write cycles, and swap does many writes per second. Whereas an SD card can be replaced if worn out, internal memory cannot, so the phone becomes a brick if the flash memory is damaged by swapping.

Related

What can we move to /sytem/sd (ext2 partition)

I start using a second partition for my apps and some of the caches...
But is there more? Yes there is (i hope). But what else? Any ideas, more is better...
What do you need:
A FAT32 / EXT2 partition combo on your CLASS 6 MicroSD (the EXT2 from 100mb to 1,5gb as max recommend (real max = 2gb)!
Only at "others" there is one way to move cache without EXT2 partition.
Do it yourself:
(Private) Apps to SD: http://forum.xda-developers.com/showthread.php?t=462882 (Apply on your own Rooted System)
Complete ROM:
(Private) Apps to SD: http://forum.xda-developers.com/showthread.php?t=480582 (modded JF1.42 RC33)
Other:
- Apps Caches (no ext2 needed): http://forum.xda-developers.com/showthread.php?t=471653 and http://androidcommunity.com/forums/f28/updated-move-caches-to-sd-card-11167/
- Apps Caches (with ext2): Change the paths from: "/sdcard/cache" to "/system/sd/cache" from http://androidcommunity.com/forums/f28/updated-move-caches-to-sd-card-11167/
I will add everything that's relevant to putting stuff from your ROM to your FLASH!
i hope we can move everything to the sd lol ;P
Theoretically it is but i think it will be to damn slow But if we put the core and much used stuff on system (something like vista does it with mem, preload stuff i use alot to my system and stuff i don't use a lot to my sd or somthing... But i don't have skills to do something like that (i suck with linux :S).
Yeah, it's possible. But as you said, the issue would be with the speed of everything... I know some basic Linux, but not to move the entire OS to the SD, otherwise I'd try it myself, and test the speed of it.
Phromik said:
Yeah, it's possible. But as you said, the issue would be with the speed of everything... I know some basic Linux, but not to move the entire OS to the SD, otherwise I'd try it myself, and test the speed of it.
Click to expand...
Click to collapse
the most i have tried is i moved the entire /data folder over to the EXT2 partition and then mounted the SD to /data .. so when you pull up available space it says 1G+ available on the phone for apps .. actually pretty kool but i can't get the SD to mount to /data on the phone boot and the slowness is definitely a factor .. anyone who wants to try for themselves is welcome .. but i can't speak for any errors you might get
LucidREM said:
the most i have tried is i moved the entire /data folder over to the EXT2 partition and then mounted the SD to /data .. so when you pull up available space it says 1G+ available on the phone for apps .. actually pretty kool but i can't get the SD to mount to /data on the phone boot and the slowness is definitely a factor .. anyone who wants to try for themselves is welcome .. but i can't speak for any errors you might get
Click to expand...
Click to collapse
how do you do it that it shows in storage available that u have 1G+ available space. i would want that to show for me.
Smokuevo said:
how do you do it that it shows in storage available that u have 1G+ available space. i would want that to show for me.
Click to expand...
Click to collapse
in my script i put in my modified JFv1.42 you can do:
#copy.sh all
this moves everything to the SD (the ultimate in G1 lag) and then from Terminal again:
#mount /dev/mmcblk0p2 /data
this should work (unless i forgot a step) .. then when you look at the available space you should see the entire EXT2 partition listed for the phone .. to get my script you can either flash my modified update.zip that has the modified init.rc and mountd.conf or else just copy my script to your phone
what if i already did copy.sh data copy.sh app .. will copy.sh all mess anything up?
whats the reverse step
Well the first stap is backing up ofcourse! So the only step if you screw up is putting the backup back...
back up didnt work. got to try cupcake though. haha.
now getting stale nfs files
Smokuevo said:
what if i already did copy.sh data copy.sh app .. will copy.sh all mess anything up?
whats the reverse step
Click to expand...
Click to collapse
i did put in "copy.sh undoall" to reverse the steps .. but this will also move apps and if you have too many apps if could crash the phone .. i may need to remove apps from the undoall process
after i did the command to make the room on my SD show up as my memory how do i revert that back to normal to see the space on my phones internal mem?
Smokuevo said:
back up didnt work. got to try cupcake though. haha.
now getting stale nfs files
Click to expand...
Click to collapse
on a linux distribution type :
fsck.ext2 -p [your partition] mine is /dev/sdd2 for example

A2SD in the future

I'm going to start looking into running apps on the SD card.
What I'd like to know is, can I run the a2sd version (I plan on using Haykuro's ADP1.5Hr3) w/o any issues? Any differences to the regular version if I haven't moved my apps over?
I've been using A2SD for the past 3-4 version of Hakyuro's H series, I then went to the ADP A2SD, I have had no problem what so ever. It works great and is quick, I don't think I could ever go back to using the built in disk for application storage.
I'm currently running ADP1.5Hr3 with 192 applications.
If you dont have a SD card with the partitions necessary, and you load an a2sd version of firmware, when your phone boots up it will start looking for the partition to mount and will continue to do so in the background. This may have an adverse affect on the performance and or battery life.
If this has been fixed in any versions feel free to post it.
Dharkaron said:
If you dont have a SD card with the partitions necessary, and you load an a2sd version of firmware, when your phone boots up it will start looking for the partition to mount and will continue to do so in the background. This may have an adverse affect on the performance and or battery life.
If this has been fixed in any versions feel free to post it.
Click to expand...
Click to collapse
actually when u load an a2sd rom it doesnt look for anything to mount
because when u load an a2sd rom it only looks for a partition once you command it to
without your command it will work like an regular rom that doesnt have the a2sd mod...it will store applications and caches on your internal flash
once you start doing commands such a ln and rm that is when you are actually connecting folders to the ones on your sd card
the performance is the same if u have a2sd or not....the performance either increases or decreases when u tell the phone to do the symlinks to ur ext 2 partition
bigballa said:
actually when u load an a2sd rom it doesnt look for anything to mount
because when u load an a2sd rom it only looks for a partition once you command it to
without your command it will work like an regular rom that doesnt have the a2sd mod...it will store applications and caches on your internal flash
once you start doing commands such a ln and rm that is when you are actually connecting folders to the ones on your sd card
the performance is the same if u have a2sd or not....the performance either increases or decreases when u tell the phone to do the symlinks to ur ext 2 partition
Click to expand...
Click to collapse
????WHAT???
Looks for partition after you command to it???
The haykuro apps-to-sd roms load the ext2 module and a .sh script runs during boot that looks for the partition over and over in a loop. If found it is mounted, if not it keeps trying. This *can* cause battery issues, although I doubt it would be bad. I have no idea what you are saying about commanding to it, but that is wrong.
Re installed the app. Ran and have 54mb available happy.
on a mac
what is the equivalent of ex2 on a mac...it's not listed in the partition options
jaaronmoody said:
what is the equivalent of ex2 on a mac...it's not listed in the partition options
Click to expand...
Click to collapse
It's only possible with ext2 as far as I know. You are probably going to have to download a partition manager program
Darkrift said:
The haykuro apps-to-sd roms load the ext2 module and a .sh script runs during boot that looks for the partition over and over in a loop. If found it is mounted, if not it keeps trying. This *can* cause battery issues, although I doubt it would be bad. I have no idea what you are saying about commanding to it, but that is wrong.
Click to expand...
Click to collapse
Any more news about this and battery usage posted anywhere that i can read further?

[DEV] /cache converted to swap

So as we all know /cache is used for OTA updates which, when you have your phone rooted is useless.
What I'm wondering is why we can't use /dev/block/mtdblock4 (aka /cache) as a permanent onboard swap partition. Granted it will only give us an additional 30MB but the speed of this swap will be higher than that of our sdcard.
In order to test this we'll have to:
convert this partition to a linux-swap partition.
mkswap /dev/block/mtdblock4
update init.rc to no longer mount this as yaffs2
add this new swap space to the swap script
The issue is of course being able to run a partition utility on the phone. Second, if this doesn't work we don't have a way to format /cache back to yaffs2 (that I know of).
If you have experience with any of the issues I listed above please comment/post. If you don't have a clue please don't post so we can keep this thread clean. I would appreciate only experienced devs responding.
If this is possible it would benefit Hero/MotoBlur ROMS which are memory intensive.
For your second concern, why would we need to change it back to /cache? Just make it a disclaimer when people attempt this operation.
More importantly, I think the primary issue is that this is rom space is it not? Doesn't this portion of the memory have a limited amount of times that it could be written to?
Hmm why not trying "parted /dev/block/mtdblock4" in recovery? ;-)
rest would be easy.
Couldn't we use mkyaffs2img (in recovery /sbin) to turn it back into yaffs?
persiansown said:
For your second concern, why would we need to change it back to /cache? Just make it a disclaimer when people attempt this operation.
More importantly, I think the primary issue is that this is rom space is it not? Doesn't this portion of the memory have a limited amount of times that it could be written to?
Click to expand...
Click to collapse
Well my concern was if there was some adverse effect of removing /cache from the system we'd need a way to revert back.
I am not aware of any MAX amount of times that /cache can be written to.
*Edited*
Due to unintelligent comments and moronism prevalent in this thread, I removed a line from this post to keep us on track of what this thread was meant to discuss.
There's another thing:
Recovery can't be used without /cache !
So we need to convert back each shutdown and convert to linux-swap each startup..
dumfuq said:
Couldn't we use mkyaffs2img (in recovery /sbin) to turn it back into yaffs?
Click to expand...
Click to collapse
I hadn't checked in the recovery img for any yaffs2 utilities. But if that indeed does exist then this will be possible.
So then the issue would be, is this safe to attempt long term with the amount of writes being done to internal flash?
maxisma said:
There's another thing:
Recovery can't be used without /cache !
So we need to convert back each shutdown and convert to linux-swap each startup..
Click to expand...
Click to collapse
So I see recovery is using it but the only thing in it is the recovery logfile. Could we modify the recovery to read/write the logfile to system/sd/recovery or something, or is the cache used for other stuff as well?
Another idea:
Instead of using it as swap, what if we could find a way to use it as compcache space? That way we don't sacrifice any of the internal ram for compcache and still have compcache running
maxisma said:
There's another thing:
Recovery can't be used without /cache !
So we need to convert back each shutdown and convert to linux-swap each startup..
Click to expand...
Click to collapse
What part of recovery needs /cache ? Does the recovery img mount the /cache partition? I'm wondering if the recovery img could be modified to write to the ext2 partition such as /system/sd/cache .
persiansown said:
Another idea:
Instead of using it as swap, what if we could find a way to use it as compcache space? That way we don't sacrifice any of the internal ram for compcache and still have compcache running
Click to expand...
Click to collapse
This is actually a good idea and it'd be interesting to see which way would benefit us more.
shafty023 said:
What part of recovery needs /cache ? Does the recovery img mount the /cache partition? I'm wondering if the recovery img could be modified to write to the ext2 partition such as /system/sd/cache .
Click to expand...
Click to collapse
When you activate an option in recovery, for example install update.zip, it writes the command into /cache/recovery and does a "quick reboot", which reads out the command and does this.
ok first dont even try it would one
reduce life on nand
cause issues with flashing
slow down any thing accessing the nand.
to the person thinking the ram is using flash. you must have never been to high school cause even typing class explains what ram is. plus g1 has memory write speeds of about 120mb/sec thats sdram. swap will never replace ram 120mb/sec versus 6 is huge
if you want real improvements you must change the code to something more efficient.
less bloat
more native code
fewer clock cycles
improved app states(cache on sd that would save the state by dumping part of ram to load later reducing clock cycles and reducing ram)
and my favorite rewrite system libs and apps to include more native code and reducing ram usage.
btw native code is about 10-100x faster than android java. that means 10%-100% more speed(or less load)
you could make a swap file and put it on there and just mount the file...........
yeah what he said!
zenulator said:
you could make a swap file and put it on there and just mount the file...........
Click to expand...
Click to collapse
This sounds like a good idea, altho we would have to get compcache working with backing swap file.
do we know if the /cache speed is compaired to Class 6 microSD?
good luck hardheads
jokersax11 said:
ok first dont even try it would one
reduce life on nand
cause issues with flashing
slow down any thing accessing the nand.
to the person thinking the ram is using flash. you must have never been to high school cause even typing class explains what ram is. plus g1 has memory write speeds of about 120mb/sec thats sdram. swap will never replace ram 120mb/sec versus 6 is huge
Click to expand...
Click to collapse
Dude honestly get a life. I have a Bachelor's degree in Computer Science. And I could code in Intel Assembly accessing each and every register in memory while you're left googling what Intel Assembly code means. Maybe you should keep up with the latest technology. If you did you'd know there are all-in-one memory chips that support NOR, NAND flash, and RAM.
http://www.eetasia.com/ART_8800466798_499486_NT_ab9e537f.HTM
jokersax11 said:
if you want real improvements you must change the code to something more efficient.
less bloat
more native code
fewer clock cycles
improved app states(cache on sd that would save the state by dumping part of ram to load later reducing clock cycles and reducing ram)
and my favorite rewrite system libs and apps to include more native code and reducing ram usage.
btw native code is about 10-100x faster than android java. that means 10%-100% more speed(or less load)
Click to expand...
Click to collapse
Exactly what type of "native code" are you referring to? And do you have any idea what type of memory the G1 uses for RAM? Go back to your typing class.
Shafty did you see Zenulator's idea? That seems like it could work.. Does the phone ever format the cache partition?

[Q] Create sd-ext parttition.

Hi,
Do anyone knows if there is a real advantage in creating a partition in the phone sd card, [sd-ext]?
I read that it solves this error: E:can't mount /dev/block/mmcblk1p2
(File Exists).
But, does the phone has a real gain when you format and create a new sd-ext partition?
Thanks,
If you have a ROM that has data2ext or app2ext then you'll notice a speed increase as well as a drop in usage on your phone's internal memory. I have a MT3GS and with data2ext I went from an 1100 in quadrant to a 1600
dbzfanatic said:
If you have a ROM that has data2ext or app2ext then you'll notice a speed increase as well as a drop in usage on your phone's internal memory. I have a MT3GS and with data2ext I went from an 1100 in quadrant to a 1600
Click to expand...
Click to collapse
Thanks for the quick reply,
When you say, data2ext or app2ext, are you saying app's that can be installed in the ex-sd card?
Can I do that in cwm or there is a better way?
Cheers,
Data2ext and app2ext are ROM add-ons that enable you to either move the entire data partition to your sd-ext or just all of your installed apps. If you use data2ext your apps are automatically moved since they're stored in the data partition. You would flash them the same way you flash a ROM if the mods are available for your phone. Just search the forum for your phone if you want to know if you have those options.
Thanks mate,
I installed move2sd enabler.
So I can to move all the apps to the sd-ext partition I created?
I'm going to search for that.
I honestly haven't used move2sd so I'm not sure how that works. It should be a separate script like I mentioned before.
I created a new partition in clockworkmod 512mg 32mg swap.
The phone restarts, all seems ok, but when I restart again in CWM and select format sd-ext partition, it says that I don't have one.
I'm trying to find a way to fix this issue but until now nothing...
Check if you have a blocksize of 4096 (there's a command, don't know it offhand) and make sure it's actually an ext partition, it might be a different type or may be the wrong type of ext, such as ext2 when it needs ext3 or vice versa.
Already did the check,
su
sf
And there's no new partition created.
CWM erased all the data inside my card but did not create a new partition.
Do you thing it's because I have lagfix on with ext4 part type?
Honestly I have no idea. I used the parted script/command from adb to do my partitioning. Maybe try that or try converting to ext2?
Thanks,
I'm going to try and take a look in to that.
I see a lot of posts that say to use RA-Recovery with sdk adb but does it works with an SGS?
I don't know honestly, you'll need to look in the SGS forum and see if a Ra recovery is posted there. Parted works with adb and can be added to any ROM regardless of recovery menu.
From what I saw Ra-recovery is not for sgs's.
I still didn't saw any posts that explains how to do a sd-ext new partition for a Samsung Galaxy S, only for HTC's and other phones.
If you happen to find anything that explains how to do this for a SGS be a friend and tell me ok?
Thanks
A friend of mine has an SGS so I'll ask him and see what he's done with his. I know he rooted and flashed CM to it but i'm not sure if he did anything else like data2ext or anything like that.
Thanks mate,
I'll be waiting for your reply...

[Utility] ext4 data2sd for Froyo ROMs

If you are always low on program memory, this data2sd might be for you. It works with any Froyo for the G3.
Note: This won't wipe your data, but you should have a backup, just in case. First backup the phone to the SD card, then the SD card to your computer. Be cautious. I give no guarantee whatsoever. If your phone behaves funny, even eats your cat afterwards, I take no responsibility.
Note: starting with version 3, the new storage size will NOT be reflected in the Task Manager or in Titanium Backup. I'll see what I can do about it.
You need a rooted phone and an SD card, preferably 2 GB or more and class 6 or better (higher). data2sd doesn't make your phone faster. Much to the contrary: it extends your memory at the cost of speed. That said, if your SD card is of a class smaller than 6, this will work too. The slowdown, however, will be noticeable in some situations.
Three steps are needed. First, we need a kernel with built-in ext4 if you don't have one. Second, we bring the data2sd into its place. And third, we create an ext 4 partition with the desired size. Now follows a detailed description of these steps.
Step 1: Check your kernel
You need a kernel with built-in ext4 capability. The custom ROMs mostly have one. If you are running a stock kernel, you must install one, e.g. from http://forum.xda-developers.com/showthread.php?t=978823 . Follow the installation steps detailed there. (Changing the kernel does not wipe your phone).
Step 2: Install data2sd
You now must install data2sd onto your phone. As long as you didn't modify your SD card (as long as partition #2 is not ext4), this will have no further impact on your phone.
Download data2sd.zip from below and unzip it. There's a single file in there: data2sd.sh. Use the tool that suits you best to transfer it to the SD card of your phone. With adb, you would do
Code:
adb push data2sd.sh /mnt/sdcard
Now either start a terminal emulator with a root shell or use adb again. With adb, you would execute
Code:
adb shell
Make sure you are root (the prompt reads '#'), else run "su". Now type in:
Code:
# sh /mnt/sdcard/data2sd.sh
You will see some lines about what is happening and a final confirmation.
That's it. Again, your phone will continue to behave as usual.
Step 3: Prepare your SD card
You can use any amount of program memory up to the size of your SD card, but be sure to leave some room for application data on the normal (#1, vfat) partition. As a rule of thumb, 0.5 GB of program memory will satisfy most needs, 1 GB is plenty.
If you're running Linux, prepare a second partition (must be partition #2) with the desired size. Use the usual utilities to do so. This includes gparted, but there are also other means. If you use gparted, you can follow the description for Parted Magic below.
If you have no access to a Linux computer, even not your friend's, your (probably) best choice is to run Parted Magic from a live CD. For this, go to http://partedmagic.com, and burn your CD. Instructions on how to do it with different burning tools are also there.
Step 3.1: Partition and format your SD card with Parted Magic (also applies to gparted)
The following describes the steps to partition your SD card with Parted Magic. You don't need to use this method - use the tool that suits you best.
I assume you have gparted or Parted Magic running and your SD card inserted into the card reader of your PC. Now select your card from the drop-down menu of available drives in the upper right corner. You better double check that you're on the correct drive (card). It will happily erase your system disk if told to do so.
Right click near top into the block designating your current partition #1. Select "resize". (I assume that your partition #1 is the only one. If not, delete the other partition(s)). Change the size to the total size of your SD card minus the desired size for program storage (/data). Confirm your selection.
There is now a gray block designating free space to the right of your first partition. Right click it and select "New". In the following window, leave the sizes as they are. Leave "create as" to be a primary partition, and change "file system" to ext4. Confirm your selection ("Add").
The gray block at the right has changed to a colored frame. Right click it again and select "Format as". Select "ext4".
If everything went well, you can now click on the green check mark in the icon bar near the top, confirm, and watch Parted Magic resizing your normal (#1, VFAT) partition and creating the new ext4 one.
4. Finale furioso
Now insert the SD card and reboot your phone. The Task Manager will report the new size in its rightmost tab, as do the other utilities like Titanium. All user apps and data should be in place. All will look like you have soldered in an extra chunk of internal memory. Despite not being directly visible, your program memory is resized to be the new partition. You see its size and its usage (in percent) by running
Code:
df
from adb or from a terminal emulator. Have a look at the subdirectories of /data displayed there.
As a final step, you can safely remove data2sd.sh from your SD card (/sdcard). It is not needed any more.
Q&A
* How can I remove my SD card while the phone is on?
You can't. Don't try. Always switch your phone off before you remove the SD card.​* How can I return to the state before data2sd?
Remove the SD card. All user data and apps will be there in the state you left them before you installed data2sd. The data2sd script you have installed simply does nothing as long as there is no ext4 #2 SD partition.
If you want to reuse the SD card, remove partition #2. This can be done with each partitioning tool, you don't need Linux.​• What about app2sd from Kyrillos 3.0? Is it compatible?
Yes. But "no" for the "no wipe" version which was offered for a short period of time. In the latter case, clear out the ext4 partition (important: do not forget the hidden .data2sd_initialized file) or simply reformat it before reusing it.​* It doesn't work. What can I do to help diagnose the problem?
See if the file /mnt/asec/data2sd/log.txt exists. If it does, have a look at it and try to make sense of it. If it doesn't tell you anything useful, add it to your error description in the forum here. If there is none, mention that in the description.​* What things must be considered if I flash a new ROM?
As always with such actions, make sure you have a backup. That said, just flash the new ROM and then install data2sd. When you reboot with the SD card in place, all user Apps and all data should be there. No restore from backup required.
Only in the rare case that the new ROM explicitly requires you to NOT restore your old data, e.g., from Titanium, you should reformat your ext4 partition (to clear it out) and proceed as advised by the ROM makers.​Versions:
2011-03-19 Initial release
2011-03-21 Version 2
- Updated for ROMs without /system/etc/init.d
- Simplified installation of the core parts
2011-03-23 Version 3
- Vibration bug fixed
- App2SD mode added: If the ext4 partition bears the volume label "app2sd" on a new blank SD, only /data/app is moved. This greatly reduces size benefits, but results in nearly no speed loss.
- Just run the data2sd.sh file (as described in step 2) to upgrade without data loss.
- Note: the actual size will NOT be reflected as described in the Task Manager or in Titanium.
Gosh this sounds so complex and risky! Isn't there a easier way?
☞★sent from my Galaxy3!!
♪drajax!! ♬♂ツ
drajax said:
Gosh this sounds so complex and risky! Isn't there a easier way?
☞★sent from my Galaxy3!!
♪drajax!! ♬♂ツ
Click to expand...
Click to collapse
Flash Kyrillos' v3.1 where's the script's allready built in...
It is less complex than it sounds. The description is just really very detailed. The details may sound confusing until you try it. And if you have access to Linux, it is really simple. We Linux users also have to use a different operating system when we flash our phones.
Alternative: Install Kyrillos 3.1. It contains the same data2sd and comes with a partitioning tool. But, as far as I can tell, you need to reformat the SD card's vfat part on the phone and lose the data there (not sure, however).
when i try to set permissions it says permission denied . Any help?
http://www.appbrain.com/app/move2sd-enabler-(root-only)/com.leinardi.setinstalllocation
Just one quick question....
I am having the stock JPM ROM... in that case do i need to have some new Kernel to use your data2sd???
I'll be using this!
Sent from my ACID Lestatious v1.4.5.5 Galaxy 3 FROYO
When i write down "/ # cd /system/etc/init.d/"
it says "sh: cd: can't cd /system/etc/init.d/"
What am i doing wrong???
Pinak.ahuja said:
when i try to set permissions it says permission denied . Any help?
Click to expand...
Click to collapse
You're not in a root shell. Enter "su" as your first command.
next2devil said:
When i write down "/ # cd /system/etc/init.d/"
it says "sh: cd: can't cd /system/etc/init.d/"
What am i doing wrong???
Click to expand...
Click to collapse
Don't know. Try this:
cd /system
cd etc
cd init.d
and report where it fails and if you are using adb or a terminal emulator. If it doesn't fail, continue with the line after the cd command.
Awesome work mizch!
We can refer to below link for partitioning of sd card to ext4 using adb
http://forum.xda-developers.com/showthread.php?t=534714
Hi Mizch,
Thanks for the script. have few questions; requesting for an answer:
1. Once data2sd is done, will sd card be auto mounted on reboot?
2. I am running JPM with Apollo's data2sd (ext2 partition for apps 1.1GB). What will be the benefit of ext4 over ext2?
3. I understand that i have to remove apollo's lagfix and then apply ext4 data2sd. Is there a way, i can also apply lagfix?
Thanks
jaskiratsingh said:
Hi Mizch,
Thanks for the script. have few questions; requesting for an answer:
1. Once data2sd is done, will sd card be auto mounted on reboot?
Click to expand...
Click to collapse
Yes. And for the first boot, it gets initialized too.
2. I am running JPM with Apollo's data2sd (ext2 partition for apps 1.1GB). What will be the benefit of ext4 over ext2?
Click to expand...
Click to collapse
Reliability, especially in crash cases and generally when the phone is shut down without a clean unmount. Ext 4, being a journaling file system, tries to keep the file system in a consistent state whenever possible. ext2 does nothing like that. So, when you forcible switch off your phone by long pressing the power button, most likely you are continuing with a damaged file system whose errors accumulate from now on and will eventually become visible at some time later.
There's one drawback, however: ext4 has to write more data than ext2. ext4 must always write the information needed to reconstruct a consistent file system to its journal.
3. I understand that i have to remove apollo's lagfix and then apply ext4 data2sd. Is there a way, i can also apply lagfix?
Click to expand...
Click to collapse
If I'm correct, the lagfix converts /data (your program storage) to ext2. Since /data is now handled by data2sd and converted to eyt4 anyway, you cannot use lagfix any more. You need to remove it.
mizch said:
If I'm correct, the lagfix converts /data (your program storage) to ext2. Since /data is now handled by data2sd and converted to eyt4 anyway, you cannot use lagfix any more. You need to remove it.
Click to expand...
Click to collapse
Thanks for the quick reply mizch. If i have to check apart from data, if anything else is converted into ext2, how can i do that?
jaskiratsingh said:
Thanks for the quick reply mizch. If i have to check apart from data, if anything else is converted into ext2, how can i do that?
Click to expand...
Click to collapse
have a look at the output of 'mount' or 'busybox mount'.
rm 02-app2sd for who use kyrillos ROM...i didn't do that command..but it seems works fine...what does it change if i use that command???
mizch said:
Don't know. Try this:
cd /system
cd etc
cd init.d
and report where it fails and if you are using adb or a terminal emulator. If it doesn't fail, continue with the line after the cd command.
Click to expand...
Click to collapse
I tried what you mentioned.... but again it shows the same error. It works well till "cd etc". Then, for init.d it shows out the error.
It seems the location for init.d is different in my device
next2devil said:
I tried what you mentioned.... but again it shows the same error. It works well till "cd etc". Then, for init.d it shows out the error.
It seems the location for init.d is different in my device
Click to expand...
Click to collapse
Yes. Probably there is none. What ROM are you using? Is it a Froyo ROM and from where?

Categories

Resources