Bootloaders: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
The [[boot process]] of the [[Xbox 360]] contains several '''bootloaders''' which are chain-loaded. Each bootloader is responsible for verifying the authenticity of the next bootloader, before loading it into memory and handing control over to it. Once all bootloaders have completed, control is handed to the [[hypervisor]]. | The [[boot process]] of the [[Xbox 360]] contains several '''bootloaders''' which are chain-loaded. Each bootloader is responsible for verifying the authenticity of the next bootloader, before loading it into memory and handing control over to it. Once all bootloaders have completed, control is handed to the [[hypervisor]]. The status of the boot process can be viewed via [[post codes]]. | ||
=== 1BL === | === 1BL === | ||
The 1BL lives in the [[Secure ROM]] in the [[CPU]], to ensure it can never be modified. Its primary purpose is to train the [[FSB]] interface between the [[CPU]] and [[GPU]]. Then, it copies the 2BL from flash into the CPU [[SRAM]], verifies it, and jumps to it. | The 1BL lives in the [[Secure ROM]] in the [[CPU]], to ensure it can never be modified. Its primary purpose is to train the [[FSB]] interface between the [[CPU]] and [[GPU]]. Then, it copies the [[#2BL|2BL]] from flash into the CPU [[SRAM]], verifies it, and jumps to it. | ||
=== 2BL === | === 2BL === | ||
There are 2 types of 2BLs. Originally it was a single unencrypted 2BL, before becoming split with the launch of the [[Xbox 360 S]]. This was done in order to encrypt the important parts of the 2BL, which required adding an intermediate bootloader, as the [[#1BL|1BL]] does not support decryption. Split 2BLs were added to the [[Original Xbox 360]] with the 14717 update. Split 2BLs were never used on [[developer]] hardware. | |||
==== Single 2BL ==== | |||
The single 2BL is called the '''CB''' for [[retail]] images, and the '''SB''' for [[developer]] images. The 2BL starts by initializing the system hardware and memory controller. It then then copies, decrypts, and verifies the [[#3BL|3BL]] into SRAM. The next step is to relocates itself from SRAM to [[system RAM]]. Lastly it copies, decrypts, verifies, and jumps to the [[#4BL|4BL]]. | |||
==== Split 2BL ==== | |||
The split 2BL's bootloaders are called the CB_A and CB_B. The CB_A's purpose is to copy, decrypt, verify, and jump to the CB_B. The CB_B performs the same tasks as the [[#Single 2BL|single 2BL]]. | |||
=== 3BL === | === 3BL === | ||
There is no 3BL on [[retail]] systems. On [[developer]] systems, it is called the '''SC'''. | |||
=== 4BL === | === 4BL === | ||
The 4BL is called the '''CD''' for [[retail]] images, and the '''SD''' for [[developer]] images. | |||
=== 5BL === | === 5BL === | ||
The 5BL is called the '''CE''' for [[retail]] images, and the '''SE''' for [[developer]] images. | |||
=== 6BL === | === 6BL === | ||
The 6BL is called the '''CF''' for both [[retail]] and [[developer]] images. | |||
=== 7BL === | === 7BL === | ||
The 7BL is called the '''CG''' for both [[retail]] and [[developer]] images. | |||
{{Software}} | {{Software}} |
Revision as of 10:45, 18 June 2023
The boot process of the Xbox 360 contains several bootloaders which are chain-loaded. Each bootloader is responsible for verifying the authenticity of the next bootloader, before loading it into memory and handing control over to it. Once all bootloaders have completed, control is handed to the hypervisor. The status of the boot process can be viewed via post codes.
1BL
The 1BL lives in the Secure ROM in the CPU, to ensure it can never be modified. Its primary purpose is to train the FSB interface between the CPU and GPU. Then, it copies the 2BL from flash into the CPU SRAM, verifies it, and jumps to it.
2BL
There are 2 types of 2BLs. Originally it was a single unencrypted 2BL, before becoming split with the launch of the Xbox 360 S. This was done in order to encrypt the important parts of the 2BL, which required adding an intermediate bootloader, as the 1BL does not support decryption. Split 2BLs were added to the Original Xbox 360 with the 14717 update. Split 2BLs were never used on developer hardware.
Single 2BL
The single 2BL is called the CB for retail images, and the SB for developer images. The 2BL starts by initializing the system hardware and memory controller. It then then copies, decrypts, and verifies the 3BL into SRAM. The next step is to relocates itself from SRAM to system RAM. Lastly it copies, decrypts, verifies, and jumps to the 4BL.
Split 2BL
The split 2BL's bootloaders are called the CB_A and CB_B. The CB_A's purpose is to copy, decrypt, verify, and jump to the CB_B. The CB_B performs the same tasks as the single 2BL.
3BL
There is no 3BL on retail systems. On developer systems, it is called the SC.
4BL
The 4BL is called the CD for retail images, and the SD for developer images.
5BL
The 5BL is called the CE for retail images, and the SE for developer images.
6BL
The 6BL is called the CF for both retail and developer images.
7BL
The 7BL is called the CG for both retail and developer images.