Running 'sudo rpi-eeprom-update' will remove update files from the
boot partition. Since the user may run this command to check if
an update is required it will have the surprising side effect of
removing the pending update applied by the systemd service which
runs 'rpi-eeprom-update -a' at startup.
Move the cleanup code so that it only runs if a manual or automatic
update was requested.
Add an explicit option (-r) to just remove the previous update files.
bootloader versions and exit codes are integers so default to
zero in the JSON output
Fix missing $ prefix in arguments to write_status_info causing
EXIT_SUCCESS to be passes as a string instead of the value of
${EXIT_SUCCESS}
Fix missing commas in JSON output
* Option to restrict automatic updates to bootloader and/or vl805
* Change the machine mode output variables
* recovery.bin: Rebuild from Gitlab
* Rename CURRENT_TS and LATEST_TS in machine output
* New beta recovery.bin which can update the VLI EEPROM before
start.elf is loaded. This is the recommended and default method
because no USB devices will be in use at this stage.
* Extend the USE_FLASHROM configuration to use the vl805 tool
to program the VL805 directly.
* Generate SHA256 checksums in .sig files for the bootloader and
and VL805 images. This is required by the new recovery.bin to
guard against corrupted files being flashed to the EEPROM(s).
* Various variable renames to distinguish between the bootloader
and the VL805 images.
This bootloader firmware is deprecated and should no longer be
included in the rpi-eeprom package. It's still available in the
Git history if anyone *really* wants this.
Select the recovery.bin to use according to FIRMWARE_RELEASE_STATUS
in order to allow a beta test version of recovery.bin to be provided
without risking breaking the stable version of recovery.bin
Update the rpi-eeprom-config tool to accept config files of up to
2024 byte. The config section has a 24byte header so the section is
always <= 2KiB.
This allows a reasonably large user-data section in the config file
accessible via 'vcgencmd bootloader_config' as an alternative to
customer OTP data.
N.B. The vcgencmd uses a single VCHIQ message which is limited to
4092 bytes. Setting a 2KiB limit here gives room for user-data plus
some spare space for future config expansion before an VCHIQ bulk
message or an extra EEPROM 4KiB page is required.
The concept of a safe mode recovery.bin bootloader was dropped in favour
of a recovery.bin which renames itself after updating the EEPROM. Remove
the old comments.
If the size of bootconf.txt is reduced then set the unused data
to all ones instead of leaving garbage at the end. The EEPROM
header contains the actual file but this makes it easier to
verify the image and makes overreads more obvious.
Fix a bug which could cause the rename of recovery.bin to fail if
RECOVERY.000 (or higher number) existed and was the last root
directory entry in a FAT16 partition. This is unlikely be a problem
for most updates because the rpi-eeprom-update package removes the
renamed recovery.bin files when it runs.