[Galaxy S I9000 Q&A, Help & Troubleshooting] inferno7799:
I've probably read everything currently available for unbricking a Galaxy S (i9000)g and Galaxy S Vibrant (i9000M), but I'm open to more suggestions!

Here's my current situation:

Bricked GT-i9000M - can't do anything except go into download mode

Odin doesn't detect the phone at all (obviously driver-related, but hang on)

Heimdall works fine, but the flashing just doesn't seem to complete (I've added my current PIT at the end of the post)

Can't boot into recovery (partly because I keep overwriting the recovery trying to install ROMs so right now it might not even be properly installed)

Tools available at my disposal:

Linux laptop running Kubuntu 14.04

Windows 8.1 Desktop

Windows 7 Laptop (not too accessible but can use if necessary)

Heimdall 1.4 frontend and command line

An ODIN flashable stock i9000M ROM that I extracted the files for flashing with Heimdall (although it was missing a boot.bin so I used one from another ROM, probably not the best idea, but I'm trying everything) obtained from here (it's bolded under "Android Rescue, Recovery Kits -> Upgrade or Downgrade or for Recovery": http://xdaforums.com/showthread.php?p=29331775#post29331775

Issues

- It's been so long since I had this phone working that I forgot what ROM, kernel, etc. it was originally running and I know there's supposed to be an "upgrade" procedure for GB to ICS/JB, but I just want the phone bootable into a ROM right now.

- I can't seem to find a proper i9000M stock ROM (I apologize if I've missed it, but would greatly appreciate a link)

- Speaking of links, most "recovery kits" I've come across have dead links

- Most unbricking guides and the aforementioned recovery kits specifically state "ONLY for use with i9000" so I've stayed away from them for the most part just in case I end up with a perma-brick (not likely, but a possibility nonetheless)

With all that being said, I would appreciate ANY help you guys can give as I'm honestly all out of ideas. It seems like it's so close to working, I just need a proper, stock i9000M heimdall-flashable ROM.

Here's my most recent flash attempt (stock i9000M ROM from "Rescue kit" with files extracted into Heimdall flashable format, and using boot.bin from stock i9000 recovery kit)

Heimdall v1.4.0

Copyright (c) 2010-2013, Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/

This software is provided free of charge. Copying and redistribution is
encouraged.

If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/

Initialising connection...
Detecting device...
Claiming interface...
Setting up interface...

Beginning session...
Releasing device interface...

Here's my PIT output:

Heimdall v1.4.0

Copyright (c) 2010-2013, Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/

This software is provided free of charge. Copying and redistribution is
encouraged.

If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/

Initialising connection...
Detecting device...
Claiming interface...
Attempt failed. Detaching driver...
Claiming interface again...
Setting up interface...

Initialising protocol...
Protocol initialisation successful.

Beginning session...

Some devices may take up to 2 minutes to respond.
Please be patient!

Session begun.

Downloading device's PIT file...
PIT file download successful.

Entry Count: 13
Unknown 1: 1
Unknown 2: 0
Unknown 3: 7508
Unknown 4: 65
Unknown 5: 64224
Unknown 6: 18
Unknown 7: 55304
Unknown 8: 67

--- Entry #0 ---
Binary Type: 0 (AP)
Device Type: 0 (OneNAND)
Identifier: 0
Attributes: 0 (Read-Only)
Update Attributes: 0
Partition Block Size/Offset: 256
Partition Block Count: 1
File Offset (Obsolete): 6684783
File Size (Obsolete): 2097268
Partition Name: IBL+PBL
Flash Filename: boot.bin
FOTA Filename:

--- Entry #1 ---
Binary Type: 0 (AP)
Device Type: 0 (OneNAND)
Identifier: 1
Attributes: 0 (Read-Only)
Update Attributes: 0
Partition Block Size/Offset: 256
Partition Block Count: 1
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: PIT
Flash Filename:
FOTA Filename:

