Merge branch 'master' into debian/buster

This commit is contained in:
Serge Schneider
2021-05-20 17:17:47 +01:00
5 changed files with 30 additions and 14 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -3,6 +3,13 @@
USB MSD boot also requires the firmware from Raspberry Pi OS 2020-08-20 or newer.
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md
## 2021-05-19 - Use the latest BRCM SDRAM settings - BETA
* Use the latest BRCM SDRAM settings.
* FAT12 support for small bootloader ramdisk images.
* Minor file-system performance optimisations.
* Added recovery.bin config.txt option (erase_eeprom=1) to perform an
SPI chip-erase operation instead of programming the bootloader image.
## 2021-04-30 - Update default version to 2021-04-29
* The manufacturing release has been updated to pieeprom-2021-04-29 so update the default release to match this.

View File

@@ -118,8 +118,6 @@ def apply_update(config, eeprom=None, config_src=None):
sys.stdout.write("Updating bootloader EEPROM\n image: %s\nconfig_src: %s\nconfig: %s\n%s\n%s\n%s\n" %
(eeprom_image, config_src, config, '#' * 80, config_str, '#' * 80))
sys.stdout.write("\n*** To cancel this update run 'sudo rpi-eeprom-update -r' ***\n\n")
# Ignore APT package checksums so that this doesn't fail when used
# with EEPROMs with configs delivered outside of APT.
# The checksums are really just a safety check for automatic updates.

View File

@@ -58,8 +58,8 @@ BOARD_TYPE=
# Newer board revisions embed the VLI firmware in the bootloader EEPROM and
# there is no way to separately update the VLI firmware. Consequently,
# standalone vl805 update files do not trigger automatic updates.
# Recovery.bin and the the SPI bootloader ignore vl805.bin files on boards
# without a dedicate VL805 EEPROM.
# recovery.bin and the SPI bootloader ignore vl805.bin files on boards
# without a dedicated VL805 EEPROM.
HAVE_VL805_EEPROM=0
TMP_EEPROM_IMAGE=""
@@ -174,8 +174,18 @@ applyRecoveryUpdate()
{
[ -n "${BOOTLOADER_UPDATE_IMAGE}" ] || [ -n "${VL805_UPDATE_IMAGE}" ] || die "No update images specified"
getBootloaderCurrentVersion
BOOTLOADER_UPDATE_VERSION=$(strings "${BOOTLOADER_UPDATE_IMAGE}" | grep BUILD_TIMESTAMP | sed 's/.*=//g')
if [ "${BOOTLOADER_CURRENT_VERSION}" -gt "${BOOTLOADER_UPDATE_VERSION}" ]; then
echo " WARNING: Installing an older bootloader version."
echo " Update the rpi-eeprom package to fetch the latest bootloader images."
echo
fi
echo " CURRENT: $(date -u "-d@${BOOTLOADER_CURRENT_VERSION}") (${BOOTLOADER_CURRENT_VERSION})"
echo " UPDATE: $(date -u "-d@${BOOTLOADER_UPDATE_VERSION}") (${BOOTLOADER_UPDATE_VERSION})"
findBootFS
echo "BOOTFS ${BOOTFS}"
echo " BOOTFS: ${BOOTFS}"
# A '.sig' file is created so that recovery.bin can check that the
# EEPROM image has not been corrupted (e.g. SD card corruption).
@@ -232,6 +242,10 @@ applyRecoveryUpdate()
cp -f "${RECOVERY_BIN}" "${BOOTFS}/recovery.bin" \
|| die "Failed to copy ${RECOVERY_BIN} to ${BOOTFS}"
echo ""
echo "EEPROM updates pending. Please reboot to apply the update."
echo "To cancel a pending update run \"sudo rpi-eeprom-update -r\"."
}
applyUpdate() {
@@ -405,14 +419,14 @@ Options:
firmware updates.
-h Display help text and exit
-i Ignore package checksums - for rpi-eeprom developers.
-j Write status information using JSON notation
-j Write status information using JSON notation (requires -m option)
-l Returns the full path to the latest available EEPROM image file according
to the FIRMWARE_RELEASE_STATUS and FIRMWARE_IMAGE_DIR settings.
-m Write status information to the given file when run without -a or -f
-r Removes temporary EEPROM update files from the boot partition. This also
reverts a pending update.
cancels a pending update.
-s Skips silent, automatic upgrades for default releases if the current
bootloader release is newer than the the version specified by
bootloader release is newer than the version specified by
BOOTLOADER_AUTO_UPDATE_MIN_VERSION ${BOOTLOADER_AUTO_UPDATE_MIN_VERSION}
-u Install the specified VL805 (USB EEPROM) image file.
@@ -484,10 +498,10 @@ cause the system to fail to boot so automatic updates are disabled. We also
recommend write-protecting the SPI EPPROM after flashing it using usbboot.
CM4 bootloader and EEPROM update instructions:
https://www.raspberrypi.org/documentation/hardware/computemodule/cm-emmc-flashing.md
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md
usbboot instructions for flashing CM4 EMMC and bootloader EEPROM:
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md
https://www.raspberrypi.org/documentation/hardware/computemodule/cm-emmc-flashing.md
The CM4 ROM does not support running recovery.bin from the EMMC on CM4 so this service
is disabled by default. SELF_UPDATE from USB or Network boot is supported but this
@@ -658,9 +672,6 @@ checkAndApply()
printVersions
applyUpdate
echo ""
echo "EEPROM updates pending. Please reboot to apply the update."
echo "To cancel a pending update run \"sudo rpi-eeprom-update -r\"."
else
printVersions
fi
@@ -670,6 +681,7 @@ fileUpdate()
{
removePreviousUpdates
echo "*** INSTALLING ${BOOTLOADER_UPDATE_IMAGE} ${VL805_UPDATE_IMAGE} ***"
echo
if [ -n "${BOOTLOADER_UPDATE_IMAGE}" ]; then
[ -f "${BOOTLOADER_UPDATE_IMAGE}" ] || die "Bootloader image \"${BOOTLOADER_UPDATE_IMAGE}\" not found"
@@ -680,7 +692,6 @@ fileUpdate()
fi
applyUpdate
echo "EEPROM update pending. Please reboot to apply the update."
}
removePreviousUpdates()