[Desire Android Development] melethron:
Sorry i missed that one. Note that any kind of data2sd is slower than app2sd. It also doesn't depend on the class of the sd but of the controller that is used in the microSD. I'll try to include every speed improvement so far in this zip. You can try "life-on-the-edge" to see if this helps you. Also v0.3 is an improvement. If its still to slow for you then you should stick with app2sd.

I'll just edit my v0.3 script to implement some minor changes (repartition of swap partition if there is one, changes to logging etc). After that i edit the script to leave dalvik cache on the internal memory (to split up i/o - the reason this not implemented yet is that this script is almost the same as my ROM script and in my script i have /system/app on the internal data partition and there was no space left for dalvik-cache).

Since i have time today this should be finished this evening.

Also note that i find dalvik2cache not a good idea. The cache partition is small and in the scripts available dalvik is wiped on every reboot. Dalvik cache should get enough space and not be wiped every boot since it will speed things up after some time (fresh installed ROMs are slower for some reason ;) ).

If a partition is mounted it gets the "unclean" flag. If it is unmounted the "clean" flag is set. So in the case of a sudden powerloss the partition is set to unclean. This way the disk check program will notice if it needs to be checked. With siberes help i found out that using the powermenu or adb reboot the "clean" flag isn't set. This means it doesnt unmount the partitions as it should. So using any of this is like a power loss. Its like you just pull the power plug on your pc to shut it down. Well and as you might know .... thats something you shouldn't do..... if the system is writing some stuff while you do that the data will be written incomplete = data corruption or data loss.

So if you use this this is like pulling the battery for the sd-card.

Read the info about "life-on-the-edge". Same applies if you do that without life-on-the-edge. But the risk of data loss is MUCH lower without the mod.

I still recommend not to use "powermenu" or "adb reboot" in ANY case.

You can. BUT if your sd-ext partition is NOT aligned it will be WIPED. So if you don't have an aligned partition it requires a new installation. The alignement needs only to be done once. After that it will be aligned (as long as you dont repartition it completly)

quote snipped.

LOL, of course its not. I repartitioned it with amon-ra before. It wouldnt make much sense to test the recreation of the partition if it would be aligned before ^^.

Before i did my repartitioning every partition (fat + sd-ext + swap) was aligned.

Only happens with the init.d hack. Quoting working roms:

"- Desire stock (with init.d enabled)"

With proper init.d support there will be no usage of the filesystem until this is set:

setprop cm.filesystem.ready 1;

.... and this is set by the 99complete included in the script.

There are quite some new nand chips out there (like this):

http://www.toshiba.com/taec/Catalog/Family.do?familyid=7

Also for large ssd there are erase block sizes of up to 16 mb.

Since i found it really hard to get reliable infos on the largest eraseblock size that are used in microSDs i decided to make a 1 MiB alignement. Because 1024k = 2 * 512k = 4* 256k = 8 * 128k ...... it is best to make an alignment that should fit for all. The only issue with a larger alignment is that there is some space missing (max 1mb for a 1mb alignement) but i think most people can live with that ;) .

Ill take look at the script. But im not into "python".

csd should be the decimal value of the csd from the device example

cat /sys/class/block/mmcblk0/device/csd
400e00325b59000076b27f800a404012

which would be: 50242733759021070

But i have no idea what the unstuff does then.

What will the code do for:

return (50242733759021070 >> 22) & (2**4 - 1)

Its also unmounted cleanly if you shutdown on non stock roms. As i already told you the issue with no proper unmount where because of the "power menu" and "adb reboot".