--- Entry #2 ---
Binary Type: 0 (AP)
Device Type: 0 (OneNAND)
Identifier: 20
Attributes: 2 (STL Read-Only)
Update Attributes: 0
Partition Block Size/Offset: 256
Partition Block Count: 40
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: EFS
Flash Filename: efs.rfs
FOTA Filename:

--- Entry #3 ---
Binary Type: 0 (AP)
Device Type: 0 (OneNAND)
Identifier: 3
Attributes: 0 (Read-Only)
Update Attributes: 0
Partition Block Size/Offset: 256
Partition Block Count: 5
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: SBL
Flash Filename: sbl.bin
FOTA Filename:

--- Entry #4 ---
Binary Type: 0 (AP)
Device Type: 0 (OneNAND)
Identifier: 4
Attributes: 0 (Read-Only)
Update Attributes: 0
Partition Block Size/Offset: 256
Partition Block Count: 5
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: SBL2
Flash Filename: sbl.bin
FOTA Filename:

--- Entry #5 ---
Binary Type: 0 (AP)
Device Type: 0 (OneNAND)
Identifier: 21
Attributes: 2 (STL Read-Only)
Update Attributes: 0
Partition Block Size/Offset: 256
Partition Block Count: 20
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: PARAM
Flash Filename: param.lfs
FOTA Filename:

--- Entry #6 ---
Binary Type: 0 (AP)
Device Type: 0 (OneNAND)
Identifier: 6
Attributes: 0 (Read-Only)
Update Attributes: 0
Partition Block Size/Offset: 256
Partition Block Count: 30
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: KERNEL
Flash Filename: zImage
FOTA Filename:

--- Entry #7 ---
Binary Type: 0 (AP)
Device Type: 0 (OneNAND)
Identifier: 7
Attributes: 0 (Read-Only)
Update Attributes: 0
Partition Block Size/Offset: 256
Partition Block Count: 30
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: RECOVERY
Flash Filename: zImage
FOTA Filename:

--- Entry #8 ---
Binary Type: 0 (AP)
Device Type: 0 (OneNAND)
Identifier: 22
Attributes: 2 (STL Read-Only)
Update Attributes: 0
Partition Block Size/Offset: 256
Partition Block Count: 1146
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: FACTORYFS
Flash Filename: factoryfs.rfs
FOTA Filename:

--- Entry #9 ---
Binary Type: 0 (AP)
Device Type: 0 (OneNAND)
Identifier: 23
Attributes: 2 (STL Read-Only)
Update Attributes: 0
Partition Block Size/Offset: 256
Partition Block Count: 536
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: DBDATAFS
Flash Filename: dbdata.rfs
FOTA Filename:

--- Entry #10 ---
Binary Type: 0 (AP)
Device Type: 0 (OneNAND)
Identifier: 24
Attributes: 2 (STL Read-Only)
Update Attributes: 0
Partition Block Size/Offset: 256
Partition Block Count: 140
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: CACHE
Flash Filename: cache.rfs
FOTA Filename:

--- Entry #11 ---
Binary Type: 0 (AP)
Device Type: 0 (OneNAND)
Identifier: 11
Attributes: 0 (Read-Only)
Update Attributes: 0
Partition Block Size/Offset: 256
Partition Block Count: 50
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: MODEM
Flash Filename: modem.bin
FOTA Filename:

--- Entry #12 ---
Binary Type: 1 (CP)
Device Type: 1 (File/FAT)
Identifier: 11
Attributes: 0 (Read-Only)
Update Attributes: 0
Partition Block Size/Offset: 0
Partition Block Count: 0
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name:
Flash Filename:
FOTA Filename:

Ending session...
Releasing device interface...
Re-attaching kernel driver...

EDIT: Just wanted to add that I've been using the 512 PIT, I've read mixed things on ROMs working with various PITs so I've just always been using whatever a guide tells me to use, which has always been the 512 for me since I've pretty much just been flashing stock ROMs.