Skip to content

Bootloader tools use in tegra demo distro

Atharva Nandanwar edited this page Oct 8, 2021 · 5 revisions

Overview

With L4T version r32.4.3 (Jetpack 4.4) meta-tegra introduced the option to use tegra-boot-tools instead of tegra-redundant-boot for boot control on Tegra platforms. This replaces the NVIDIA bootloader tools shipped in the default L4T distribution, including nv_update_engine and nvbootctrl on tegra186/tegra194 and l4t_payload_updater_t210 on tegra210. See the README in the tegra-boot-tools repository for more detail about the full list of changes and motivations.

This change is especially useful and necessary for OTA Reflashing Support and supporting updates from Jetpack releases earlier than Jetpack 4.4 (r32.4.3). If you need to support a legacy upgrade from L4T versions earlier than r32.4.3 it's important that tegra-boot-tools are included in your upgrader and update image.

Upgrades on the dunfell branches

All tegra-demo-distro branches are now using tegra-boot-tools as of https://github.com/OE4T/tegra-demo-distro/pull/154. If you built your own distro off of tegra-demo-distro and rebase on dunfell branches after this PR, you will also switch your default bootloader tools from the stock tools used by NVIDIA in tegra-redundant-boot to tegra-boot-tools. While we do not know of any specific issues this cause, it's definitely something you should include in your testing. Contributions or bug reports are welcome as detailed in the README at https://github.com/OE4T/meta-tegra.

NOTE: Latest meta-tegra-community assumes that you are using tegra-boot-tools and will add the dynamic-layer for meta-mender-tegra which uses mender-state-scripts to be used for tegra-boot-tools. If you are adding meta-tegra-community layer into your custom distro, you will get errors during mender-update process if your custom-distro doesn't include tegra-boot-tools change. At that point, you might want to rebase to tegra-demo-distro latest or remove the dynamic-layer/meta-mender-tegra from meta-tegra-community in your setup.

Background/references

See additional discussion and background in https://github.com/OE4T/meta-tegra/discussions/798