diff --git a/firmware/beta/pieeprom-2020-05-28.bin b/firmware/beta/pieeprom-2020-05-28.bin new file mode 100644 index 0000000..0cc85bd Binary files /dev/null and b/firmware/beta/pieeprom-2020-05-28.bin differ diff --git a/firmware/beta/pieeprom-2020-06-03.bin b/firmware/beta/pieeprom-2020-06-03.bin new file mode 100644 index 0000000..55b88c3 Binary files /dev/null and b/firmware/beta/pieeprom-2020-06-03.bin differ diff --git a/firmware/beta/recovery.bin b/firmware/beta/recovery.bin index 8dc1254..9d04f98 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 2fac264..e2f1036 100644 --- a/firmware/release-notes.md +++ b/firmware/release-notes.md @@ -1,5 +1,21 @@ # Raspberry Pi4 bootloader EEPROM release notes +## 2020-06-03 Bootmode tweaks and fix issue with > 4TB drives - BETA + * Resolve: Unable to boot from USB MSD - Seagate 5Tb HDD backup drive #139 + * Increase USB MSD timeout from 10 to 20 seconds. + * Max retries now default to zero because the default BOOT_ORDER includes + restart (0xf). Therefore, each boot-mode is now tried once before moving + to the next mode. The retries mechanism is largely redudant now that + the loop/restart mode exists. + * If TFTP fails and network boot retries > 0 then wait 5 seconds before + retrying to avoid overloading a misconfigured TFTP server. + * Map undefined boot-modes in BOOT_ORDER to SD (0x1) instead of stopping. + * Add missing pieeprom-2020-05-28 + +## 2020-05-28 Secondary fix for VL805 readback issue - BETA + * Re-upload 2020-05-28 after Git issue + * rpi-eeprom-update for new board revisions + ## 2020-05-27 Fix DPI issue - BETA * Resolve: DPI failure after HDMI diagnostics screen in beta bootloader #133 * Resolve: VL805 readback failure in the bootloader #134 @@ -83,20 +99,20 @@ * SUBNET * GATEWAY * TFTP_IP - * If a fatal bootloader error occurs then an HDMI diagnostics screen is - displayed at VGA/DVI resolution on both outputs for two minutes. - This may be disabled by setting DISABLE_HDMI=1 in the EEPROM + * If a fatal bootloader error occurs then an HDMI diagnostics screen is + displayed at VGA/DVI resolution on both outputs for two minutes. + This may be disabled by setting DISABLE_HDMI=1 in the EEPROM configuration OR setting display_splash=1 in config.txt. * Allow the PXE menu option to match a custom string specified by PXE_OPTION43. The default is still "Raspberry Pi Boot" - * DHCP_OPTION97 - The default GUID has now changed to + * DHCP_OPTION97 - The default GUID has now changed to RPI4+BOARD_ID+ETH_MAC_LSB+SERIAL in order to make it easier to automatically identify Raspberry Pi computers. The old behaviour is enabled by setting DHCP_OPTION97=0 which simply repeats the serial number 4 times. * SELF_UPDATE. If SELF_UPDATE is set to 1 in the EEPROM configuration AND config.txt contains bootloader_update=1 then the bootloader will looking - for pieeprom.upd and vl805.bin and apply these firmware files if + for pieeprom.upd and vl805.bin and apply these firmware files if they are different to the current image, before doing a watchdog reset. This should make it easier to update the bootloader for network booted setups because an SD card is not required for recovery.bin. @@ -117,7 +133,7 @@ beta folder. ## 2020-01-22 - vl805 00137ad - * Set the default/critical vl805 version to be 00137ad. This has the + * Set the default/critical vl805 version to be 00137ad. This has the same power savings as 0137ab but with fixes for USB webcams. ## 2020-01-17 - Git 5e86aac5f (BETA) RC4 @@ -185,7 +201,7 @@ ## 2019-07-15 - Git 514670a2 * Turn green LED activity off on halt. * Pad embedded config file with spaces for easier editing by end users. - * Halt now behaves the same as earlier Pi models to improve power behavior at halt for HATs. + * Halt now behaves the same as earlier Pi models to improve power behavior at halt for HATs. * WAKE_ON_GPIO now defaults to 1 in the EEPROM config file. * POWER_OFF_ON_HALT setting added defaulting to zero. Set this to 1 to restore the behavior where 'sudo halt' powers off all PMIC output. * If WAKE_ON_GPIO=1 then POWER_OFF_ON_HALT is ignored. diff --git a/releases.md b/releases.md new file mode 100644 index 0000000..8aca977 --- /dev/null +++ b/releases.md @@ -0,0 +1,21 @@ +# rpi-eeprom releases +This page provides links to the production and development release images for the Raspberry Pi 4 bootloader EEPROM. Normally, the +bootloader is automatically updated after an APT update via the [rpi-eeprom-update](https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md) +utility. However, it's sometimes more convenient to use a recovery image to program the EEPROM with default settings for a given release than +updating via Linux. + +## Recovery Image +The latest production recovery image is [2020-04-16](https://github.com/raspberrypi/rpi-eeprom/releases/tag/v2020.04.16-137ad). This +is the version selected by the [Raspberry Pi Imager](https://www.raspberrypi.org/downloads/) + +## USB MSD BETA +The latest USB mass storage boot **BETA** recovery image is [2020-05-28](https://github.com/raspberrypi/rpi-eeprom/releases/tag/v2020.05.28-137ad) + +## Previous releases +All [previous releases](https://github.com/raspberrypi/rpi-eeprom/releases) are available here. + +## Old EEPROM images +Recovery images are only created for production images or for major test releases e.g. USB MSD boot. Old bootloader images are periodically +removed from the APT package to reduce the disk space. The binaries can still be downloaded from Github [here](https://github.com/raspberrypi/rpi-eeprom/tree/master/firmware/old) +but are not supported and may fail to boot on newer revisions of the hardware. +e.g. The Pi 4 8GB requries bootloader version 2020-04-16 or newer. diff --git a/rpi-eeprom-update b/rpi-eeprom-update index 02940b1..fc9cfd5 100755 --- a/rpi-eeprom-update +++ b/rpi-eeprom-update @@ -351,15 +351,19 @@ in /etc/default/rpi-eeprom-update by defining the BOOTFS variable. A backup of the current EEPROM config file is written to ${FIRMWARE_BACKUP_DIR} before applying the update. +Unless the -d flag is specified, the current bootloader configuration is +retained. + Options: -a Automatically install bootloader and USB (VLI) EEPROM updates. -A Specify which type of EEPROM to automatically update (vl805 or bootloader) - -d Use the default bootloader config instead of migrating the current settings + -d Use the default bootloader config, or if a file is specified using the -f + flag use the config in that file. This option only applies when a + bootloader EEPROM update is needed; if the bootloader EEPROM is up-to-date + then its config will not be changed. -f Install the given file instead of the latest applicable update Ignores the FREEZE_VERSION flag in bootloader and is intended for manual firmware updates. - WARNING: This command should only be run from console mode in order to - avoid conflicts/deadlock with dtoverlay/dtparam settings. -h Display help text and exit -i Ignore package checksums - for rpi-eeprom developers. -j Write status information using JSON notation @@ -404,8 +408,8 @@ Release status: critical: The latest production release plus important security or hardware compatibility bug fixes. -stable: Contains new features have already undergone some beta testing. -These are candidats for new production releases. +stable: Contains new features that have already undergone some beta testing. +These are candidates for new production releases. beta: New features, bug fixes for development/test purposes. Use at your own risk! @@ -632,21 +636,25 @@ write_status_info() vl805_new="${VL805_UPDATE_VERSION}" if [ "${JSON_OUTPUT}" = "no" ]; then + [ "${HAVE_VL805_EEPROM}" = "0" ] && vl805_eeprom="no" || vl805_eeprom="yes" cat > "${MACHINE_OUTPUT}" < "${MACHINE_OUTPUT}" <