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. 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 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 ## 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. * 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" % 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)) (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 # Ignore APT package checksums so that this doesn't fail when used
# with EEPROMs with configs delivered outside of APT. # with EEPROMs with configs delivered outside of APT.
# The checksums are really just a safety check for automatic updates. # 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 # Newer board revisions embed the VLI firmware in the bootloader EEPROM and
# there is no way to separately update the VLI firmware. Consequently, # there is no way to separately update the VLI firmware. Consequently,
# standalone vl805 update files do not trigger automatic updates. # standalone vl805 update files do not trigger automatic updates.
# Recovery.bin and the the SPI bootloader ignore vl805.bin files on boards # recovery.bin and the SPI bootloader ignore vl805.bin files on boards
# without a dedicate VL805 EEPROM. # without a dedicated VL805 EEPROM.
HAVE_VL805_EEPROM=0 HAVE_VL805_EEPROM=0
TMP_EEPROM_IMAGE="" TMP_EEPROM_IMAGE=""
@@ -174,8 +174,18 @@ applyRecoveryUpdate()
{ {
[ -n "${BOOTLOADER_UPDATE_IMAGE}" ] || [ -n "${VL805_UPDATE_IMAGE}" ] || die "No update images specified" [ -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 findBootFS
echo "BOOTFS ${BOOTFS}" echo " BOOTFS: ${BOOTFS}"
# A '.sig' file is created so that recovery.bin can check that the # A '.sig' file is created so that recovery.bin can check that the
# EEPROM image has not been corrupted (e.g. SD card corruption). # EEPROM image has not been corrupted (e.g. SD card corruption).
@@ -232,6 +242,10 @@ applyRecoveryUpdate()
cp -f "${RECOVERY_BIN}" "${BOOTFS}/recovery.bin" \ cp -f "${RECOVERY_BIN}" "${BOOTFS}/recovery.bin" \
|| die "Failed to copy ${RECOVERY_BIN} to ${BOOTFS}" || 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() { applyUpdate() {
@@ -405,14 +419,14 @@ Options:
firmware updates. firmware updates.
-h Display help text and exit -h Display help text and exit
-i Ignore package checksums - for rpi-eeprom developers. -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 -l Returns the full path to the latest available EEPROM image file according
to the FIRMWARE_RELEASE_STATUS and FIRMWARE_IMAGE_DIR settings. to the FIRMWARE_RELEASE_STATUS and FIRMWARE_IMAGE_DIR settings.
-m Write status information to the given file when run without -a or -f -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 -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 -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} BOOTLOADER_AUTO_UPDATE_MIN_VERSION ${BOOTLOADER_AUTO_UPDATE_MIN_VERSION}
-u Install the specified VL805 (USB EEPROM) image file. -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. recommend write-protecting the SPI EPPROM after flashing it using usbboot.
CM4 bootloader and EEPROM update instructions: 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: 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 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 is disabled by default. SELF_UPDATE from USB or Network boot is supported but this
@@ -658,9 +672,6 @@ checkAndApply()
printVersions printVersions
applyUpdate 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 else
printVersions printVersions
fi fi
@@ -670,6 +681,7 @@ fileUpdate()
{ {
removePreviousUpdates removePreviousUpdates
echo "*** INSTALLING ${BOOTLOADER_UPDATE_IMAGE} ${VL805_UPDATE_IMAGE} ***" echo "*** INSTALLING ${BOOTLOADER_UPDATE_IMAGE} ${VL805_UPDATE_IMAGE} ***"
echo
if [ -n "${BOOTLOADER_UPDATE_IMAGE}" ]; then if [ -n "${BOOTLOADER_UPDATE_IMAGE}" ]; then
[ -f "${BOOTLOADER_UPDATE_IMAGE}" ] || die "Bootloader image \"${BOOTLOADER_UPDATE_IMAGE}\" not found" [ -f "${BOOTLOADER_UPDATE_IMAGE}" ] || die "Bootloader image \"${BOOTLOADER_UPDATE_IMAGE}\" not found"
@@ -680,7 +692,6 @@ fileUpdate()
fi fi
applyUpdate applyUpdate
echo "EEPROM update pending. Please reboot to apply the update."
} }
removePreviousUpdates() removePreviousUpdates()