[Verizon Samsung Galaxy S III] letinsh:
Solved :)

What I broke:

I pre-ordered my SCH-I535 32Gb from VZW to keep my unlimited data. When the thing finally showed up, I promptly jumped into the game and rooted (using root66). Once I got root, I tried to use Odin to push a CWM recovery to the phone. Being the idiot, I failed to check the md5sum of the recovery I downloaded. I pushed a corrupt file and hard-bricked the phone.

Tracked down Josh at MobileTechVideos.com (connexion2005 here on XDA), drove out to College Station, and he JTAG'd my S3 back to life. Being that the phone had just come out and mine was the first 32Gb version he'd seen, he wrote, byte by byte, from a 16Gb image, essentially replacing my GPT and PIT files with 16Gb info. So now, my phone was back to life, but it only saw 16Gb of internal storage, not the 32Gb that were actually there. (Having said that, Josh now has his process down pat and this should never be an issue again - Thanks, Josh!)

It is my understanding that:

The PIT file contains partition names (BOOT), the names of the files that go in them (boot.img), the size of each partition (20480 blocks), the partition ID (7), and any flags (RO).

The GPT contains the physical layout for the partitions in memory (Boot partition starts at byte 70647808 and goes to byte 81133567) and reads all the info from the PIT to fill in the blanks.

(Someone correct me if this is wrong)​

So, using the "parted" command, I could view my GPT:

(parted) unit b
unit b
unit b
(parted) print free
print free
print free
Model: MMC MBG8FB (sd/mmc)
Disk /dev/block/mmcblk0: 31268536320B
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags
17408B 4194303B 4176896B Free Space
1 4194304B 67108863B 62914560B modem
2 67108864B 67239935B 131072B sbl1
3 67239936B 67502079B 262144B sbl2
4 67502080B 68026367B 524288B sbl3
5 68026368B 70123519B 2097152B aboot
6 70123520B 70647807B 524288B rpm
7 70647808B 81133567B 10485760B boot
8 81133568B 81657855B 524288B tz
9 81657856B 82182143B 524288B pad
10 82182144B 92667903B 10485760B param
11 92667904B 106954751B 14286848B ext4 efs
12 106954752B 110100479B 3145728B modemst1
13 110100480B 113246207B 3145728B modemst2
14 113246208B 1686110207B 1572864000B ext4 system
15 1686110208B 14826864639B 13140754432B ext4 userdata
16 14826864640B 14835253247B 8388608B persist
17 14835253248B 15716057087B 880803840B ext4 cache
18 15716057088B 15726542847B 10485760B recovery
19 15726542848B 15737028607B 10485760B fota
20 15737028608B 15743320063B 6291456B backup
21 15743320064B 15746465791B 3145728B fsg
22 15746465792B 15746473983B 8192B ssd
23 15746473984B 15751716863B 5242880B grow
15751716864B 31268519423B 15516802560B Free Space

As you can see, all my partitions are there, but I've got this 14.45Gb of "Free Space" unformatted and unuseable by me after my final partition.

The good GPT for a 32Gb S3 looks like this:

isk /dev/block/mmcblk0: 31268536320B
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags
1 4194304B 67108863B 62914560B modem
2 67108864B 67239935B 131072B sbl1
3 67239936B 67502079B 262144B sbl2
4 67502080B 68026367B 524288B sbl3
5 68026368B 70123519B 2097152B aboot
6 70123520B 70647807B 524288B rpm
7 70647808B 81133567B 10485760B boot
8 81133568B 81657855B 524288B tz
9 81657856B 82182143B 524288B pad
10 82182144B 92667903B 10485760B param
11 92667904B 106954751B 14286848B ext4 efs
12 106954752B 110100479B 3145728B modemst1
13 110100480B 113246207B 3145728B modemst2
14 113246208B 1686110207B 1572864000B ext4 system
15 1686110208B 30337400831B 28651290624B ext4 userdata
16 30337400832B 30345789439B 8388608B ext4 persist
17 30345789440B 31226593279B 880803840B ext4 cache
18 31226593280B 31237079039B 10485760B recovery
19 31237079040B 31247564799B 10485760B fota
20 31247564800B 31253856255B 6291456B backup
21 31253856256B 31257001983B 3145728B fsg
22 31257001984B 31257010175B 8192B ssd
23 31257010176B 31262253055B 5242880B grow

​

How I fixed it:

So, being the n00b I am, I thought I'd use the tools included with parted to make some partitions at the end of the Free Space, move the data to them, then grow my Userdata partition.

I dd'd the contents of each partition (/dev/block/mmcblk0pXX) to my sdcard to have backups of everything.

Using mkpart, etc, I sized the new partitions just right, renamed them just so, then dd'd the contents of each partition from my sdcard back to the new partition.....

Then tried to reboot....

Hard Brick, again.

Back out to College Station (I think I'm their only walk-in customer... :p ) where Josh brought me back to life again.

Search continued. I learned I couldn't just change the GPT...there was something that kept that from sticking. Turns out, both the GPT and the PIT are hashed and (I think) the PIT is signed.

Talking with invisiblek and ralekdev, they helped me figure out exactly where the PIT was located

dd if=/dev/block/mmcblk0 of=/sdcard/out.pit bs=8 count=481 skip=2176

and where the GPT is:

dd if=/dev/block/mmcblk0 of=/sdcard/gpt.bin bs=8 count=2176

Invisiblek then ripped the PIT from his 32Gb S3 and sent it to me.

ralekdev did me a solid and verified that flashing the PIT via Odin wouldn't bork me again, but also gave me a safe bootchain to put in the PDA section to flash at the same time.

So, using the above linked SCH-I535 32Gb PIT file in the PIT field and ralekdev's bootchain in the PDA field, I checked the auto-reboot, repartition, and f.reset time checkboxes, crossed my fingers and pulled the trigger.

Flashed successfully, leaving all my data (ROM, settings, data, etc) unchanged. The PIT only changes the references, and doesn't actually move any data. I rebooted, but my phone still only showed 16Gb for Userdata.

I dumped my PIT and GPT using the above dd commands, and ralekdev confirmed that the flash was successful and the changes stuck, but it didn't affect my currently installed ROM.

So I downloaded invisiblek's bone-stock rom, put it in the PDA section of Odin, and installed.

That did the trick. As the install starts, it references the PIT to figure out where to put everything.

I re-rooted and grabbed CWM recovery, and now I'm back to the races!!
​

Big shout-out to invisiblek and ralekdev for all their help, and connexion2005 for bringing me back to life, twice. :victory:

As I stated above, MobileTechVideos and Josh can now successfully fix 32Gb S3's without this being an issue :)