U-Boot: protect sensitive environment variables
This is a follow-up from our Accessing the U-Boot environment from a C program blog post.
🌳Need to protect the environment
When you’re trying to harden an embedded Linux device to make it more resistant to attacks, one key part to secure is the bootloader, because that’s the part that boots the operating system. Even you implement a secure boot chain, if an attacker manages to interrupt the boot process and get access to the bootloader shell, this attacker would be able to load and run her/his own payload on the device.
Accessing the U-Boot environment from a C program
Need to modify the U-Boot environment from Linux

A/B update and recovery workflow implemented for a Root Commit customer
There are multiple reasons for wanting to modify U-Boot variables from Linux, one of them being to implement A/B update mechanisms. Typically, after you’ve flashed a device with a new version, you’ll set the upgrade_available U-Boot variable to 1, reboot, and let U-Boot try to boot the new version.