[Galaxy S I9000 Q&A, Help & Troubleshooting] ericderace:
I've ran my phone with the original Eclair rom for a couple weeks. I then figured that I couldn't wait for the froyo rom. I've been running the Spike Speedy OC rom, with the JK4 modem and voodoo lagfix. The phone was running just great, very fast. I then changed the lagfix to overkill ext4. Some hours later, the phone hung up. When I rebooted it, it said that the configuration had changed. I saw that one of the options was back to RFS.

What?? It's formatted as ext4. Oh sh*t. Well it didn't boot back up.

I've tried flashing every different firmware I could find. I then tried to re-format the SD manually and found that the partition table was bad.

I've tried to reformat both SD card partitions. The system one (p2) formatted fine, but the "internal SD" (p1) storage one wouldn't format. When I ran fdisk on it, it told me that the partitions didn't end on cylinder boundaries.

Then, I (mistake) flashed a T959 firmware on it. At that point, I wasn't able to get into the download mode using the 3-button combo. Oh shi*... Now I really messed this up. I've managed to get it into download mode using ADB and flash the bell firmware back on it. Oh yeah!! Here we go again.

After the fact that I had installed the T959 and flashed back I9000 firmware, I couldn't find the /dev/block/mmc*** anymore. As if the SD didn't load up.

At that point I inserted a microSD in, and it was recognized as the internal SD. I managed to partition and use that external microSD card just like the internal one and got the phone to boot and work. However, no storage.

All of which I was trying to do while my USB connection was on-and-off, because the usb connector was damaged. It initially had corrosion because my car plug that was kept on the floor of the car, with all the dirt, water and snow. I used alcohol and a tooth brush to clean it, between flashes. As well, flashing it through a VirtualBox VM since I'm on Ubuntu. Sh*t..

This morning I figured I would stop trying, flashed the JH2 firmware on it and brought it to Bell. I tried to get a refund with the argument that this phone is badly designed - with the samsung movinand flash chip - and that it would fail again even if they fix it. It didn't work out for me since I bought the phone about 40 days ago. I was thinking of getting a refund and buy a Nexus S, when a compatible one comes out. It has a different flash chip - a iNand from Sandisk I believe. Oh well. If it fails again, I can still call VISA and give it a try through the purchase protection plan. I have to mention too that I tried calling bell with my concerns - nothing they would do too.

I don't recommend you take my approach. IMO, maybe try, as root, to check the partitions using fdisk /dev/block/mmc(something) and if they appear ok, try to format the SD card using fat.format /dev/block/mmc(something)p1 - but that's it. I'm an experienced linux user, but I'm not a developper. I don't even clearly understand this ODIN flashing stuff. It's like not all firmware you find on the net have the same amount of components inside. I'm thinking stuff from the other flashing is still remaining, not replaced by the later flashes.

I have to say that the next time I'll approach this using fdisk and fat.format only (If I've got a recovery mode working, with root and adb support). Perhaps I will write down the numbers for where the partitions start and end on this SD card when I get my refurbished phone.

Some might say that I had time to spare... I wrote this for you that might be thinking of fixing your 600$ brick yourself.