Boot Chain Process

During normal operation, the bootloaders load the firmware components in the Active Boot Chain. If the system cannot boot the Active Boot Chain, the system resets to boot the other boot chain if marker-based boot chaining is enabled.

  • The BootROM, as a root of the boot chain, selects an initial Active Boot Chain.
  • Every bootloader must load firmware components from the Active Boot Chain.
  • If a bootloader fails to load a firmware component, the system switches the Inactive Boot Chain to the Active Boot Chain.

Advantages

The boot chaining process provides these advantages:

  • Handles cases of partial update so that the system is always bootable.
  • Except for a ratchet update case, each chain can be updated independently.
  • Compatibility issues between firmware components is eliminated.

Side Effects

A corrupted firmware component in each chain can cause an unusable system. For example, if using two boot chains and if the BPMP firmware in the Active Boot Chain is corrupted, and the kernel image in the Inactive Boot Chain is corrupted, the system is unable to boot any of the boot chains and cannot ever boot.

Components Outside the Boot Chain

Some firmware components are NOT included in any boot chain because of the nature of the components or due to BootROM limitation. For these components, multiple copies exist in the system. The boot loader locates the valid component from among the multiple copies.

  • The BootROM BCT selects the Active Boot Chain.
  • The Global Partition Table defines the images that belong to each boot chain.

Consequently, these components cannot belong to the boot chain.