yashsingh1/xdaforums huggingface dataset:
[Desire Android Development] sibere:
Hem well Alex I think You have it ;)

Remember the 128Mhz Lag when turning the phone ON? It disappeared when I started to build my kernel with cgroups.

there must be a few of my kernels in richardTrip thread and my battfix thread too.
[Desire Android Development] melethron:
(quote snipped)

Now i know what the issue is. Your Ext partition was a "bootable partition"

The script checks one line of the fdisk output:

/dev/block/mmcblk0p2 27119616 30105809 1493097 83 Linux

To get the new values for the partition start it takes the 2nd and 3rd output. Here thats "27119616" and "30105809". But the output with your sd-ext marked as bootable is:

/dev/block/mmcblk0p2 * 29013390 31069709 1028160 83 Linux

If it gets the 2nd and the third its "*" and "29013390". This will cause fdisk to mess up the whole partition process. Ill add something to the code that it checks if the start value is "*" and if so it gets the 3rd and 4th instead of the 2nd and 3rd. Thanks for the log. It helped great on this.

But as it looks it should work now. In the last log its :

Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 * 63 29013389 14506663+ c Win95 FAT32 (LBA)
/dev/block/mmcblk0p2 29014016 31070207 1028096 83 Linux
/dev/block/mmcblk0p3 31070208 31310684 120238+ 83 Linux

That means the partitions are aligned and start at a proper value. If it still doesn't work all you need to do is reflash the ROM and 0.4 after a FULL wipe (but only if you didn't change something to the partitions in the meantime.)

Can't also see something in the log. Both Partition seems to get mounted proberly. If the internal wouldn't be mounted proberly then you would have mtab errors and the external gets also mounted as can be seen that it detects an EXT partition. The only errors are copy errors (which aren't issue ... it simply means there are no files to copy). A bit more information would help me. Like Bootloop or stuck on splash1 (htc writescreen/alpharev joker)?

It would also help if you do "adb shell" (while bootloop or stuck) and then following commands:

df
cd /data
ls -l
cd /system/data_internal
ls -l

Post the complete output of this, so i can see if the symlinks are set proberly. Btw: i hope you did a FULL wipe.

Hmmm, cant see something there (creation of lost+found is normal on first check). Is it slow compared to 0.2 or compared to app2sd?
[Desire Android Development] Alex-V:
ah yes you are right..this is the kernel i use :) (and the only one who loads my battery 100% full)

.....................

Don´t know if this is posted..but..

any idea why this new script runs not so good under hd roms...? (its not the kernel...tried also coutts kernel for this) (also with this i have a little video lag prob)..?

with kind regards...Alex
[Desire Android Development] adodesign:
i use the stock rom 2.29.405.5

please help me to get work with DATA2whatever.

thnaks
[Desire Android Development] Terepin:
Could you extract boot.img for me? I'm currently running on 2G network, so downloading would take me whole day. And can I flash boot.img with unrEVOked?
[Desire Android Development] Gaspedal:
Same Problem here with 0.4 and 0.3. v0.2e works very fast on my phone. 0.4+0.3 extremly slow.

see my logfile
[Desire Android Development] theodm:
HTC white screen

