[Captivate Android Development] NukaCola:
This is a quick walkthrough of how to apply my variant of "Mimicans speedfix" using my kernels on the Captivate. The speedfix essentially consists of making an ext3 or ext4 filesystem on an sdcard, and using that as our /data directory. This method is different from the original method in many of the details, but the underlying basis is that the stock /data partition is slow as molasses so we replace it.

This method should be pretty safe. As you will notice we dont copy around stuff and create a symlink mess. We just mount a partition over the current one. Yes we still mount the old one as well, even though it wont be used unless you take your card out. If that happens the phone will mount your old /data (that will probably be very out of date at the time) but itll get you up and running right away.

Right now there are two kernels, these mount the default partition, ext3 or ext4 on the second sdcard partition, the two options are:

Stock clock speed and Overclocked.

The overclocked kernel will clock from 100 to 800 Mhz as stock, then skippinig 1Ghz going to 1.2 Ghz.

Also, before we begin make sure you have this version of Odin. I used Samsung windows drivers that I found here.

You'll also want to read this thread about download mode. here you'll learn that you will have to try real hard to actually brick these phones, and even then it may still boot.

Ofcourse you also want to have root on your captivate.

You'll also need the android sdk.

If you are on Windows or Mac you will need some software to partition and format the sdcard, this live cd will work. You could also just get an ubuntu live cd or similar.

So, now we have the necessary tools and our new kernels and can get started.

Partition the disk:

There were reports from the modaco forums when mimocan first released his fix that ext3/4 partitions larger than 2gb were a problem, so keep your 2nd partition 2gb or smaller.

Use your favorite partitioning sofware to create 2 partitions on your sdcard. the first one will be formated FAT32 (vfat), and the second one ext3 or ext4. Make sure both are 'primary partitions'. You may want to make the second partition have partition type 83 (linux native).

Copy data files to sdcard:

If you are coming from stock, (eg without an existing a2sd /data partition on your sdcard) boot the phone without your formatted card and hotplug it before starting this process.

Using the sdk you need to connect the phone and use 'adb shell' to get a prompt on the phone.

Then follow these steps:

$
$ su -
# mkdir /sdcard/mnt
# mount -t ext4 /dev/block/mmcblk1p2 /sdcard/mnt
# busybox cp -a /data/* /sdcard/mnt
# umount /sdcard/mnt
# exit
$ exit

Flashing the kernel

1) Disconnect USB cable.

2) Open up odin.

3) Put your phone into download mode.

4) Connect USB cable, wait a second Odin should detect your phone, if not fiddle about with your drivers and reboot windows or something. This can be a real PITA.

5) In Odin load the kernel tarfile as "CSC"

6) Click "Start" in Odin, flashing should only take a few seconds.

You may run into issues here randomly and have a phone with the phone-!-computer image (I did!). Just go read up on the 'download mode' thread linked above it tells you how to proceed.

7) When you have booted your new kernel and /data partition you may have some issues with a few widgets/apps. Reinstalling or waiting/fiddeling with them seems to solve the issue. Maps was slow to open the first time after a new /data partition was mounted for me a few times, but subsequent launches were snappy.

If you want you may donate to my beer fund. It is not necessary but much appreciated :)