diff --git a/firmware/beta/pieeprom-2021-05-19.bin b/firmware/beta/pieeprom-2021-05-19.bin new file mode 100644 index 0000000..be19afb Binary files /dev/null and b/firmware/beta/pieeprom-2021-05-19.bin differ diff --git a/firmware/beta/recovery.bin b/firmware/beta/recovery.bin index ffa83bb..b9bdc43 100644 Binary files a/firmware/beta/recovery.bin and b/firmware/beta/recovery.bin differ diff --git a/firmware/release-notes.md b/firmware/release-notes.md index 5189c4a..411c729 100644 --- a/firmware/release-notes.md +++ b/firmware/release-notes.md @@ -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. diff --git a/rpi-eeprom-config b/rpi-eeprom-config index 79322e1..170ebc3 100755 --- a/rpi-eeprom-config +++ b/rpi-eeprom-config @@ -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. diff --git a/rpi-eeprom-update b/rpi-eeprom-update index 77097b1..bc08d96 100755 --- a/rpi-eeprom-update +++ b/rpi-eeprom-update @@ -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() { @@ -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()