# df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 207948 44 207904 0% /dev
tmpfs 207948 0 207948 0% /mnt/asec
tmpfs 207948 0 207948 0% /mnt/obb
/dev/block/mtdblock3 256000 88020 167980 34% /system
/dev/block/mtdblock4 40960 1324 39636 3% /cache
/dev/block/mtdblock5 151168 1316 149852 1% /system/data_internal
/dev/block/mmcblk0p2 962520 209112 753408 22% /data
# cd /data
# ls -l
lrwxrwxrwx 1 0 0 21 Dec 28 12:38 [1;36manr[0m -> [1;31m/mnt/asec/extdata/anr[0m
drwxrwx--x 2 1000 1000 4096 Dec 4 23:51 [1;34mapp[0m
lrwxrwxrwx 1 0 0 29 Dec 28 12:38 [1;36mapp-private[0m -> [1;31m/mnt/asec/extdata/app-private[0m
drwxrwx--x 2 1000 1000 4096 Dec 28 12:22 [1;34mbackup[0m
lrwxrwxrwx 1 0 0 34 Dec 28 12:22 [1;36mdalvik-cache[0m -> [1;34m/system/data_internal/dalvik-cache[0m
drwxrwx--x 2 1000 1000 4096 Dec 28 13:00 [1;34mdata[0m
-rw-r--r-- 1 0 0 0 Dec 28 12:38 [0;0mdata2sd.ext.finish[0m
-rw-r--r-- 1 0 0 0 Dec 28 12:38 [0;0mdata2sd.finish[0m
drwxrwx--x 2 1000 1000 4096 Dec 4 23:45 [1;34mdontpanic[0m
drwxrwx--x 2 1000 1000 4096 Dec 28 12:22 [1;34mdrm[0m
-rw-r--r-- 1 0 0 196083712 Dec 28 12:38 [0;0mext2[0m
drwxrwx--x 3 2000 2000 4096 Dec 28 12:36 [1;34mlocal[0m
drwxrwx--- 2 0 0 16384 Dec 4 23:45 [1;34mlost+found[0m
lrwxrwxrwx 1 0 0 26 Dec 28 13:00 [1;36mmisc[0m -> [1;34m/system/data_internal/misc[0m
lrwxrwxrwx 1 0 0 30 Dec 28 13:00 [1;36mproperty[0m -> [1;34m/system/data_internal/property[0m
lrwxrwxrwx 1 0 0 28 Dec 28 13:00 [1;36msystem[0m -> [1;34m/system/data_internal/system[0m
drwxrwx--x 2 1000 1000 4096 Dec 28 12:22 [1;34mtombstones[0m
-rw-r--r-- 1 0 0 145 Dec 28 13:00 [0;0mzipalign.log[0m
# cd /system/data_internal
# ls -l
drwxrwx--x 1 0 0 2048 Dec 28 13:00 [1;34mdalvik-cache[0m
drwxrwx--- 1 0 0 2048 Dec 28 13:00 [1;34mlost+found[0m
drwxrwx--t 1 1000 9998 2048 Dec 28 13:00 [1;34mmisc[0m
-rw-r--r-- 1 0 0 2 Aug 1 2008 [0;0mmtab[0m
drwx------ 1 0 0 2048 Dec 28 13:00 [1;34mproperty[0m
drwxrwx--x 1 1000 1000 2048 Dec 28 13:00 [1;34msystem[0m

Perhaps those weird chars are the problem?

Yes, though it always gives some error when needing to wipe the SD-EXT, because it can't/isn't mounted. Recreated the partition manually though.
[Desire Android Development] melethron:
data2sd is laggy when there is stuff written to disk. After the first reboot there are many writes going on (like syncing contacts with google, updates of system apps, building dalvik-cache etc). So this could be the reason. If it doesnt get faster after using it for about 1-2 hours then its another issue. Note that apart from data2sd is slower than app2sd :( . Also the speed is highly dependend on the sqlite inserts your sd-card can handle.

LOL. Again misunderstanding :D

Hmm, i think i give your kernel a try....

Do you mean the log stops at that and doesn't continue then ....

If yes then it could have something to do with the 99complete script. Maybe it doesn't make use of "setprop cm.filesystem.ready 1". Ill download the ROM and take a quick look at it ....

EDIT: LOL. Found the issue ... Oxygen uses "setprop oxygen.filesystem.ready 1". So your system waited for that property to be set. But the included "99complete" script only set the "cm" property. I simply renamed the 99complete in my zip to 991complete so the one included in the ROM doesnt get overwritten (i could have added the "oxygen" line to "99complete" but this way it prevents issues with other ROMS that may change something to the init.rc) . Use 0.4b and it should work fine....
[Desire Android Development] theodm:
Yes it's the very last line and nothing else comes afterwards. Is there anything I can do manually or change in the script to force it to continue? Maybe some simple sleep of x seconds. Would be nice to get my phone going again, because my nandroid backup seems to be screwed ;)
[Desire Android Development] woti23:
maybe easier to remove all bootable flags before getting te startpoint, as there is no need for them at all (if you don't want to use a partition from the sdcard to boot a pc from a card reader)
[Desire Android Development] sibere:
Do you have the same issue with my simpler version of data2sd ?
[Desire Android Development] ernest33:
Yes I'll made a full wipe ;-)

I just redo the flash procedure from start

and here is the result while the phone is stuck on splash1...

[FONT=Lucida Console]# df
df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 207948 44 207904 0% /dev
tmpfs 207948 0 207948 0% /mnt/asec
tmpfs 207948 0 207948 0% /mnt/obb
/dev/block/mtdblock3 178688 84884 93804 48% /system
/dev/block/mtdblock4 9856 1448 8408 15% /cache
/dev/block/mtdblock5 259584 1572 258012 1% /system/data_internal
/dev/block/mmcblk0p2 1505808 35056 1394260 2% /data
# cd /data
cd /data
# ls -l
ls -l
drwxrwx--x 2 1000 1000 4096 Dec 28 13:18 anr
drwxrwx--x 2 1000 1000 4096 Dec 28 13:18 app
drwxrwx--x 2 1000 1000 4096 Dec 28 13:18 app-private
drwxrwx--x 2 1000 1000 4096 Dec 28 13:18 backup
lrwxrwxrwx 1 0 0 34 Dec 28 13:18 dalvik-cache -> /system/data_internal/dalvik-cache
drwxrwx--x 2 1000 1000 4096 Dec 28 13:18 data
drwxrwx--x 2 1000 1000 4096 Dec 28 13:18 dontpanic
drwxrwx--x 2 1000 1000 4096 Dec 28 13:18 drm
drwxrwx--x 3 2000 2000 4096 Dec 28 13:18 local
drwx------ 2 0 0 4096 Dec 28 13:18 lost+found
lrwxrwxrwx 1 0 0 26 Dec 28 13:18 misc -> /system/data_internal/misc
lrwxrwxrwx 1 0 0 30 Dec 28 13:18 property -> /system/data_internal/property
lrwxrwxrwx 1 0 0 28 Dec 28 13:18 system -> /system/data_internal/system
drwxrwx--x 2 1000 1000 4096 Dec 28 13:18 tombstones
-rw-r--r-- 1 0 0 145 Dec 28 13:18 zipalign.log
# cd /system/data_internal
cd /system/data_internal
# ls -l
ls -l
drwxrwx--x 1 0 0 2048 Dec 28 13:18 dalvik-cache
drwxrwx--- 1 0 0 2048 Dec 28 13:18 lost+found
drwxrwx--t 1 1000 9998 2048 Dec 28 13:18 misc
-rw-r--r-- 1 0 0 2 Aug 1 2008 mtab
drwx------ 1 0 0 2048 Dec 28 13:18 property
drwxrwx--x 1 1000 1000 2048 Dec 28 13:18 system
#[/FONT]

Hope this help :p

edit : I notice in "Android Commander" that on bottom bar the "Data" have 1,337 Gb (i have about 1,5 Gb for my 'ext')

edit2 : just to try i do "setprop oxygen.filesystem.ready 1" and the phone continue to boot normaly :-). I will try now after restoring a backup and without wipe (i like adventure :D)
[Desire Android Development] moebius83:
you have to tell me which exact version of the stock htc rom you got: 2.10.405.2 or 2.29.405.2 because I'm not sure if the boot.img is the same.

EDIT: I don't think you can flash a new boot.img using unrevoked, for what I remember you can only flash recovery.img, you'll need to do it through adb
[Desire Android Development] kraml:
I highly recommend to put the partition alignment code into another life-on-the-edge conditional block. Only users who really want that and flashed an additional file in will take the risk, and others are away from it. Playing with partitions automatically in script is really dangerous and let it happens for every boot up is just too crazy for me....
[Desire Android Development] theodm:
Checked it and you're right, it uses "setprop oxygen.filesystem.ready 1" instead of cm. Changed it manually and now it continues.

I still end up in a boot loop though, but I also get that when installing the default Oxygen :( If anyone knows why I keep getting this error it would be great:

E/ActivityThread( 298): Failed to find provider info for settings
E/AndroidRuntime( 298): *** FATAL EXCEPTION IN SYSTEM PROCESS: PowerManagerService
E/AndroidRuntime( 298): java.lang.NullPointerException
E/AndroidRuntime( 298):	at android.content.ContentQueryMap.<init>(ContentQueryMap.java:65)
E/AndroidRuntime( 298):	at com.android.server.PowerManagerService.initInThread(PowerManagerService.java:616)
E/AndroidRuntime( 298):	at com.android.server.PowerManagerService$2.onLooperPrepared(PowerManagerService.java:541)
E/AndroidRuntime( 298):	at android.os.HandlerThread.run(HandlerThread.java:59)
E/AndroidRuntime( 298): Error reporting crash
E/AndroidRuntime( 298): java.lang.NullPointerException
E/AndroidRuntime( 298):	at android.os.DropBoxManager.isTagEnabled(DropBoxManager.java:288)
E/AndroidRuntime( 298):	at com.android.server.am.ActivityManagerService.addErrorToDropBox(ActivityManagerService.java:6775)
E/AndroidRuntime( 298):	at com.android.server.am.ActivityManagerService.handleApplicationCrash(ActivityManagerService.java:6492)
E/AndroidRuntime( 298):	at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:76)
E/AndroidRuntime( 298):	at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:854)
E/AndroidRuntime( 298):	at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:851)
[Desire Android Development] melethron:
manually: "adb shell setprop oxygen.filesystem.ready 1" while stuck.

OR just use the 0.4b now ... i fixed this issue by not overwritting the 99complete script.

Yes this would be easier. But the problem i see here is that "fdisk" TOGGLES the flag so i need to check the flag before this is done anyway (same effort on code). You know an easier way to remove it?
[Desire Android Development] Alex-V:
i thought your script works only with fat32..so i thought its not possible to work with a hd rom (with normal it work fine) correct me if i´m wrong

...So i tried for the hd one many scripts and this one is the best in speed (also i did not notice any kinds of data loss)

http://xdaforums.com/showpost.php?p=9592722&postcount=3031

also i did not know what version the script is...but it works with ext

with kind regards..Alex
[Desire Android Development] Terepin:
Nothing then. Anyway, thanks for your time.
[Desire Android Development] sibere:
I see. It's pretty close to mine. In my thread I say that 2nd partition can be formatted to ext2/3/4 instead of FAT32; but in this case the script has to be slightly changed before pushing it to init.d/
[Desire Android Development] s-murphy:
V0.4 working fine with in my own rom - MIUI_Au. I'm incorporating this in my latest build.

Thanx for the script ;)
[Desire Android Development] vivmar:
in 0.12.24 R2?

Edit:Answer found on your official thread.
[Desire Android Development] Alex-V:
so if its pretty close to yours i will also try yours again...speed with hd rom is much better instead to whatever...but why..?

with kind regards..Alex
[Desire Android Development] ernest33:
GingerBread Oxygen RC4(the reuploaded one)

Well just a little message to say that All-in-one-data2sd-Solution v0.4b work perfectly under Oxygen RC4 (GingerBread).

I have try with and without full wipe :p and all is good :D

Thanks a lot sir melethron ;)
[Desire Android Development] melethron:
Did you use ext2 before that?

Symlinks are all fine. The issue is fixed in 0.4b.

If i had known that the logs posted are the complete logs i would have found the issue instant. I thought the log was snipped ...

Have fun with your adventure :D . If it doesnt work use 0.4b ...

Thats why i made this a test version. This is all work in progress for now. I need people to test the stuff i do to find possible issues.

About the fdisk on every boot. That is not an issue if the partitioning works on first boot. If it doesnt it wont work at all anyway. The reason i do that on every boot for now is that i can get "logs" from "adb" and the logging of the script to see if it works fine. If there has been enough testing i change it so this part of the code will only run on first boot.

Im pretty sure that i will only make a version with alignement. Making a backup before you install it the

VERY first time

isn't a huge effort. After the first run of the script the partition will be aligned "forever" as long as there is no repartitioning afterwards (wich would erase your complete card anyway if you do it with recovery - and if you do it with another tool like gparted you should also make a backup). So this is a "one time risk" (not like life-on-the-edge which has a general risk on a powerloss/adb reboot ... ) and the improvement from the alignment will be there even if you go back to app2sd.

Writing the script took quite some time and alignment is something that improves performance between 0%-200% (depending on what type of I/O is happening). So if someone is to lazy to make a backup on the very first install of the script then he should simply not use it.

This script uses a loop device. That is the same the "life on the edge" mod does. Thats why i called my script a "all-in-one-solution" because it includes every type of data2sd that is present for now. Also note that the script you link use a "loopFILE". This is the rather outdated version of ownhere v2 script. Ownhere change it to proper "loop device" in v4 because this is faster (because of the double flush of the kernel to the loopfile and the file). So the "life-of-the-edge" mod should be even faster than this script.

Personally i didn't notice any speed improvement from loop in comparsion to ReiserFS so i don't use it. But this depends on the sd-card (not the class but some internal handling of the i/o).
[Desire Android Development] vivmar:
@Melethron

so,the dalvik is back into internal memory.Just for know,whit this changes,what are the advantages now by using a data2sd script?

and when did u plain to release this changes ?(data@app and system@ ...)
[Desire Android Development] Gaspedal:
No, I have used ext3 before that (created with Rom Manager)
[Desire Android Development] sibere:
That's right.

Speed on SD depends on 2 parameters: I/O (max write speed) and I/O ps (per seconds).

The 2nd parameter is the most important when writing small files like SQlite inserts.

One may have a fast class 10 sd card but with a poor IOps performance due to a cheap controller.

Unfortunately, manufacturers only gives you the max write speed but not the IOps you SD can cope with.
[Desire Android Development] melethron:
Sorry but this is completly ROM related ....

Again: difference is loop:

- Sibere uses "ext2 loopfile" on a fat partition

- ownhere's v2 use an "unjournaled EXT4 loopfile" on a EXT4 partition because unjournaled EXT4 is faster than EXT2.

- ownhere's v6 use an "journaled EXT4 loopDEVICE" because its faster than a "loopfile"

-"life-on-the-edge" use a "unjournaled EXT4 loop device" for data.

So "life-on-the-edge" should be at least as fast as this scripts (if not a bit faster). It would be nice if you test this and report back if this is the difference. If this is still slower with life-on-the-edge i have to take a look at some other stuff.... (for example different scheduling for loop or stuff like that)

i start to rewrite the script the next minutes. should be finished this evening.

The benefit from dalvik on internal is this: if you open an app the .apk and the .dex file (in dalvik cache) has to be loaded. If both are on the sd-card this takes more time to read them than the .apk on sd and the .dex on the internal. So dalvik on internal is better.

The only issue with this is that dalvik-cache needs about 1/2 size of the apps installed. So if you have like 300mb of apps the 147 mb of the data partition might not be enough and dalvik runs full. Thats why i'll rewrite this that only the system@....dex files from the system apps are on internal. All the apps you install later are data@app...dex files and they will be stored on the external then. This way dalvik cache wont get full as long as there is free space on the sd-ext partition.
[Desire Android Development] melethron:
yeah ... :( all i found so far are some leaked specification of microSD:

www.dtt8.com/images/micro-sd specification.pdf

If 25mb/s is possible on 4 parallel channels on a 50 Mhz bus then a card that has higher write OR read than 6,25 mb/s (my class 2 gets 10mb/s read so it does) then the controller has at least 2 parallel channels (like a tiny raid-o device with 2-4 NAND chip banks ^^). This information is the reason i used noop. But it is (as you said) impossible to get infos how much i/o request the controller can handle. If noop gives more i/o request to the controller than it can handle than this could cause lags. Thats why i use "deadline" now. To assure no i/o requests are dropped. But some kernel have removed "deadline" scheduler :/ .

Another intresting article is this: http://lwn.net/Articles/353411/

When i started my test with nilfs2 and btrfs with ssd options i expected that controllers in microSDs are BAD in simulating a rotational device. But at least the one in my microSD does it work as it should. Thats why ssd optimization made things worse.

Overall i think that the way flash devices are developed atm is REALLY STUPID.

Most Filesystems use algorithms that are optimized for a rotational device....

... and SSD controllers use algorithms that the flash BEHAVES like a rotational device .....

I doubt it is the best way for better flash devices if a SSD tries to behave like a mechanical rotating disk .....
[Desire Android Development] ernest33:
Cannot mount SDCARD, no /etc/fstab

I just face a problem with sdcard after a reboot.

The sdcard doesn't mount. The ext mount well.

Looking in filesystem i find i don't have fstab in /etc/. I found a 'vold.fstab' instead.

If i look into 'data_internal' i find the 'fstab'.

When i was trying to use mount /sdcard of course he tell me there is no /etc/fstab so i rename 'vold.fstab' to 'fstab'...reboot...and all is good again :D
[Desire Android Development] Alex-V:
thanks for make things clear for me :o:o:p;):rolleyes:

with kind regards...Alex
[Desire Android Development] woti23:
if a arm binary version of "parted" is available, parted does all from resize/copy/move partitions incl filesystem without data loss, and can do

parted set /dev/partition boot off
[Desire Android Development] melethron:
@gaspedal:

I fixed the issue that happend to you:

test1: /dev/block/mmcblk0p2 27119616 30105809 1493097 83 Linux
test2: /dev/block/mmcblk0p2 * 29013390 31069709 1028160 83 Linux
before fix: test1: 27119616 test2: *
after fix: test1: 27119616 test2: 29013390

This is included in the next release. But before i upload it i do some other changes.

Its normal that android has no etc/fstab. The "vold.fstab" is used by the "vold" process. This process handles only the sdcard. For example if you connect through usb to a pc. The "vold" process then unmounts the sdcard if you want to access the fat partition through usb. So renaming this is not a good idea .... because 1.) the partition cant be accessed through usb then and 2) the vold process unmounts the fat partition on shutdown (there could be a risk of data corruption if it doesn't)

You should rather check whats the issue with vold with a logcat on boot.
[Desire Android Development] melethron:
I dont wanna make the zip larger then necessary. I fixed that the easy way:

bootflagp2=`busybox fdisk -lu /dev/block/mmcblk0 | grep mmcblk0p2 | busybox awk '{print $2}'`;
if [ "$bootflagp2" = "*" ];
then
sectorstartp2=`busybox fdisk -lu /dev/block/mmcblk0 | grep mmcblk0p2 | busybox awk '{print $3}'`;
sectorendp2=`busybox fdisk -lu /dev/block/mmcblk0 | grep mmcblk0p2 | busybox awk '{print $4}'`;
else
sectorstartp2=`busybox fdisk -lu /dev/block/mmcblk0 | grep mmcblk0p2 | busybox awk '{print $2}'`;
sectorendp2=`busybox fdisk -lu /dev/block/mmcblk0 | grep mmcblk0p2 | busybox awk '{print $3}'`;
fi;

could have toggled the bootflag also if set. Hmm, maybe i do that ... but IMHO it doesnt matter if it is set.

EDIT: Bootflag is removed afterwards anyway:

255 heads, 63 sectors/track, 1936 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 1688 13558828+ c Win95 FAT32 (LBA)
/dev/block/mmcblk0p2 1689 1875 1494016 83 Linux
/dev/block/mmcblk0p3 * 1875 1937 504320 83 Linux

Command (m for help): d
Partition number (1-4): 3

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (1875-1936, default 1875): Using default value 1875
Last cylinder or +size or +sizeM or +sizeK (1875-1936, default 1936): Using default value 1936

Command (m for help): p

Disk /dev/block/mmcblk0: 15.9 GB, 15931539456 bytes
255 heads, 63 sectors/track, 1936 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 1688 13558828+ c Win95 FAT32 (LBA)
/dev/block/mmcblk0p2 1689 1875 1494016 83 Linux
/dev/block/mmcblk0p3 1875 1936 497096 83 Linux

Command (m for help):

So there is no reason to change anything on that. If the partitions are aligned already i dont wanna make some unnecessary changes to the parttable.
[Desire Android Development] hajen78:
anyone have an sulution ?

It says the same when i try miui, i have also tried a different sd-card but it is still the same :(
[Desire Android Development] kart_man_21:
data2whatever 0.4b & leedroid 2.3b a2sd

Hi,

Seems indeed to work!

Have plenty of internal memory free! I will try to check how stable this will run coming few days.

Have fully cleaned and wiped mine desire, S-OFF and partitioned the SD card using Amon RA 2.0