Introduction
This page contains information on how to work on a bootloader replacement. Informations * The [http://git.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git;a=summary official u-boot source code] already has support for the S5PC110 SOC that the Nexus S uses * The S5PC110 has a bootrom * The Nexus S has an usb port with an FSA9480 behind it

=== Partitioning informations ===

Here's a detailed output showing the partitioning of the NAND that you can obtain with {{{ heimdall print-pit }}} with the device in download mode (VOL+ and VOL- held at reboot): {{{
Entry Count: 16
Unknown 1: 0
Unknown 2: 0
Unknown 3: 0
Unknown 4: 0
Unknown 5: 0
Unknown 6: 0
Unknown 7: 0
Unknown 8: 0

--- Entry #0 ---
Unused: No
Partition Type: 0 (RFS)
Partition Identifier: 0
Partition Flags: 0 (R)
Unknown 1: 0
Partition Block Size: 256
Partition Block Count: 1
Unknown 2: 0
Unknown 3: 0
Partition Name: IPBL
Filename: bootloader.img

--- Entry #1 ---
Unused: No
Partition Type: 0 (RFS)
Partition Identifier: 1
Partition Flags: 0 (R)
Unknown 1: 0
Partition Block Size: 256
Partition Block Count: 7
Unknown 2: 0
Unknown 3: 0
Partition Name: SBL
Filename:

--- Entry #2 ---
Unused: No
Partition Type: 0 (RFS)
Partition Identifier: 2
Partition Flags: 0 (R)
Unknown 1: 0
Partition Block Size: 256
Partition Block Count: 7
Unknown 2: 0
Unknown 3: 0
Partition Name: SBL2
Filename:

--- Entry #3 ---
Unused: No
Partition Type: 0 (RFS)
Partition Identifier: 3
Partition Flags: 0 (R)
Unknown 1: 0
Partition Block Size: 256
Partition Block Count: 4
Unknown 2: 0
Unknown 3: 0
Partition Name: PARAM
Filename:

--- Entry #4 ---
Unused: No
Partition Type: 0 (RFS)
Partition Identifier: 4
Partition Flags: 0 (R)
Unknown 1: 0
Partition Block Size: 256
Partition Block Count: 5
Unknown 2: 0
Unknown 3: 0
Partition Name: MISC
Filename:

--- Entry #5 ---
Unused: No
Partition Type: 0 (RFS)
Partition Identifier: 5
Partition Flags: 0 (R)
Unknown 1: 0
Partition Block Size: 256
Partition Block Count: 32
Unknown 2: 0
Unknown 3: 0
Partition Name: BOOT
Filename: boot.img

--- Entry #6 ---
Unused: No
Partition Type: 0 (RFS)
Partition Identifier: 6
Partition Flags: 0 (R)
Unknown 1: 0
Partition Block Size: 256
Partition Block Count: 32
Unknown 2: 0
Unknown 3: 0
Partition Name: RECOVERY
Filename: recovery.img

--- Entry #7 ---
Unused: No
Partition Type: 0 (RFS)
Partition Identifier: 7
Partition Flags: 1 (R)
Unknown 1: 0
Partition Block Size: 256
Partition Block Count: 1878
Unknown 2: 0
Unknown 3: 0
Partition Name: CACHE
Filename: cache.img

--- Entry #8 ---
Unused: Yes
Partition Type: 0 (RFS)
Partition Identifier: 8
Partition Flags: 0 (R)
Unknown 1: 0
Partition Block Size: 256
Partition Block Count: 54
Unknown 2: 0
Unknown 3: 0
Partition Name: RADIO
Filename: radio.img

--- Entry #9 ---
Unused: No
Partition Type: 0 (RFS)
Partition Identifier: 9
Partition Flags: 1 (R)
Unknown 1: 0
Partition Block Size: 256
Partition Block Count: 27
Unknown 2: 0
Unknown 3: 0
Partition Name: EFS
Filename:

--- Entry #10 ---
Unused: No
Partition Type: 0 (RFS)
Partition Identifier: 10
Partition Flags: 0 (R)
Unknown 1: 0
Partition Block Size: 256
Partition Block Count: 1
Unknown 2: 0
Unknown 3: 0
Partition Name: DGS
Filename: dgs.img

--- Entry #11 ---
Unused: No
Partition Type: 2 (EXT4)
Partition Identifier: 0
Partition Flags: 2 (R/W)
Unknown 1: 0
Partition Block Size: 512
Partition Block Count: 2048
Unknown 2: 0
Unknown 3: 0
Partition Name: PGPT
Filename: emmc.img

--- Entry #12 ---
Unused: No
Partition Type: 2 (EXT4)
Partition Identifier: 1
Partition Flags: 2 (R/W)
Unknown 1: 0
Partition Block Size: 512
Partition Block Count: 1048576
Unknown 2: 0
Unknown 3: 0
Partition Name: SYSTEM
Filename: system.img

--- Entry #13 ---
Unused: No
Partition Type: 2 (EXT4)
Partition Identifier: 2
Partition Flags: 2 (R/W)
Unknown 1: 0
Partition Block Size: 512
Partition Block Count: 2097152
Unknown 2: 0
Unknown 3: 0
Partition Name: USERDATA
Filename: userdata.img

--- Entry #14 ---
Unused: No
Partition Type: 2 (EXT4)
Partition Identifier: 3
Partition Flags: 2 (R/W)
Unknown 1: 0
Partition Block Size: 512
Partition Block Count: 33554432
Unknown 2: 0
Unknown 3: 0
Partition Name: MEDIA
Filename: media.img

--- Entry #15 ---
Unused: No
Partition Type: 2 (EXT4)
Partition Identifier: 4
Partition Flags: 2 (R/W)
Unknown 1: 0
Partition Block Size: 512
Partition Block Count: 33
Unknown 2: 0
Unknown 3: 0
Partition Name: SGPT
Filename:
}}}

TODO * Look if [http://www.glassechidna.com.au/products/heimdall/ Heimdall] can talk to the bootrom * Serial console: * Use the correct resistors enabling the serial console on the FSA9480 * Mesure the voltage of the Nexus S serial port * Make a level shifter to shift the serial port levels * Cross compile microcom or picocom * get a serial console * Find the JTAG * look if the first stage bootloader(after the bootrom) is signed