- Remove the beta release folder and provide a symlink to stable for backwards compatibility for anyone who has beta in the defaults file. Future beta releases will be "feature-specific" and on a separate branch / download rather than appearing in the generic APT release.
- Fix intermittent hang when initialising secure-boot during a reboot loop.
Interesting changes since the last default release
- Update VL805 to 138C0 - fix for handling of split transactions raspberrypi/linux#5262
- Fix HID error handling with network install raspberrypi#458
- Sign the 2023-01-04 release with the secure-boot ROM key and release as pieeprom-2023-01-11.bin
- Update VL805 to 138C0 - fix for handling of split transactions raspberrypi/linux#5262
- Fix HID error handling with network install raspberrypi#458
- Fix issue where SD voltage was not reset by power cycling PMIC on reboot. See raspberrypi/firmware#1763
Interesting changes since the last default release
- [tryboot] conditional statement + tryboot_a_b mode
- Support custom OTP mac addresses
- Increase TFTP_MAX_BLOCK_SIZE
- Stop NVMe cleanly
- Fixes for NETCONSOLE parsing and initialisation.
- Long filename support for start_file / fixup_file.
- Secure boot and display debug info on the diagnostis screen.
- Fix unconfigured netconsole messages raspberrypi#452
- Add display state to HDMI diagnostics screen
- Fix an OOM issue that was causing secure boot to fail (but not from RPIBOOT)
-
Add a new EEPROM property that allows the Ethernet MAC address programmed during manufacture to be overridden a value in the Customer OTP register.
MAC_ADDRESS_OTP=A,B where A and B are the customer row numbers (0..7)
- Add support for a [tryboot] conditional statement in config files.
- Load config.txt instead of tryboot.txt if tryboot_a_b=1 in autoboot.txt
- Fix failover to partition 1 if the
boot_partition
points to non-bootable partition. - Enable
autoboot.txt
in secure-boot mode.
- Reduce size of USB transfer
- Fix issue with the bootloader display not being cleared properly
- Increase the size of USB in-transfers
- Increase TFTP_MAX_BLOCKSIZE to 1468
- stop NVMe cleanly
- Parse target MAC address in NETCONSOLE property raspberrypi#440
- Display the secure-boot configuration on the diagnostics screen if secure-boot is enabled. See https://www.raspberrypi.com/documentation/computers/configuration.html#bcm2711-bootloader-properties-chosenbootloader * Toggle SD power at boot to reset card-state after ROM SD probe.
- Fix FAT issue raspberrypi#438
- NVMe fix large file reads - see raspberrypi/firmware#1731 The firmware fix is also relevant for the bootloader when loading large boot.img files.
- Enable secure-boot on the 2022-07-14 beta release and promote to stable.
- Enable long-filenames & sub-directories for start_file & fixup_file. Use Unix path separators with a maximum path of 255 characters. Relative paths (. or ..) are not supported.
- Reduce boot-time when network install is disabled NET_INSTALL_ENABLED=0.
- Switch to the newer SDIO HC and increase SPI clock speed.
- Enable Network Install in the default bootloader release.
- This release is signed with the secure-boot key and supports the new HTTP boot-order for downloading signed boot images for automated provisioning systems.
- Release pieeprom-2022-04-22 signed with the secure-boot key so that network install can be used on secure-boot devices.
- Fix netboot reboot failure on Pi 4B R1.1 if OS enables IDDQ power saving raspberrypi#417
- Fix incorrect error code (configuration error) on EEPROM update failure.
- Enable more verbose errors for EEPROM update failures.
- Includes new net install feature, enabled by default for Pi 4 and Pi 400
- New net install download screen may appear on boot if a boot location can't be found or if boot is slow. Alternative press and hold shift on boot to start net install.
- New HTTP boot order.
- Bootloader diagnosis screen is now 720p if supported by your monitor.
- Self update mode is now enabled during SD/EMMC boot.
- The PARTITION number can now be specified as an EEPROM property.
- Allow smaller MSD discovery timeouts to be specified.
- Some tweaks and fixes to IPV6 netboot.
- Increase the max ramdisk size to 128MB
- Increase timeout of early SD/EMMC commands to 100ms
- Fix the defective HTTP_PATH eeprom configuration
Net install changes.
- Net install is initiated on boot if shift is pressed.
- New HTTP boot order (7) and configuration parameters, HTTP_HOST, HTTP_PATH, HTTP_PORT to set url
Other interesting changes.
- Increase the max ramdisk size to 128MB
- Increase timeout of early SD/EMMC commands to 100ms
Net install changes.
- Got rid of confirmation step that required you to press to initiate net install. Now just long press
- Updated the screen text to make it more obvious the device is still trying boot when the net install is showing.
- Fixed a DHCP net install bug which caused us to lose the gateway address.
- Fixed a bug with the uIP timers which could cause net install to always fail.
- Implemented resume and retry on download failure.
Other interesting changes.
- Allow smaller MSD discovery timeouts to be specified.
- Some tweaks and fixes to IPV6 netboot.
- Fix boot failure regression on boards which had the OTP secure boot bits set.
- New network install feature for the bootloader. To disable network install (e.g. in an industrial product) set NET_INSTALL_ENABLED=0 in the EEPROM config or HDMI_DISABLE=1.
- Self update mode is now enabled during SD/EMMC boot. This enables rpi-eeprom-update to be used on a CM4 / CM4-lite because recovery.bin is not required. For industrial products we recommend disabling self-update after initial setup by setting ENABLE_SELF_UPDATE=0 in the EEPROM config.
- The PARTITION number can now be specified as an EEPROM property. This might be used to boot maintenance software if a button connected to a GPIO is pressed. The partition number specified via the reboot command or autoboot.txt are a higher precedence than the EEPROM property.
Interesting changes since the last default release
- Support and bug fixes for all Compute Module variants.
- NVMe interoperability fixes
- FAT/GPT fixes and file-system performance improvements.
- Add secure-boot support for industrial applications See https://github.com/raspberrypi/usbboot/blob/master/secure-boot-recovery/README.md
- Added ramdisk / boot.img - for RPIBOOT and secure-boot.
- Rebuild 2022-01-20 for new stable release
- PCIe retry on error
- NVMe logging changes
- NVMe attempts to boot twice
- Increase the maximum GPU memory size from 256MB to 512MB so long as boot_ramdisk=0. This should only be used with the legacy camera application and FKMS for very memory intensive camera operations. N.B. The new libcamera and KMS driver use CMA instead of GPU memory.
- Just fixes a regression with MTB detection affecting factory testing
- Just fixes a regression with MTB detection affecting factory testing
- Promote the recovery.bin from stable to default. This avoids an issue where recovery.bin fails to load on large FAT32 boot partions with 32K clusters.
Interesting changes since the last stable release:-
- NVMe / PCIe reset fixes
- GPT / FAT enhancements
- FAT performance improvements
- Secure-boot for industrial customers (see usbboot repo)
- Fixes issue with Sabrent rocket Nano NVMe disk after a reboot. Run pcie initialisation again if there's an error.
- Improve the error logging if a file is too large and truncated.
- Increase the maximum size of the ramdisk to 96MB.
- Preliminary changes to expose the boot-mode used to load the ramdisk via device-tree.
N.B. Secure boot is only recommended for industrial customers and is currently a beta release. This can only be enabled via RPIBOOT https://github.com/raspberrypi/usbboot/blob/master/Readme.md
- Minor update for latest SDRAM tuning settings.
- Update the FAT detection to support FAT16 for EFI/ESD paritions with GPT instead of assuming FAT32. The latest firmware is also required for a similar update.
- Increase the timeouts for MSD SCSI commands to reduce the risk of timeouts when probing the capacity of slow to start devices e.g. USB RAID with spinning disks.
- Fix recovery.bin rename issue
- Update pieeprom-2021-09-27.bin to fix netconsole
- Revert until fix for can be verified raspberrypi#367
This release makes major changes to the bootloader file-system code in order to support new features and should be treated as a bleeding edge BETA release!
- Improve file-system performance to reduce boot time.
- Preliminary support for IPV6 TFTP. Requires an updated start4.elf. Details to follow.
- Fix VL805=1 option for CM4 IO boards that follow the same XHCI design as Pi4B. Start.elf will be updated in the next rpi-update release and the latest CM4 DTBs are required for the 'XHCI reset controller'
- Preliminary support for loading signed boot image files. Requires updated GPU firmware.
- Bump the latest recovery.bin under beta to stable.
- Fix an issue where the ROM fails to load larger recovery.bin files on FAT partitions with large cluster sizes.
- Promote the latest beta to stable. For CM4 users this adds NVMe boot support to the stable release.
- Remove redundant debug string - hexdump is more useful for debug.
- Minor internal changes for manufacturing test.
- Tweak the address map so that boot ramdisks (e.g. rpiboot -d imager) work with large amounts of GPU memory.
- Avoid default PCIe / XHCI probe on CM4 unless required for the current boot mode (USB_MSD or NVME).
- Leave PCIe RC in reset state when loading start.elf except for USB-MSD mode.
- Minor update to BRCM SDRAM settings.
- Add USB_MSD_STARTUP_DELAY option (default 0 option). This adds a configurable delay (in milliseconds) the first time the USB host controller is initialised before device enumeration. Normally, this should not be required. However, some HDD enclosures may require an extended startup delay in order to spinup drives. Without this the get-capacity command may stall and timeout.
- 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.
- The manufacturing release has been updated to pieeprom-2021-04-29 so update the default release to match this.
- Pi400 - Reduce MII clock freq when probing ethernet PHY - STABLE
- Display VC_BUILD_ID strings instead of the SHA256 hash
- Add support for [cm4] and [pi400] config conditionals filters.
- Change network boot to use the same "RXID" Ethernet PHY configuration as the 5.10 kernel
- TFTP - reply to duplicate ACKS
- Skip rendering of HDMI diagnostics display for the first 8 seconds unless an error occurs.
- UDP checksum fixes
- Add support for the BCM2711 XHCI controller - BOOT_ORDER 0x5
- XHCI protocol layer fixes for non-VLI controllers
- Avoid USB MSD timeout if there is only one device
- Implement tryboot for OS upgrade fallback
- Check the update-timestamp before applying an update in SELF-UPDATE mode
- Fix recovery.bin error handler so that the LED error pattern is still displayed even if HDMI or SDRAM fail.
- Fix GPIO expander reset issue on some Pi4B 1.1 to 1.3 boards
- NVMe BETA boot support broke PCIe bridges in Linux. This should fix the problem
-
Adds support for NVMe to the bootloader with a new NVMe boot mode "6" NVMe currently only works for controller 0 on namespace 1 with a page size of 4096 bytes and block size of 512 bytes
-
The default boot order has been updated to F641 for cm4 ONLY, so NVMe boot is attempted after SD and USB
To use the new NVMe add "6" to the BOOT_ORDER.
This requires the latest rpi-update firmware to work or else you will see a compatibility error on boot. You also need the latest kernel from rpi-update to load rootfs from NVMe see https://github.com/Hexxeh/rpi-firmware/commit/48570ba954a318feee348d4e642ebd2b58d9dd97 and https://github.com/Hexxeh/rpi-firmware/commit/e150906874ff8b9fb6271971fa4238997369f790
- Freezing for default/critical update.
- Display the VC_BUILD strings instead of the sha256 of the .elf file so that the information is the same as "vcgencmd version"
- Change TFTP to ACK data blocks which it has already ACK'd instead of ignoring them.
- Change network boot to use the same "RXID" configuration as the 5.10 kernel.
- Fix regression for GPIO expander reset change which caused PMIC reset to get card out of 1V8 mode to be missed.
- Timeout USB MSD commands and move to the next boot mode if a device stops responding.
- Reset the GPIO expander at power on.
- Use the bootloader build timestamp instead of zero for the update-timestamp if it is not defined in the .sig file.
- Revert the USB port power delay on R1.1 boards to be more like the Sep 2020 production release. Verified with Geekworm X835, Orico NVME M.2 USB adapter and Microsoft Wireless keyboard.
- Increase the HDMI delay to 8 seconds.
- Feature freeze to support stable release of BCM2711 XHCI boot, tryboot, HDMI_DELAY, USB MSD improvements.
- Add support for [cm4] and [pi400] config conditionals filters.
- Tidyup RPIBOOT USB descriptors.
- Add a gap before displaying LED error pattern and change the default state to off after displaying the first error pattern.
- Generate 0xffff instead of 0x0 if the checksum of the UDP packet to be transmitted is 0x0.
- Rename USB-DEV to RPIBOOT in boot-mode strings. Bootmode was renamed to avoid confusion with USB MSD boot.
-
Add support for booting from the BCM2711 XHCI controller which is the USB-C socket on Pi 4B / Pi 400 and the type A sockets on Compute Module 4 IO board. The controller only supports USB 2.0 and the primary usage is for USB-MSD support on CM 4 boards without requiring a PCIe XHCI controller.
To use this add '5' to the BOOT_ORDER in the EEPROM config for BCM_USB_MSD boot.
This requires the latest rpi-update firmware.
If start.elf is loaded via the BCM2711 XHCI (BOOT_ORDER 5) then the config.txt otg_mode setting will be set to 1 so that the OS can continue booting using the BCM2711 XHCI. This means that the device/gadget mode is not available when booted in this mode and there is no support for switching back to the DWC2 controller from the BCM2711 XHCI controller.
-
Update halt behavior on Pi 400 to re-enable 'power on' button if the OS did a reset rather than using the standard mailbox shutdown commands. This overrides WAKE_ON_GPIO / POWER_OFF_ON_HALT settings on Pi 400 because it has a dedicated power button. If a button on GPIO3 really is requried then it can be re-enabled by setting WAKE_ON_GPIO=2 but that will consume more power.
-
Fix short blink before one-shot error pattern - #251
-
Validate SDRAM in recovery mode.
-
XHCI protocol layer fixes for non-VLI controllers.
-
Updated 'tryboot' for new version which also supports Pi3 and earlier.
-
Skip rendering of the diagnostics screen for HDMI_DELAY seconds (default 5). This means that for SD-card and USB MSD flash boot devices the diagnostics screen will not be visible.
-
On Pi 4B 1.4 (8GB) initialise SDRAM whilst waiting for the USB port power off time. This makes booting slightly faster.
-
Remove HDMI console messages where the information is duplicated elsewhere on the display.
-
Improve compatibility with external USB 3.0 disk enclosures by enumerating the downstream hubs before executing the USB port power off. N.B. Pi4 8GB automatically powers off the USB ports during chip-reset and does not need this change.
-
Don't timeout a USB MSD device after USB_MSD_LUN_TIMEOUT if there are no other MSD devices or LUNs to try. This avoids unnecessary timeouts on very slow to initialise disk drives e.g. USB HDDs designed for backups.
-
Fix failover to partition zero if the partition number is invalid. For USB MSD boot a start.elf update is also required.
-
SD-Card - Change default retries from 0 to 1 to improve reliability with some old SD v1 cards.
-
Fix issue where boot would stop if partition type 0x83 was encountered before the first FAT partition.
-
SELF_UPDATE mode (Network, USB MSD boot) now reads the timestamp information in pieeprom.sig created by rpi-eeprom-update to see if the updated is newer than the current 'update-timestamp'. If not, the update is skipped to avoid stale updates on network or USB disks being installed by accident.
recovery.bin updates (from the SD card) do not check the timestamp because recovery.bin renames itself once the update is completed. However, it still writes the update-timestamp to the EEPROM.
The update-timestamp is the timestamp when the update is created is independent of the build-timestamp for the bootloader executable. See rpi-eeprom-update -h
-
Add support for the 'tryboot' feature that enables operating systems to implement a fallback mechanism if an OS upgrade fails. This works with all bootable media types but requires updated firmware and OS software.
This feature should be viewed as EXPERIMENTAL and may change depending upon feedback from other OS/distro maintainers. https://github.com/raspberrypi/linux/commit/757666748ebf69dc161a262faa3717a14d68e5aa
- Include the release image for reference. This contains some minor changes to support manufacture test.
- Promote the 2020-09-03 bootloader EEPROM and VLI 0138A1 as the default release (critical folder).
Interesting changes since 2020-04-16:-
- Add support for booting from USB mass storage devices.
- Add support for bootloader updates for USB MSD or network boot (self-update)
- Improve compatibility for USB devices which require the USB port power to be switched off for a period of time during a reboot.
- Add support GPT and Hybrid MBR partition tables.
- Add support for EEPROM write-protect.
- Add the ability to loop between different boot-modes until a bootable image is found. The default is to loop between SD and USB-MSD.
- VLI 0138A1 - Improve full-speed isochronous endpoint support.
- Turn the green LED on and leave it on unless an error code occurs. Previously, SD activity was displayed but that plus muxing with the SPI CS made the LED activity confusing. The HDMI diagnostics screen now provides much better information for determining if the bootloader is running or frozen.
- CM4 enable GPIO for SD power.
- Filename should be 2020-09-03
- Since the ROM will load recovery.bin from the SD card self-update is not required. Although it functions correctly there is a small risk stale pieeprom.upd files would be installed automatically e.g. if the rpi-eeprom-update service has been disabled.
- The USB port power management change from the last BETA improves compatibility for devices which during reset with no regressions reported. Make this the latest stable release.
- Turn off USB port power for 1-second regardless of boot-mode. This appears to resolve an issue on R1.3 and older board revisions where some USB devices would fail upon reboot. On R1.4 USB port power is turned off automatically by the PMIC so this is just held in reset for longer. For earlier board revisions the USB port power is explicitly turned off via XHCI. This can be overridden via USB_MSD_PWR_OFF_TIME in the EEPROM config.
- Update to the latest Broadcom memsys FW - no significant functional change.
- Promote the latest beta to stable as the next production firmware release candidate. The main difference between this and the previous stable version is the VL805 FW update.
- Patch previous 2020-07-16 from c44ee87f -> 45291ce6 to fix a CM4 specific issue which does not impact Model B
- Update the VL805 embedded / standalone FW version to 0138A1
- User settings of the ASPM bits in the PCI configuration space link control register are now maintained
- Better full-speed Isochronous endpoint support
- Add eeprom_write_protect config.txt variable which if set configures
the non-volatile status register bits to define the write protect
regions.
- If 1 then configure the write protect regions for both the bootloader and VLI EEPROMs to cover the entire EEPROM.
- If zero then clear all write protect bits.
- If missing or -1 then don't change the current state.
- The write protect is only effective if the /WP pin is pulled low e.g. by shorting TP5 to ground.
- WARNING: Previous versions of the bootloader, recovery.bin and vl805 tool do NOT clear the non-volatile status bits for the VL805 SPI EEPROM. Consequently, installing an older version will fail/hang if the write protect bits have not been cleared first (eeprom_write_protect=0)
- Update the vl805 user-space tool to clear the WP bits.
- Add recovery_wait config.txt option which if set to 1 forces the EEPROM rescue image and flashes the activity LED forever. This is intended for use with an SD card image which just contains recovery.bin + config.txt and is used to set/clear WP on multiple boards.
- The write protect functionality works with self-update mode, however, the bootloader must have already been updated to the version supporting write protect first i.e. at least two reboots are required.
- Update the HDMI diagnostics screen to display 'RO' after the EEPROM version if the write status register for the bootloader SPI EEPROM has write protect bits defined. This does NOT attempt to verify if /WP is low.
- Increase port power off limit to 5 seconds.
- Increase the port power off default to 1 second. This seems to cover most commonly seen USB MSD devices which require the USB port power to be disabled after the USB HC chip is reset.
- Reset activity LED after SPI access to reduce the number of spurious LED flashes.
- Add SPI error diagnostic error code (3 long 1 short) if SPI commands timeout. (So far this failure has not been observed on failed boards)
- Promote the latest beta EEPROM and recovery.bin to stable and feature freeze USB MSD support until a production release is ready.
- Increase the default power off delay to 500ms following more interop testing.
- Make the USB port power off time configurable via the USB_MSD_PWR_OFF_TIME config. The range may be set between 250 and 1000ms. Zero means no port power off.
- Fix some issues in XHCI endpoint configuration where the code was wrong but does not fail with the current VL805 FW.
- Reset Ethernet MAC + PHY if final boot mode is not network boot See: Kernel warning and network failure when attempting to use the network after bootloader times out. #144
- Improve handling of multiple bootable USB devices and remove USB_MSD_BOOT_MAX_RETRIES
- Resolve: No DHCPACK with DHCP relay agent #58
- Toggle USB root hub port power for 200ms on the first USB MSD boot attempt See: Bootloader can't boot via USB-HDD after system reboot #151
- Update bootloader handover to support uart_2ndstage - requires a newer start.elf firmware which will be via rpi-update.
- Assert PCIe fundamental reset if the final bootmode was not USB-MSD because the OS might not do this before starting XHCI.
- 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 redundant 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
* Re-upload 2020-05-28 after Git issue
* rpi-eeprom-update for new board revisions
* Resolve: DPI failure after HDMI diagnostics screen in beta bootloader #133
* Resolve: VL805 readback failure in the bootloader #134
* Resolve: USB boot fails if the GPT contains no basic data or EFI partitions #130
* Resolve: Fix default BOOT_ORDER in mass storage beta #129
* Resolve: Add support for booting from a "superfloppy" disk #120
* Resolve: USB MSD timeout message - incorrect units #131
* Resolve: Recognize efi partition (0xef) as a valid boot #126
* The HDMI diagnostics screen now displays the most significant bytes
of the SHA-256 of the config.txt file.
* Mark USE_FLASHROM as deprecated.
* Resolve: Unnecessary check for '*.elf' in BOOTFS #92
* Update help for FIRMWARE_RELEASE_STATUS.
* USB mass storage boot will NOT work without the updated firmware
start.elf binaries. These will probably be released via rpi-update
in a few days’ time.
This release simply helps to validate if there are regressions in
the current SD and Network boot modes.
* SELF_UPDATE and bootloader_update are now enabled by default.
* Now that 2020-04-16 is has been released as the default production
release move the old binaries to an old (deprecated) directory.
These can be removed for the APT package to reduce disk space.
* Make this the default release for all users. This supports network
boot, configurable boot order and HDMI diagnostics screen.
* The PLL analog changes in the beta release never made it to stable.
Skip straight 2020-04-16 to synchronize releases.
* This seems to cause problems on some firmware releases if enable_tvout
is set due to different behaviour in PLL management.
* If the VL805 image was updated but the bootloader was not then
recovery.bin would incorrectly switch to infinite flashing activity
LED pattern used in the rescue image to prevent infinite reboots.
Fix recovery.bin to reboot in this case. The current 'critical'
release does not have this problem.
* Fix uart_2ndstage logging in beta/stable recovery image.
* Change recovery.bin to reboot instead of displaying an error pattern
if there are no EEPROM images. The Raspberry Pi Image makes it very
difficult to create a broken rescue image but a stray recovery.bin
could stop Raspbian from booting.
* Fix detection of VL805 EEPROM in recovery.bin
N.B. These recovery.bin file used for critical updates and the rescue
image does not suffer from these bugs.
* Experimental tweaks for PLL analog setup to reduced jitter and
improve PCIe reliability on slower silicon.
* No major bugs reported. Promote this to stable as a step
towards getting HDMI diagnostics into the default firmware
via a critical update.
* Minor mods for manufacture test.
* Fix DHCP Option97 GUID generation. The MAC LSB portion was previously
always zero.
* Support static IP address configuration. The following fields may be
set manually using dotted decimal address. If set, then DHCP if skipped.
* CLIENT_IP
* 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
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
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 be looking
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.
As usual, TFTP should only be used on private networks because the
protocol is not secure against spoofing.
* recovery.bin. The beta recovery.bin will now display a green screen
via HDMI if successful or red if a failure occurs.
* Remove the dependency check for the vl805 utility. This is deprecated
and there is no 64-bit version. The file is still available in Github
for anyone who wants to continue using USE_FLASHROM or create their
own scripts.
* Add a stable firmware directory based on the latest beta release.
Stable should be interpreted as feature-freeze releases. In this
case the core network boot is stable enough for most scenarios
and this de-risks adding new more experimental features in the
beta folder.
* Set the default/critical vl805 version to be 00137ad. This has the
same power savings as 0137ab but with fixes for USB webcams.
* Handle DHCP option 0 - padding
* Fix SD card voltage detection
* Fix padding calculation
* Fix parsing of multiple menu entries in PXE options.
* Fix regression in IP address parsing
* Fix handling of multiple menu options with TFTP Option43
* Ignore unsupported modes in BOOT_ORDER instead of stopping.
First release candidate before this beta is moved to a stable release series.
* Avoid resetting TFTP prefix after retries or if start4.elf is not found.
* Add MAC_ADDRESS option which allows the OTP Ethernet MAC address to be
overridden. A VideoCore firmware update will propagate this forced
mac address to device-tree/cmdline in the near future.
* Various internal refactorings to prepare for USB MSD storage boot in
the next beta-series.
* Enable high-speed mode for EMMC cards.
* 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.
- Ignore trailing characters when parsing in PXE boot menu option.
- Improve error handling with unformatted sd-cards.
- TFTP now uses RFC2348 blksize option to get 1024 byte blocks if the server supports it.
- Fix DHCP handling of SI_ADDR
- TFTP_PREFIX and TFTP_PREFIX_STR options for mac-address or string literal prefix.
- Improved support for standard capacity and SDv1 cards.
- Increase TFTP timeout to 30s as default & bootconf.txt
- Fix intermittent boot freeze/slowdown issue after loading start.elf
- Don't load start.elf during network boot if start4.elf exists but the download times out.
- Add support for network boot
- Configurable ordering for boot modes (BOOT_ORDER and SD/NET_BOOT retries)
- Configure ethernet RGMII pins at power on. This is a minor change which which may improve reliability of ethernet for some users.
- Update SDRAM setup to reduce power consumption.
- 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.
- 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.
- Load start4db.elf / fixup4db.dat in preference to start_db.elf / fixup_db.dat on Pi4.
- Embed BUILD_TIMESTAMP in the EEPROM image to assist version checking.
- First production version.