yashsingh1/xdaforums huggingface dataset:
[Captivate Android Development] atinm:
Yes, that's it. Have to get that off the phone now. Did you use any tools or did you just use a hex editor to look for the gzip headers once you got the image off the phone? Can I just use Koush's zImage and extract the initramfs from it?

Thanks,

-Atin
[Captivate Android Development] NukaCola:
Use a hex editor or grep+dd. Look for 0x1F 0x8B 0x08, get rid of everything preceding that, Save that as one.gz. gunzip one.gz and repeat the procedure, now you have two.gz. gunzip that, and you have the cpio archive, in a fresh, empty dir do something like $ cpio -i -d -H newc --no-absolute-filenames < ../two. Now you'll have a dir populated with the ramdisk contents.
[Captivate Android Development] atinm:
Thanks! That's what I needed :-)
[Captivate Android Development] rob989_69:
Stuck, tried to flash the kernal, stuck at zimage. Unplugged, pulled battery, put it back in, plugged it in, got the pc-phone screen. Now can't get into DL mode anymore. Tried volume +- and pwr multiple ways. Doesn't work. Any other suggestions??
[Captivate Android Development] NukaCola:
The only way I know is documented in This thread. That method worked for me, make sure you read and follow it exactly.
[Captivate Android Development] rob989_69:
I've tried it six ways from sunday. I've tried letting it blick once, twice, three times. I've held it till my hand cramps and let go and it still comes back to the screen. I've tried with and without sim and sd card as well.
[Captivate Android Development] NukaCola:
I don't know what to tell you, that method should work, somebody with more experience flashing may be able to help you better. Perhaps you can get on irc and have somebody walk you through it (#koush on freenode).
[Captivate Android Development] ranova:
I get 1716 scores in quadrant, but with real world running tests Touchdown and Dolphin HD browser still lag like holy hell.

I originally had the "method 2" hack (moving apps to the NAND) and that worked wonders, especially with these apps.

Can anyone test these two applications and see if there is lag for you? (in dolphin, try opening a new tab, closing it, and goto a large page and scroll with the volume buttons - it should all be smooth and quick)
[Captivate Android Development] rob989_69:
I think I've bricked the unbrickable phone. I've never had a problem getting it to DL mode before. I've tried too many times. I think it's back to the store I go.....
[Captivate Android Development] NukaCola:
It seems extremely fast here. I hadn't tried this browser until now, its great, very very fast. No lag at all doing the things you say.

Have you tried to reinstall the app? Backup your data with titanium first.
[Captivate Android Development] ranova:
yea, I uninstalled and reinstalled it completely, still get the same problem. I think the whole symlinking thing from before mightve screwed it up?

Heres what I typed before for "method 2" for specific apps (I had more than 200mb, which would not all fit on the NAND, so I had to do it for specific apps):

cd /data/data
for i in mobi.mgeek.* ; do echo $i ; busybox mv $i /dbdata/data/ ; busybox ln -s /dbdata/data/$i $i ; done

Heres what I typed in before I did your speed hack:

cd /dbdata/data
for i in mobi.mgeek.* ; do echo $i ; busybox mv $i /data/data/ ; busybox ln -s /data/data/$i $i ; done

Is there any real way of checking where the phone is really launching apps (is it really coming from ex4 partition or still from the phone)? From dolphin, to touchdown, to Marketplace, it seems slow compared to the method 2 NAND fix.
[Captivate Android Development] NukaCola:
It seems like when you went to restore from the 'nand fix' you shouldnt be symlinking. The reason you symlinked the first time was that the apps look for their stuff in /data but you moved it to /dbdata/data, so you create a symbolic link back and the os/apps follow that and find your files.

When you restore that there is no symlinking needed as your app data is where expected. so that line should have looked like:

cd /dbdata/data
for i in mobi.mgeek.* ; do echo $i ; busybox mv $i /data/data/; done

I'm just guessing here from what you wrote, I haven't looked into that at all so I'm not sure if there is anything else involved.
[Captivate Android Development] ranova:
yea thats true, I was just lazy and didnt change any of the code. So the symlink would still be in /dbdata/data, so it *shouldnt* matter because system looks for everything in /data/data first (thats why you symlink in the first place)

can I just delete the /dbdata/data folder now?
[Captivate Android Development] NukaCola:
Yep that should be safe.

