Difference between revisions of "Boot Chain"

From WebOS Internals
Jump to navigation Jump to search
(offset informations)
Line 2: Line 2:
 
'''Load Address''': 0x40200000
 
'''Load Address''': 0x40200000
  
This does some minimal hardware initialization, then loads the "real" bootloader and executes it. The "real" bootloader is tacked onto the end of boot.bin as a gzip, starting at offset 0x19D0 (thanks roxfan).
+
This does some minimal hardware initialization, then loads the "real" bootloader and executes it. The "real" bootloader is tacked onto the end of boot.bin as a gzip. The offset of the "real" bootloader is different for every version. Table below will give you the right offset
 +
(If your version is not listed, then search with "hexdump -C boot-castle.bin | less" for the byte sequence "1f 8b" (the gzip format identifier)).
 +
 
 +
<table cellpadding="2" cellspacing="0" style="text-align:left;border:1px solid #d4d4d4;">
 +
<tr style="background-color:#F1F1F1;">
 +
  <td style="border-bottom:1px solid #d4d4d4;border-right:1px solid #d4d4d4;">Version</td>
 +
  <td style="border-bottom:1px solid #d4d4d4;">Offset</td>
 +
</tr>
 +
<tr>
 +
<td style="border-right:1px solid #d4d4d4;border-bottom:1px solid #d4d4d4;">unknown</td>
 +
<td style="border-bottom:1px solid #d4d4d4;">0x19D0 (thanks roxfan)</td>
 +
</tr>
 +
<tr>
 +
<td style="border-right:1px solid #d4d4d4;border-bottom:1px solid #d4d4d4;">1.3.1 (O2)</td>
 +
<td style="border-bottom:1px solid #d4d4d4;">0x19f0</td>
 +
</tr>
 +
</table>
 +
 
  
 
== "real" bootloader ([[bootie]])==
 
== "real" bootloader ([[bootie]])==

Revision as of 08:42, 14 December 2009

boot/boot.bin

Load Address: 0x40200000

This does some minimal hardware initialization, then loads the "real" bootloader and executes it. The "real" bootloader is tacked onto the end of boot.bin as a gzip. The offset of the "real" bootloader is different for every version. Table below will give you the right offset (If your version is not listed, then search with "hexdump -C boot-castle.bin | less" for the byte sequence "1f 8b" (the gzip format identifier)).

Version Offset
unknown 0x19D0 (thanks roxfan)
1.3.1 (O2) 0x19f0


"real" bootloader (bootie)

Load Address: 0x82000000

This looks a _lot_ like iBoot from the iPhoneOS devices, but others say that this is based off u-boot, so I will assume that is true and that iBoot is also based off of it. It even seems to have some of the u-boot commands, such as "printenv", "run", "setenv", "getenv", etc. I am currently looking into how to communicate with it as you can with iBoot.