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 based on GPIO Pin.

  • 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.

Component 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 Global Partition Table defines the images that belong to each boot chain.

Consequently, this component cannot belong to the boot chain.