I'm not sure why you arent seeing speedups though, dolphin flies on my phone, and I have scummvm and Pandora going as well in the bg (well I guess scummvm is paused).
[Captivate Android Development] ranova:
it sounds counter productive, but is it possible to keep this ext4 hack on and put dolphin back on the nand to test it out? would i have to mount the ext4 sd partition again and create a dolphin symlink from /sdcard/mnt to /dbdata/data ?

edit: I dont know the background behind linux, so excuse my noobiness here. there are no files in /sdcard (in adbshell) and I cant mount it to /sdcard/mnt
[Captivate Android Development] NukaCola:
You'd create it exactly as you did before, the ext4 partition is now your /data. You can delete the /sdcard/mnt directory now, that was just a temporary mount point to use while copying files from /data. Its not used for anything else.
[Captivate Android Development] ranova:
ah thanks, Ill give it a try.

Edit: Donated $10 for all your hard work and help (nguyener)
[Captivate Android Development] ranova:
i moved dolphin back to the NAND and its working very fast again... I'm really confused - I get 1770s in quadrant but apps like dolphin and touchdown work as if there was no hack installed
[Captivate Android Development] Tacun:
You will have to do it using the 3rd method:

Method 3:(ALT KEY COMBO)

From this screen:

Take out your sim card, removable sd card, battery and open Odin3(you must open odin3 before you start or it won't flash. Do NOT put your sim or sd card back in).

Put the battery in.

Plug in USB. (the phone will power on and goto the phone+!+computer screen)

Hold down both Volume buttons, and then push and hold the power button. Hold all three and do NOT let go!

Wait for it to go black and return to the phone+!+computer screen.

When it goes black the 2nd time release the power button and keep holding the volume buttons.

You should now be in download mode, click start on Odin, wait for it to finish and start enjoying your phone again!

If you don't get it right away keep trying. I didn't get it the first time.
[Captivate Android Development] Unhelpful:
working!

Quadrant score is now 1138. The DB write test seems very slow. Setting the data journalling to writeback instead of ordered does not seem to help much, the DB write test still takes tens of minutes, and some of my widgets (Pure Messenger, which I believe stores the messages it displays in a DB) are unusable for tens of minutes after boot. Unfortunately we don't have a lot of options for a filesystem for SD, most of the for-flash linux filesystems don't support block devices at all AFAIK.

I'm going to try playing with the i/o scheduler and benchmarking again. Wish I had a shorter test for DB writes, it takes rather a long time to see if there has been any improvement. Upgrading to paid Quadrant to run the DB test by itself would probably not help much, as it is taking much longer than all other tests combined.
[Captivate Android Development] SlimJ87D:
There's an official topic for this now. Check this out, I think we need your help:

http://xdaforums.com/showthread.php?t=740747&page=6

We have found a number of problems, lag when turning the screen on and mic problems possibly due to SD Card taking up current.
[Captivate Android Development] NukaCola:
If you look at the original lag fix thread in the i9k forum you'll see that the dev of Quadrant was aware of the issue and they were looking into it. It seems to only happen for some people. Earlier someone here seemed to trace it to Kinston cards.
[Captivate Android Development] vietphunguyen:
What do you mean by "bottle neck" lol sorry bad with terms
[Captivate Android Development] shawnchalfant:
Resticted, tight space, narrow pathway in the way data flows. Like the old soda bottles, large bottom narrow neck to the opening "bottle neck"
[Captivate Android Development] Kagoshema:
this is by no means the most stable of ideas, but

you could try following the instructions for the i9000, and try flashing the captivate kernel at different points in the process (probably before vietphunguyen's step 7) until you find one or none that do

luck
[Captivate Android Development] vietphunguyen:
That probably won't work because the ext3/4 kernels enable the ext3/4 partition to be read, the regular captivate kernel doesn't support it I guess. Thats the whole reason for the fix.
[Captivate Android Development] derek4484:
Wow! I almost jizzed myself watching that test and seeing that galaxy S at the top, 1st by far. I want it!
[Captivate Android Development] Kagoshema:
the i9000 kernel doesn't support it by default

but the captivate "allegedly" does

so mebe we can try doing different things with ext3 with the default kernel to get an idea what works and doesn't. or to see if it really is completely unsupported
[Captivate Android Development] Croak:
If its supported, just need to symlink something to the /ext3 to see if it sticks.
[Captivate Android Development] autoxer:
You'd still need to modify the startup to mount the external ext3/4 filesystem at boot time for it to work as a "speed fix" a la Mimocan's mod, or it wouldn't see the files. But moving/symlinking something could still maybe serve as a test of the kernel's support for the filesystem.

edited to add: just slipped a blank all-ext3 2gb card in and the phone says it's "blank or unsupported filesystem" so if the kernel has ext3 support built-in, it needs a switch flipped to turn it on. So we still need a modified kernel. Just FYI.

I sent the files from my root directory to mimocan earlier today though, so hopefully he's brewing something up. To be honest, I can wait, though; the phone, completely stock, is still faster than most anything but a Droid X, and it's not too far behind that.
[Captivate Android Development] NukaCola:
ext3 is supported in the stock Captivate kernel, as stated earlier in this thread. I partitioned and formated a sdcard ext3 and vfat combo just now. The vfat partition mounts automatically on /sdcard/sd I had to manually mount the ext3 partition, but it mounts just fine with +rw perms.

I haven't looked into what the original speedup fix actually did, I'll go read up on that now. Before I can actually do any real hacking on this I think I need to get sshd running on the phone as well, takes forever to do anything with a terminal on the phone. Way typo prone ;)
[Captivate Android Development] BigWorldJust:
There's a way to do this on the Samsung Vibrant...
[Captivate Android Development] Croak:
If the kernel does support it, then the rest of the fix is done through terminal commands, easy peasy.
[Captivate Android Development] NukaCola:
Yeah at a glance it seems trivial. I'm looking into the sshd thing now. I'm also thinking I need to get backups going before I do much else. I'm totally new to the whole android thing so it may take me a little while to figure all this odin and clockwork stuff out.
[Captivate Android Development] NukaCola:
Seems that /init.rc gets overwritten from the kernels initramfs on boot. *That* is why mimocan built a zImage, not because of fs support. I'm not sure why he chose to mount his sdcard partition on /disk and symlink to /data instead of just mounting on /data though. *shrug*
[Captivate Android Development] autoxer:
Well, after verifying that the Captivate does indeed support ext3 natively and doing the Mimocan fix while "hot" (i.e. no reboot; just remounted rootfs read-write and did the terminal steps of Mimocan's fix via adb), I can attest to the fact that even a crappy old (I bought it at least 3 years ago) 2GB microsd (barely class 2 if that) is good for 1282 in quadrant.

As you note above, the problem arises on reboot; the ramdisk regenerates the init.rc into root on reboot, so any changes made to it before reboot are effectively wiped. This is indeed why he made a kernel (or more accurately, edited the ramdisk and then built it back into a complete image).

I'm in the process of figuring out how to extract the ramdisk from the stock kernel image Koush posted a few days back. Once I do, I should only be a short ways away from having the whole thing working with a stock Captivate kernel, as the commands to add into the init.rc are relatively simple.
[Captivate Android Development] caelestis2:
How come we can't make an ext3 partition on the internal sd storage? This seems like a hackish fix because you can't take your micro sd card out, or if it fails then the phone fails.
[Captivate Android Development] SlimJ87D:
How much of a difference does the CLASS (2, 4, 6 or 10) make?

Is there a certain speed where it doesn't matter anymore?
[Captivate Android Development] NukaCola:
Yep. Seems mimocan did go further after that and built kernel(s) with ext4 support as well. I'm guessing that if you grab the samsung kernel sources you can build a kernel that is able to load the binary blob drivers needed.
[Captivate Android Development] NukaCola:
I agree. Its just easier to deal with partitioning on the external card.
[Captivate Android Development] SlimJ87D:
Answering my own question.

People have scored very high with Class 2, so it doesn't matter which class you have, it depends on who made it.

Transcend and sandisk have scored well but not Kingstons. If this works I am willing to donate

$10

And also, I will most likely buy this card

http://xdaforums.com/showpost.php?p=6754407&postcount=20

The Sandisk Ultra 4 class which performs as well as a lot of class 10s!
[Captivate Android Development] Tacun:
I think I read on his original post that the fix can be done with either sd card but that the fix wasn't as effective with the external sd. Plus I don't think id notice a small partition an a larger sd card.
[Captivate Android Development] SlimJ87D:
Wow, after seeing these images, I think this modification is MORE IMPORTANT THAN FROYO ROM for now!

Barrow this image from Daniel.Z at AndroidModaco.

Topic creator, can you please post this image to show the potential we have? We can increase benchmark scores by almost 2 folds!
[Captivate Android Development] autoxer:
As I understand mimocans fix, the speed doesn't come from the file system used but from the fact that the external sd card isn't bogged down on the internal bus. The ext 3/4 file system is used because that's what the system uses for its internal business.
[Captivate Android Development] kennethpenn:
Alright I added the picture for a little inspiration. ;)
[Captivate Android Development] KJPDX:
Thanks for the picture, really brings things to light.

Great stuff from everyone contributing, day by day we're making progress on the Captivate.
[Captivate Android Development] NukaCola:
I could be wrong since i havent tested. But i suspect the fs is what speeds it up, the stock fs on this partition is rfs a closed src fat variant. Samsung seems to like it for how fast it mounts (very little checking at mount time i assume).

Anyway just mounting an ext3 partition of an old 2gb class unknown card over /data (copy files first) makes our captivate feel really snappy and let's it do do this:
[Captivate Android Development] phishie:
This is with stock ROM too?
[Captivate Android Development] NukaCola:
Yes. Stock rom, pnlu change is a variant of mimocans fix.
[Captivate Android Development] phishie:
New to the Android modding, if you have a chance can you post a guide to what you did? Rooting and sideloading explanations not required.
[Captivate Android Development] SlimJ87D:
Wait a minute, you figured out how to get this mod working on the captivate?
[Captivate Android Development] sl8125:
Variant = Assuming temporally mod fix. i think he said once reboot. it goes back normal.

However, if we can get it to stick. It will be nice.
[Captivate Android Development] phishie:
Got it, thanks.
[Captivate Android Development] Tacun:
I'm getting excited! The problem atm is that ext3 isnt enabled at boot and would require a modified kernel to enable that correct?
[Captivate Android Development] Kagoshema:
just an idea, but would it be possible to make a script to run the commands to enable ext3 and then set that script to run at boot?

that way we can sort of automatically re-apply the fix every time we reboot, at least until a modified kernel makes it perminent
[Captivate Android Development] SlimJ87D:
Wow, it sounds like we're really close now. Well like I said, $10 to who ever gets up a perfect guide and figuring this all out from me :).
[Captivate Android Development] Baldilocks:
And like I said before, $20 from me if it works. :)
[Captivate Android Development] phishie:
I'm in for $10 too.
[Captivate Android Development] autoxer:
he and I have both posted that it works if you do the fix live on the file system (he mounted to /data, I mounted to /disk like mimocan's original fix). The problem is getting it to load at boot--because the boot image unpacks the ramdisk into / every time, there's no way to make it persistent without modifying the kernel; there's no way to do that without the kernel source, which hasn't been released yet. Unless we can modify the Galaxy S kernel source to work properly with the Captivate, anyway.

If you do the fix and reboot, you won't have anything in /data or /system/media, and the phone just goes to a black screen after the AT&T world phone screen, because the external ext3 partition isn't mounted.

I tried leaving the /data and /system/media folders intact and copying/symlinking over to the ext3 card, so that once it boots you could just remount the external card, but that doesn't work either; at least not for quadrant, which hangs on the first i/o test. I didn't notice any increase in speed that way either, though it didn't break anything.

You could probably write a quick script to apply the live version of the fix after the phone is booted, but you'd have to manually run the script after every reboot, and remember to un-do it before every reboot (which could also be scripted, but would have to be run manually), or you'd be back at the black screen mentioned above.
[Captivate Android Development] sl8125:
i just used the modaco lag fix brought up my benchmark to 1000 with jm2 firmware on my captivate. seems little faster. i also did the samset 1.6 rom update. it has a nice feel to it. until there is a REAL FIX, i guess i am gonna have to stay with this setup.

maybe changing the firmware is step from att bloatware. also if there is new firmware i can now upgrade it. better then stuck with att bloatware i think.
[Captivate Android Development] phishie:
Warning, n00b questions ahead...

Samsung is responsible for releasing the Kernel source?

And they are required to release it, correct? (Because it's GPL licensed?)
[Captivate Android Development] sl8125:
HOLD ON LADIES AND GENTS. OF COURSE THE NOOBS TOO.

Mimocan just asked about the captivate kernel and i just supplied to him. At least pointed him to the right direction. I been posting in the i9000 "Update the Real Fix" thread about how we need it too. He looks like he is going to look into it. If so, we should have a kernel made for us real soon. cross our fingers and pray you to GOD he could build us a kernel. POP.
[Captivate Android Development] SlimJ87D:
That sounds awesome!

BTW, what MicroSDHC card do you have? What class is it?
[Captivate Android Development] NukaCola:
You should be able to edit/repack the initrd (ramdisk) without compiling a new kernel (so no sources needed). I just don't know enough about all this android stuff to extract and reflash the ramdisk. I found some stuff googling but most of it seems to not work on the galaxy (no /{proc|dev}/mtd etc.)

I have a few ideas of mounting the card over /data automatically at boot, however I noticed I had issues with some apps when my card was mounted over /data. A few apps, (pandora, siriusxm) had issues logging in on my accounts. I'm sure other things will not like getting a new partition mounted over where it had read and/or write locks... I'm not sure if it will be too late in the boot to mount after init is done.

I have pinged Samsung about getting sources too btw ;)

The other idea I had was to just reformat /dev/block/mmcblk0p2 ext3 (or ext4 or bfs if we can get kernels supporting that) while running off a sdcard /data partition then switching back to mounting the internal partition on /data. If the fs is the io killer that would essentially apply the mimocan fix without an external sdcard or futzing with fdisk on your internal sdcard (if the bus is the io bottle neck that would obviously do nothing to help though).

We'll see if I have time to learn more about the android bits to make this happen.
[Captivate Android Development] sl8125:
got me one of these. i want to get a 32gb but not available. no point of spending for 16gb when i can get 32gb soon.

http://www.amazon.com/SanDisk-SDSDQ...-Micro/dp/B0017T2HWC/ref=cm_cr_pr_product_top
[Captivate Android Development] autoxer:
I may poke around with this a bit more tonight. I spent some time trying to do it last night, but couldn't get the scripts used to split them apart to work properly (even with a bit of fat-fingered edits) so I may have to manually strip them apart with hex. We'll see how that goes.

We may be able to put a barebones amount of data into /data to get the phone to boot and symlink to the rest elsewhere for a post-boot fix, but that's pretty hacky, and it won't be as clean or easy as doing it proper. I'll keep poking at extracting the ramdisk. If I get that part done, we're home free, I think, as I compiled the mkbootimg and yaffs tools last night, so I should be able to re-package it once I split it apart.

This would be ideal.

I think you'd still have to be able to edit the ramdisk and repack it to mount the /data device with the right fs at boot time for this to work, but it would be less hacky in the long run, keeping the data inside the device. Might worry me about ext3 thrashing the memory itself, though--need to look into this further. Not a concern when we're talking about cheap/ancient 2gb external cards. But I like this train of thought.

Same here. I'm using basically nothing but a decent understanding of standard linux and google-fu to come up with this stuff. Learning is fun though. Don't know if the girlfriend would agree.
[Captivate Android Development] smeltn:
awesome news. In those videos the phone was smoking fast
[Captivate Android Development] NukaCola:
Ditto. My wife is getting pretty sick of this phone already...
[Captivate Android Development] paOol:
posting in this thread to save it.
[Captivate Android Development] mesasone:
At the top of the page, you should have a button called "Thread Tools". In there, you have the option to subscribe to a thread. Use it.
[Captivate Android Development] Baldilocks:
Or go to your UserCP>Options>Default Subscription Method

I never understand why some Admins have 'Do Not Subscribe' set to default.
[Captivate Android Development] d2010d:
I was about to return my phone as well... but applied the Stock Galaxy S I9000 on Captivate... wew.. this is how the phone should be (next to stock froyo)!

This worked out exceptionally well for my phone... amazing how fast and responsive the phone is... I can now have multiple exchange syncs with zero lag...

Stock Galaxy S I9000 on Captivate
[Captivate Android Development] sl8125:
on top of the JM2, you should try the samset or modaco update zip. hellava betta and smoother. all the hype of the froyo at this moment but it won't be useful on the captivate yet. focus on running 2.1 smoother and faster on our device is my goal. hopefully someone could built this dang kernel to run on captivate.