mirror of
https://github.com/raspberrypi/rpi-eeprom.git
synced 2026-01-20 21:13:36 +08:00
Compare commits
101 Commits
v2019.09.1
...
v2020.09.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
09f77ad9fa | ||
|
|
b887a0bfa9 | ||
|
|
3ef8633f03 | ||
|
|
a1da3ac15c | ||
|
|
65037b76bf | ||
|
|
28153db403 | ||
|
|
e9445dfa44 | ||
|
|
73e845de28 | ||
|
|
c697a4aace | ||
|
|
18d50d52ca | ||
|
|
3cdd464d99 | ||
|
|
434224f9ed | ||
|
|
279eef4777 | ||
|
|
eea80bc4ab | ||
|
|
1a44b13308 | ||
|
|
366e868e2d | ||
|
|
8181a87b2c | ||
|
|
e7c22e2ee0 | ||
|
|
ac297ecae7 | ||
|
|
0e7da7ecd8 | ||
|
|
f161ef369b | ||
|
|
456a55122b | ||
|
|
d7b1a49a83 | ||
|
|
8e9aca34ae | ||
|
|
a5794dde78 | ||
|
|
bb2fcf63f8 | ||
|
|
42ae155d1a | ||
|
|
8312e86e35 | ||
|
|
ac0cf15bac | ||
|
|
3325de5b9a | ||
|
|
dd15621c8a | ||
|
|
940ac7c0e8 | ||
|
|
befe05b42a | ||
|
|
6aa5d03e26 | ||
|
|
16ad44285f | ||
|
|
b2e2818b28 | ||
|
|
140bd3a396 | ||
|
|
4dbd7b9d07 | ||
|
|
008d50610a | ||
|
|
5ae98cbbac | ||
|
|
9342fdb2ab | ||
|
|
bd7957d353 | ||
|
|
7cd63f9d3c | ||
|
|
b18780e0d0 | ||
|
|
de7a26a354 | ||
|
|
2a8c2e77c3 | ||
|
|
29408f7c17 | ||
|
|
a921fdecf4 | ||
|
|
92f194b4b8 | ||
|
|
fab8f9e7d8 | ||
|
|
4731bda900 | ||
|
|
8c5e0e1d1c | ||
|
|
c5d49eec83 | ||
|
|
3c4ee02e6f | ||
|
|
b16109adec | ||
|
|
0dfedc07da | ||
|
|
ad82caaf61 | ||
|
|
45935788fd | ||
|
|
1f5912ed31 | ||
|
|
4abaa46e1f | ||
|
|
831af6efbe | ||
|
|
053776bb6f | ||
|
|
888410c81a | ||
|
|
dbd28e42bd | ||
|
|
93a8eee328 | ||
|
|
66fa760460 | ||
|
|
beceaab7ae | ||
|
|
7cf2828046 | ||
|
|
ed86d5e144 | ||
|
|
064c9d7395 | ||
|
|
eccbc1066d | ||
|
|
322568aa65 | ||
|
|
37e889cd68 | ||
|
|
0cfc72304e | ||
|
|
493307c977 | ||
|
|
40d608daaa | ||
|
|
fd2ea72b26 | ||
|
|
be3efeae7c | ||
|
|
175232cad5 | ||
|
|
f257872c3c | ||
|
|
c1a1e9b067 | ||
|
|
e87bc4da8d | ||
|
|
7c181f40f2 | ||
|
|
5fb23cfcb8 | ||
|
|
21bd52daa0 | ||
|
|
5c7dfdf3b7 | ||
|
|
ad18a5b468 | ||
|
|
69ef289748 | ||
|
|
ee0b6146f1 | ||
|
|
3f9a0eb201 | ||
|
|
c2ce7f8488 | ||
|
|
7e587b8092 | ||
|
|
bbffc1a9fc | ||
|
|
cbb061e0c3 | ||
|
|
19c6ddcaa4 | ||
|
|
c649ab64e4 | ||
|
|
a70a647233 | ||
|
|
87a8d46959 | ||
|
|
92ed6c634a | ||
|
|
bb568a4c4d | ||
|
|
8b9559ce60 |
46
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
46
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
For general boot questions please check the read the [Boot Problems](https://www.raspberrypi.org/forums/viewtopic.php?t=58151) sticky post on the forums.
|
||||
|
||||
N.B The bootloader does not persist in memory and if the rainbow splash screen has been displayed the issue is likely to be in the firmware or Linux. If so, it's better to target the bug in the [Firmware](https://github.com/raspberrypi/firmware/) or [Linux](https://github.com/raspberrypi/linux/) repositories first e.g. NFS, USB or dmesg logs would be Linux issues.
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
|
||||
**Expected behaviour**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add a photograph of the bootloader HDMI diagnostics screen.
|
||||
|
||||
**Bootloader version and configuration**
|
||||
If you have modified the default bootloader release or configuration then please attach the bootloader configuration (vcgencmd bootloader_config) and version (vcgencmd bootloader_version)
|
||||
|
||||
**SD card boot (please complete the following information):**
|
||||
- OS e.g. Raspbian
|
||||
- SD card type
|
||||
- Partition information (fdisk -l) if you are able to obtain this from another computer.
|
||||
|
||||
**Network boot (please complete the following information):**
|
||||
Network boot configuration can get very complicated. To get started we recommend using [PiServer](https://github.com/raspberrypi/piserver) and this is the official test/reference configuration. For other configurations, packet capture or a UART log is nearly always required because setting up custom network configurations to investigate bugs is extremely time-consuming and error-prone.
|
||||
|
||||
- DHCP server configuration files e.g. dnsmasq.conf
|
||||
- Wireshark binary packet capture
|
||||
- UART logs
|
||||
|
||||
**USB boot (please complete the following information):**
|
||||
For issues booting with specific USB devices please verify that the system boots from an SD-card with the same devices connected and attach the results of 'lsusb -vvv'. This helps to rule out USB HUB power issues.
|
||||
In the beta release it's likely that a UART or NetConsole boot trace will be required.
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
2
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
2
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
blank_issues_enabled: false
|
||||
|
||||
23
README.md
23
README.md
@@ -1,27 +1,16 @@
|
||||
# rpi-eeprom
|
||||
This repository contains the scripts and pre-compiled binaries used to create the rpi-eeprom package which is used to update the Raspberry Pi4 bootloader EEPROM.
|
||||
This repository contains the scripts and pre-compiled binaries used to create the `rpi-eeprom` package which is used to update the Raspberry Pi 4 bootloader and VLI EEPROMs.
|
||||
|
||||
# Support
|
||||
For bootloader support the best place to start is the Raspberry Pi [General Users forum](https://www.raspberrypi.org/forums/viewforum.php?f=63) or for discussion of beta releases try the [Advanced Users forum](https://www.raspberrypi.org/forums/viewforum.php?f=29&sid=9bbc277968ad953e77749b255d0ce3a2)
|
||||
Please check the Raspberry Pi [general discussion forum](https://www.raspberrypi.org/forums/viewforum.php?f=63) if you have a support question.
|
||||
|
||||
# Rescue image
|
||||
If the Raspberry Pi4 is not booting, then it's very unlikely that the EEPROM is corrupted. The first thing that you should check is that the OS image was correctly installed using the Raspberry Pi Imager which is available on the [downloads page](https://www.raspberrypi.org/downloads/). If that doesn't work or you wish to revert EEPROM configuration changes to factory defaults then you can also create an EEPROM recovery SD card image using the Raspberry Pi Imager.
|
||||
# Reset to factory defaults
|
||||
The [Raspberry Pi Imager](https://www.raspberrypi.org/downloads/) provides an EEPROM recovery image which may be used to reset the bootloader and VLI EEPROMs to factory defaults.
|
||||
|
||||
# Bootloader documentation
|
||||
* [The boot folder](https://www.raspberrypi.org/documentation/configuration/boot_folder.md)
|
||||
* [Config.txt boot options](https://www.raspberrypi.org/documentation/configuration/config-txt/boot.md)
|
||||
* [Bootloader EEPROM](https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md)
|
||||
* [Bootloader configuration](https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md)
|
||||
|
||||
# Bug reports
|
||||
Bootloader bugs are especially difficult to describe because there's no display. Where possible please include the following information in order to help identify the problem.
|
||||
* EEPROM version (vcgencmd bootloader_version or the pieeprom filename)
|
||||
* EEPROM config (from rpi-eeprom-config)
|
||||
* UART trace using USB serial cable
|
||||
* Wireshark trace for network boot. Filtering for DHCP and TFTP protocols or by mac-address for the Pi4 is fine.
|
||||
|
||||
# BETA versions of the bootloader
|
||||
If you want to try the BETA version of the bootloader then we recommend that you always try this with a spare sd-card and are comfortable with using the rescue image. For debugging you may find a USB serial cable useful.
|
||||
|
||||
Beta features are always documented [here](https://github.com/raspberrypi/rpi-eeprom/blob/master/firmware/release-notes.md) first. Once the configuration has stabalised then the [Bootloader configuration](https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md) will be updated, however, there's normally a bit of a delay in order to allow official documentation to be reviewed.
|
||||
|
||||
* [Release notes](firmware/release-notes.md)
|
||||
* [Releases](releases.md)
|
||||
|
||||
BIN
firmware/beta/pieeprom-2020-07-16.bin
Normal file
BIN
firmware/beta/pieeprom-2020-07-16.bin
Normal file
Binary file not shown.
BIN
firmware/beta/pieeprom-2020-07-31.bin
Normal file
BIN
firmware/beta/pieeprom-2020-07-31.bin
Normal file
Binary file not shown.
BIN
firmware/beta/pieeprom-2020-08-31.bin
Normal file
BIN
firmware/beta/pieeprom-2020-08-31.bin
Normal file
Binary file not shown.
BIN
firmware/beta/pieeprom-2020-09-02.bin
Normal file
BIN
firmware/beta/pieeprom-2020-09-02.bin
Normal file
Binary file not shown.
BIN
firmware/beta/pieeprom-2020-09-03.bin
Normal file
BIN
firmware/beta/pieeprom-2020-09-03.bin
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
firmware/old/beta/pieeprom-2020-05-15.bin
Normal file
BIN
firmware/old/beta/pieeprom-2020-05-15.bin
Normal file
Binary file not shown.
BIN
firmware/old/beta/pieeprom-2020-05-26.bin
Normal file
BIN
firmware/old/beta/pieeprom-2020-05-26.bin
Normal file
Binary file not shown.
BIN
firmware/old/beta/pieeprom-2020-05-27.bin
Normal file
BIN
firmware/old/beta/pieeprom-2020-05-27.bin
Normal file
Binary file not shown.
BIN
firmware/old/beta/pieeprom-2020-05-28.bin
Normal file
BIN
firmware/old/beta/pieeprom-2020-05-28.bin
Normal file
Binary file not shown.
BIN
firmware/old/beta/pieeprom-2020-06-03.bin
Normal file
BIN
firmware/old/beta/pieeprom-2020-06-03.bin
Normal file
Binary file not shown.
BIN
firmware/old/beta/pieeprom-2020-06-12.bin
Normal file
BIN
firmware/old/beta/pieeprom-2020-06-12.bin
Normal file
Binary file not shown.
BIN
firmware/old/beta/pieeprom-2020-06-15.bin
Normal file
BIN
firmware/old/beta/pieeprom-2020-06-15.bin
Normal file
Binary file not shown.
BIN
firmware/old/beta/pieeprom-2020-07-06.bin
Normal file
BIN
firmware/old/beta/pieeprom-2020-07-06.bin
Normal file
Binary file not shown.
BIN
firmware/old/beta/recovery.bin
Normal file
BIN
firmware/old/beta/recovery.bin
Normal file
Binary file not shown.
1
firmware/old/critical/pieeprom-2019-07-15.bin
Symbolic link
1
firmware/old/critical/pieeprom-2019-07-15.bin
Symbolic link
@@ -0,0 +1 @@
|
||||
../beta/pieeprom-2019-07-15.bin
|
||||
1
firmware/old/critical/pieeprom-2019-09-10.bin
Symbolic link
1
firmware/old/critical/pieeprom-2019-09-10.bin
Symbolic link
@@ -0,0 +1 @@
|
||||
../beta/pieeprom-2019-09-10.bin
|
||||
1
firmware/old/critical/pieeprom-2020-04-16.bin
Symbolic link
1
firmware/old/critical/pieeprom-2020-04-16.bin
Symbolic link
@@ -0,0 +1 @@
|
||||
../beta/pieeprom-2020-04-16.bin
|
||||
1
firmware/old/critical/recovery.bin
Symbolic link
1
firmware/old/critical/recovery.bin
Symbolic link
@@ -0,0 +1 @@
|
||||
../beta/recovery.bin
|
||||
1
firmware/old/critical/vl805-00013701.bin
Symbolic link
1
firmware/old/critical/vl805-00013701.bin
Symbolic link
@@ -0,0 +1 @@
|
||||
../beta/vl805-00013701.bin
|
||||
1
firmware/old/critical/vl805-000137ab.bin
Symbolic link
1
firmware/old/critical/vl805-000137ab.bin
Symbolic link
@@ -0,0 +1 @@
|
||||
../beta/vl805-000137ab.bin
|
||||
1
firmware/old/critical/vl805-000137ad.bin
Symbolic link
1
firmware/old/critical/vl805-000137ad.bin
Symbolic link
@@ -0,0 +1 @@
|
||||
../beta/vl805-000137ad.bin
|
||||
1
firmware/old/stable/pieeprom-2020-01-17.bin
Symbolic link
1
firmware/old/stable/pieeprom-2020-01-17.bin
Symbolic link
@@ -0,0 +1 @@
|
||||
../beta/pieeprom-2020-01-17.bin
|
||||
1
firmware/old/stable/pieeprom-2020-03-19.bin
Symbolic link
1
firmware/old/stable/pieeprom-2020-03-19.bin
Symbolic link
@@ -0,0 +1 @@
|
||||
../beta/pieeprom-2020-03-19.bin
|
||||
1
firmware/old/stable/pieeprom-2020-04-16.bin
Symbolic link
1
firmware/old/stable/pieeprom-2020-04-16.bin
Symbolic link
@@ -0,0 +1 @@
|
||||
../beta/pieeprom-2020-04-16.bin
|
||||
1
firmware/old/stable/recovery.bin
Symbolic link
1
firmware/old/stable/recovery.bin
Symbolic link
@@ -0,0 +1 @@
|
||||
../beta/recovery.bin
|
||||
1
firmware/old/stable/vl805-000137ad.bin
Symbolic link
1
firmware/old/stable/vl805-000137ad.bin
Symbolic link
@@ -0,0 +1 @@
|
||||
../beta/vl805-000137ad.bin
|
||||
@@ -1,5 +1,168 @@
|
||||
# Raspberry Pi4 bootloader EEPROM release notes
|
||||
|
||||
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
|
||||
|
||||
## 2020-09-07 Promote 2020-09-03 to release to STABLE
|
||||
|
||||
## 2020-09-03 Only use green LED for error status in bootloader - BETA
|
||||
* 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 determing if the bootloader is running or frozen.
|
||||
* CM4 enable GPIO for SD power.
|
||||
* Filename should be 2020-09-03
|
||||
|
||||
## 2020-08-31 Disable self-update from SD card - BETA
|
||||
* 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.
|
||||
|
||||
## 2020-08-10 Promote 2020-07-31 release to STABLE
|
||||
* The USB port power management change from the last BETA improves
|
||||
compatiblity for devices which during reset with no regressions reported.
|
||||
Make this the latest stable release.
|
||||
|
||||
## 2020-07-31 Standardize USB port power control accross board revisions - BETA
|
||||
* 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 overriden via USB_MSD_PWR_OFF_TIME in the EEPROM config.
|
||||
* Update to the latest Broadcom memsys FW - no significant functional change.
|
||||
|
||||
## 2020-07-20 Promote 2020-07-16 bootloader and VL805 0138A1 FW to stable - STABLE
|
||||
* 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.
|
||||
|
||||
## 2020-07-16 Update VL805 FW to 0138A1 and add optional EEPROM write-protect - BETA
|
||||
* 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.
|
||||
|
||||
## 2020-07-06 Tweak USB port power and clear ACT LED after SPI - BETA
|
||||
* 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)
|
||||
|
||||
## 2020-06-17 Promote 2020-06-15 to STABLE
|
||||
* Promote the latest beta EEPROM and recovery.bin to stable and
|
||||
feature freeze USB MSD support until a production release is ready.
|
||||
|
||||
## 2020-06-15 Increase default USB port power delay - BETA
|
||||
* 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.
|
||||
|
||||
## 2020-06-12 Improve support for powered USB SATA devices - BETA
|
||||
* 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.
|
||||
|
||||
## 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
|
||||
|
||||
## 2020-05-26 USB MSD updates - BETA
|
||||
* 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.
|
||||
|
||||
## 2020-05-26 rpi-eeprom-update
|
||||
* Mark USE_FLASHROM as deprecated.
|
||||
* Resolve: Unnecessary check for '*.elf' in BOOTFS #92
|
||||
* Update help for FIRMWARE_RELEASE_STATUS.
|
||||
|
||||
## 2020-05-15 Add pieeprom-2020-05-15 beta with USB boot
|
||||
* 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.
|
||||
|
||||
## 2020-05-11 Garbage collect old binaries
|
||||
* 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.
|
||||
|
||||
## Promote 2020-04-16 EEPROM release critical
|
||||
* Make this the default release for all users. This supports network
|
||||
boot, configurable boot order and HDMI diagnostics screen.
|
||||
|
||||
## 2020-04-16 Promote to stable
|
||||
* The PLL analog changes in the beta release never made it to stable.
|
||||
Skip straight 2020-04-16 to synchronize releases.
|
||||
|
||||
## 2020-04-16 Revert PLL analog changes
|
||||
* This seems to cause problems on some firmware releases if enable_tvout
|
||||
is set due to different behaviour in PLL management.
|
||||
@@ -43,20 +206,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.
|
||||
@@ -77,7 +240,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
|
||||
@@ -145,7 +308,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.
|
||||
|
||||
Binary file not shown.
BIN
firmware/stable/pieeprom-2020-04-16.bin
Normal file
BIN
firmware/stable/pieeprom-2020-04-16.bin
Normal file
Binary file not shown.
BIN
firmware/stable/pieeprom-2020-06-15.bin
Normal file
BIN
firmware/stable/pieeprom-2020-06-15.bin
Normal file
Binary file not shown.
BIN
firmware/stable/pieeprom-2020-07-16.bin
Normal file
BIN
firmware/stable/pieeprom-2020-07-16.bin
Normal file
Binary file not shown.
BIN
firmware/stable/pieeprom-2020-07-31.bin
Normal file
BIN
firmware/stable/pieeprom-2020-07-31.bin
Normal file
Binary file not shown.
BIN
firmware/stable/pieeprom-2020-09-03.bin
Normal file
BIN
firmware/stable/pieeprom-2020-09-03.bin
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
firmware/vl805
BIN
firmware/vl805
Binary file not shown.
27
releases.md
Normal file
27
releases.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# 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, rather than updating via Linux.
|
||||
|
||||
## Release notes
|
||||
Release notes are available [here](https://github.com/raspberrypi/rpi-eeprom/blob/master/firmware/release-notes.md).
|
||||
|
||||
## 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 boot
|
||||
The latest USB mass storage boot recovery image is [2020-07-31](https://github.com/raspberrypi/rpi-eeprom/releases/tag/v2020.07.31-138a1).
|
||||
|
||||
For support please see this [forum thread](https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=277007)
|
||||
|
||||
N.B. Although the bootloader has now been promoted to a stable / feature-freeze release USB MSD should still be considered BETA software because this requires updates to the GPU firmware.
|
||||
|
||||
## 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.
|
||||
For example, the Pi 4 8GB requires bootloader version 2020-04-16 or newer.
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/env python
|
||||
|
||||
# rpi-eeprom-config
|
||||
# Utility for reading and writing the configuration file in the
|
||||
# Raspberry Pi4 bootloader EEPROM image.
|
||||
# Raspberry Pi 4 bootloader EEPROM image.
|
||||
|
||||
import argparse
|
||||
import struct
|
||||
@@ -98,7 +98,7 @@ class BootloaderImage(object):
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(formatter_class=argparse.RawDescriptionHelpFormatter, \
|
||||
description='Bootloader EEPROM configuration tool for the Raspberry Pi 4B. \
|
||||
description='Bootloader EEPROM configuration tool for the Raspberry Pi 4. \
|
||||
\n\nThere are 3 operating modes: \
|
||||
\n\n1. Output the bootloader configuration stored in an EEPROM image file to \
|
||||
the screen (STDOUT): specify only the name of an EEPROM image file using the \
|
||||
|
||||
@@ -32,6 +32,7 @@ USE_FLASHROM=${USE_FLASHROM:-0}
|
||||
RECOVERY_BIN=${RECOVERY_BIN:-${FIRMWARE_ROOT}/${FIRMWARE_RELEASE_STATUS}/recovery.bin}
|
||||
BOOTFS=${BOOTFS:-/boot}
|
||||
VCMAILBOX=${VCMAILBOX:-/opt/vc/bin/vcmailbox}
|
||||
CM4_ENABLE_RPI_EEPROM_UPDATE=${CM4_ENABLE_RPI_EEPROM_UPDATE:-0}
|
||||
|
||||
EXIT_SUCCESS=0
|
||||
EXIT_UPDATE_REQUIRED=1
|
||||
@@ -46,7 +47,16 @@ SPI_SPEED=16000
|
||||
# Timestamp for first release which doesn't have a timestamp field
|
||||
BOOTLOADER_FIRST_VERSION=1557513636
|
||||
EEPROM_SIZE=524288
|
||||
BOARD_INFO=
|
||||
BOARD_REVISION=
|
||||
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.
|
||||
HAVE_VL805_EEPROM=0
|
||||
|
||||
# Simple bootloader which is able to load start.elf in the event of a power
|
||||
# cut. This runs SDRAM at low speed and may have reduced functionality but
|
||||
@@ -154,12 +164,18 @@ applyRecoveryUpdate()
|
||||
|
||||
cp -f "${TMP_EEPROM_IMAGE}" "${BOOTFS}/pieeprom.upd" \
|
||||
|| die "Failed to copy ${TMP_EEPROM_IMAGE} to ${BOOTFS}"
|
||||
|
||||
# For NFS mounts ensure that the files are readable to the TFTP user
|
||||
chmod -f go+r "${BOOTFS}/pieeprom.upd" "${BOOTFS}/pieeprom.sig"
|
||||
fi
|
||||
|
||||
if [ -n "${VL805_UPDATE_IMAGE}" ]; then
|
||||
sha256sum "${VL805_UPDATE_IMAGE}" | awk '{print $1}' > "${BOOTFS}/vl805.sig" \
|
||||
|| die "Failed to create ${BOOTFS}/vl805.sig"
|
||||
cp -f "${VL805_UPDATE_IMAGE}" "${BOOTFS}/vl805.bin"
|
||||
|
||||
# For NFS mounts ensure that the files are readable to the TFTP user
|
||||
chmod -f go+r "${BOOTFS}/vl805.bin" "${BOOTFS}/vl805.sig"
|
||||
fi
|
||||
|
||||
cp -f "${RECOVERY_BIN}" "${BOOTFS}/recovery.bin" \
|
||||
@@ -167,7 +183,7 @@ applyRecoveryUpdate()
|
||||
}
|
||||
|
||||
applyUpdate() {
|
||||
checksums_file="/var/lib/dpkg/info/rpi-eeprom-images.md5sums"
|
||||
checksums_file="/var/lib/dpkg/info/rpi-eeprom.md5sums"
|
||||
|
||||
[ "$(id -u)" = "0" ] || die "* Must be run as root - try 'sudo rpi-eeprom-update'"
|
||||
|
||||
@@ -176,7 +192,7 @@ applyUpdate() {
|
||||
cd /
|
||||
if ! md5sum -c "${checksums_file}" > /dev/null 2>&1; then
|
||||
md5sum -c "${checksums_file}"
|
||||
die "rpi-eeprom-images checksums failed - try reinstalling this package"
|
||||
die "rpi-eeprom checksums failed - try reinstalling this package"
|
||||
fi
|
||||
)
|
||||
fi
|
||||
@@ -187,6 +203,7 @@ applyUpdate() {
|
||||
fi
|
||||
|
||||
if [ -f "${BOOTLOADER_UPDATE_IMAGE}" ]; then
|
||||
echo "WARNING: USE_FLASHROM is deprecated."
|
||||
# Bootloader EEPROM chip-select is muxed with audio pin so disable audio
|
||||
# LDO first to avoid sending noise to analog audio.
|
||||
"${VCMAILBOX}" 0x00030056 4 4 0 > /dev/null || true
|
||||
@@ -251,14 +268,31 @@ getBootloaderUpdateVersion() {
|
||||
}
|
||||
|
||||
checkDependencies() {
|
||||
BOARD_REVISION="$(sed -n '/^Revision/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo)"
|
||||
if [ $(((0x$BOARD_REVISION >> 23) & 1)) -ne 0 ] && [ $(((0x$BOARD_REVISION >> 12) & 15)) -eq 3 ]; then
|
||||
BOARD_INFO="$(od -v -An -t x1 /sys/firmware/devicetree/base/system/linux,revision | tr -d ' \n')"
|
||||
if [ $(((0x$BOARD_INFO >> 23) & 1)) -ne 0 ] && [ $(((0x$BOARD_INFO >> 12) & 15)) -eq 3 ]; then
|
||||
echo "BCM2711 detected"
|
||||
else
|
||||
# Not a BCM2711, no EEPROMs to update.
|
||||
exit ${EXIT_SUCCESS}
|
||||
fi
|
||||
|
||||
BOARD_TYPE=$(((0x$BOARD_INFO >> 4) & 0xff))
|
||||
BOARD_REVISION=$((0x$BOARD_INFO & 0xf))
|
||||
|
||||
if [ ${BOARD_TYPE} -eq 20 ] && [ ${CM4_ENABLE_RPI_EEPROM_UPDATE} != '1' ]; then
|
||||
# For CM4, USB device boot is the recommended method for EEPROM updates.
|
||||
echo "rpi-eeprom-update is not enabled by default on CM4"
|
||||
exit ${EXIT_SUCCESS}
|
||||
fi
|
||||
|
||||
if [ ${BOARD_TYPE} -eq 17 ] && [ ${BOARD_REVISION} -lt 4 ]; then
|
||||
echo "Dedicated VL805 EEPROM detected"
|
||||
HAVE_VL805_EEPROM=1
|
||||
else
|
||||
echo "VL805 firmware in bootloader EEPROM"
|
||||
HAVE_VL805_EEPROM=0
|
||||
fi
|
||||
|
||||
if ! command -v vcgencmd > /dev/null; then
|
||||
die "vcgencmd not found. On Debian, try installing the libraspberrypi-bin package."
|
||||
fi
|
||||
@@ -269,8 +303,8 @@ checkDependencies() {
|
||||
|
||||
# If a board revision specific firmware directory is defined then use that
|
||||
# in preference to the generic directory.
|
||||
if [ -d "${FIRMWARE_IMAGE_DIR}-${BOARD_REVISION}" ]; then
|
||||
FIRMWARE_IMAGE_DIR="${FIRMWARE_IMAGE_DIR}-${BOARD_REVISION}"
|
||||
if [ -d "${FIRMWARE_IMAGE_DIR}-${BOARD_INFO}" ]; then
|
||||
FIRMWARE_IMAGE_DIR="${FIRMWARE_IMAGE_DIR}-${BOARD_INFO}"
|
||||
fi
|
||||
|
||||
if vcgencmd bootloader_config | grep -qi "Command not registered"; then
|
||||
@@ -306,11 +340,13 @@ usage() {
|
||||
cat <<EOF
|
||||
rpi-eeprom-update [options]... [FILE]
|
||||
|
||||
Checks whether the Raspberry Pi bootloader and the VL805 USB controller
|
||||
Bootloader EEPROM update tool for the Raspberry Pi 4.
|
||||
|
||||
Checks whether the Raspberry Pi 4 bootloader and the VL805 USB controller
|
||||
EEPROMs are up-to-date and optionally updates the EEPROMs at the next reboot.
|
||||
|
||||
The default update mechanism writes recovery.bin and the EEPROM update
|
||||
image(s) (pieeprom.upd and vl805.bin) to the boot partition on the sd-card.
|
||||
image(s) (pieeprom.upd and vl805.bin) to the boot partition.
|
||||
The SHA256 hash of the corresponding images are written to pieeprom.sig
|
||||
and/or vl805.sig. This guards against file system corruption which could
|
||||
cause the EEPROM to be flashed with an invalid image. This is not a
|
||||
@@ -321,22 +357,26 @@ If the update was successful recovery.bin renames itself to recovery.000
|
||||
to prevent it from running a second time then resets the system.
|
||||
The system should then boot normally.
|
||||
|
||||
If /boot does not correspond to the boot partition on the sd-card and this
|
||||
is not a NOOBS system then the mount point for BOOTFS should be defined
|
||||
If /boot does not correspond to the boot partition and this
|
||||
is not a NOOBS system, then the mount point for BOOTFS should be defined
|
||||
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
|
||||
@@ -356,10 +396,13 @@ and POWER_OFF_ON_HALT settings.
|
||||
|
||||
USE_FLASHROM
|
||||
|
||||
USE_FLASHROM is deprecated and there is no support for this. The muxing
|
||||
of the SPI pins causes too many issues for this to ever be reliable.
|
||||
|
||||
The flashrom update mechanism may be enabled by setting USE_FLASHROM=1. This
|
||||
also selects the vl805 tool instead of using recovery.bin to perform the
|
||||
update. This may be desirable if an immediate update is required or if an
|
||||
sd-card is not present.
|
||||
SD card is not present.
|
||||
However, this not recommended because the SPI pins are muxed with audio and other
|
||||
device drivers may be using SPI (e.g. HATs). This is also not safe in the
|
||||
event of a power failure during the update of the EEPROM.
|
||||
@@ -368,15 +411,27 @@ those devices to stop working until after the system is reboot.
|
||||
|
||||
FIRMWARE_RELEASE_STATUS
|
||||
|
||||
Specifies the release status of the firmware to apply. The default is 'critical'
|
||||
which is the most stable production version. Alternatively, 'stable' or
|
||||
'beta' may be selected for development releases.
|
||||
A 'critical' update is the latest stable production version and is normally
|
||||
only updated after it has been tested via the 'beta' and then a 'stable' release.
|
||||
Specifies the release status of the firmware to apply. The default is 'critical'.
|
||||
|
||||
Before selecting a firmware release directory this script checks whether there
|
||||
is a board revision specific variant e.g. critical-c03111. If present then the
|
||||
board-revision specific version is used in preference.
|
||||
|
||||
Release status:
|
||||
|
||||
critical: The latest production release plus important security or hardware compatibility bug fixes.
|
||||
|
||||
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!
|
||||
|
||||
As far as rpi-eeprom-update is concerned FIRMWARE_RELEASE_STATUS is just
|
||||
the subdirectory mapping under ${FIRMWARE_ROOT}. Therefore, custom release
|
||||
directories are supported by creating the relevant directory and changing
|
||||
the FIRMWARE_RELEASE_STATUS environment variable.
|
||||
|
||||
Examples:
|
||||
To extract the configuration file from an EEPROM image:
|
||||
rpi-eeprom-config pieeprom.bin --out bootconf.txt
|
||||
@@ -399,7 +454,7 @@ EOF
|
||||
printVersions()
|
||||
{
|
||||
if [ "${ACTION_UPDATE_BOOTLOADER}" = 1 ]; then
|
||||
echo "BOOTLOADER: update required"
|
||||
echo "BOOTLOADER: update available"
|
||||
else
|
||||
echo "BOOTLOADER: up-to-date"
|
||||
fi
|
||||
@@ -409,7 +464,7 @@ printVersions()
|
||||
echo " FW DIR: ${FIRMWARE_IMAGE_DIR}"
|
||||
|
||||
if [ "${ACTION_UPDATE_VL805}" = 1 ]; then
|
||||
echo "VL805: update required"
|
||||
echo "VL805: update available"
|
||||
else
|
||||
if [ "$(id -u)" = "0" ]; then
|
||||
echo "VL805: up-to-date"
|
||||
@@ -438,7 +493,11 @@ findBootFS()
|
||||
# If BOOTFS is not a directory or doesn't contain any .elf files then
|
||||
# it's probably not the boot partition.
|
||||
[ -d "${BOOTFS}" ] || die "BOOTFS: \"${BOOTFS}\" is not a directory"
|
||||
[ "$(find "${BOOTFS}/" -name "*.elf" | wc -l)" -gt 0 ] || die "BOOTFS: \"${BOOTFS}\" contains no .elf files"
|
||||
if [ "$(find "${BOOTFS}/" -name "*.elf" | wc -l)" -gt 0 ]; then
|
||||
echo "BOOTFS ${BOOTFS}"
|
||||
else
|
||||
echo "WARNING: BOOTFS: \"${BOOTFS}\" contains no .elf files. Please check boot directory"
|
||||
fi
|
||||
}
|
||||
|
||||
getVL805CurrentVersion()
|
||||
@@ -483,7 +542,6 @@ lookupVersionInfo()
|
||||
getBootloaderUpdateVersion
|
||||
|
||||
getVL805CurrentVersion
|
||||
getVL805UpdateVersion
|
||||
|
||||
if [ "${BOOTLOADER_UPDATE_VERSION}" -gt "${BOOTLOADER_CURRENT_VERSION}" ]; then
|
||||
ACTION_UPDATE_BOOTLOADER=1
|
||||
@@ -491,12 +549,18 @@ lookupVersionInfo()
|
||||
BOOTLOADER_UPDATE_IMAGE=""
|
||||
fi
|
||||
|
||||
if [ -n "${VL805_CURRENT_VERSION}" ] && [ -n "${VL805_UPDATE_VERSION}" ]; then
|
||||
if [ "${VL805_CURRENT_VERSION}" \< "${VL805_UPDATE_VERSION}" ]; then
|
||||
ACTION_UPDATE_VL805=1
|
||||
else
|
||||
VL805_UPDATE_IMAGE=""
|
||||
if [ "${HAVE_VL805_EEPROM}" = 1 ]; then
|
||||
getVL805UpdateVersion
|
||||
if [ -n "${VL805_CURRENT_VERSION}" ] && [ -n "${VL805_UPDATE_VERSION}" ]; then
|
||||
if [ "$((0x${VL805_CURRENT_VERSION}))" -lt "$((0x${VL805_UPDATE_VERSION}))" ]; then
|
||||
ACTION_UPDATE_VL805=1
|
||||
else
|
||||
VL805_UPDATE_IMAGE=""
|
||||
fi
|
||||
fi
|
||||
else
|
||||
VL805_UPDATE_VERSION="${VL805_CURRENT_VERSION}"
|
||||
ACTION_UPDATE_VL805=0
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -563,7 +627,7 @@ checkVersion()
|
||||
lookupVersionInfo
|
||||
|
||||
if [ "${BOOTLOADER_UPDATE_VERSION}" -gt "${BOOTLOADER_CURRENT_VERSION}" ]; then
|
||||
echo "*** UPDATE REQUIRED ***"
|
||||
echo "*** UPDATE AVAILABLE ***"
|
||||
printVersions
|
||||
write_status_info "EXIT_UPDATE_REQUIRED"
|
||||
exit ${EXIT_UPDATE_REQUIRED}
|
||||
@@ -585,21 +649,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}" <<EOF
|
||||
EXITCODE="${exit_code}"
|
||||
BOOTLOADER_CURRENT=${bootloader_cur}
|
||||
BOOTLOADER_LATEST=${bootloader_new}
|
||||
VL805_CURRENT="${vl805_cur}"
|
||||
VL805_LATEST="${vl805_new}"
|
||||
VL805_EEPROM="${vl805_eeprom}"
|
||||
EOF
|
||||
else
|
||||
[ "${HAVE_VL805_EEPROM}" = "0" ] && vl805_eeprom="false" || vl805_eeprom="true"
|
||||
cat > "${MACHINE_OUTPUT}" <<EOF
|
||||
{
|
||||
"EXITCODE": "${exit_code}",
|
||||
"BOOTLOADER_CURRENT": ${bootloader_cur},
|
||||
"BOOTLOADER_LATEST": ${bootloader_new},
|
||||
"VL805_CURRENT": "${vl805_cur}",
|
||||
"VL805_LATEST": "${vl805_new}"
|
||||
"VL805_LATEST": "${vl805_new}",
|
||||
"VL805_EEPROM": ${vl805_eeprom}
|
||||
}
|
||||
EOF
|
||||
fi
|
||||
|
||||
@@ -141,17 +141,17 @@ check_conf_size_too_large()
|
||||
fi
|
||||
}
|
||||
|
||||
check_loopback "../firmware/critical/pieeprom-2019-07-15.bin" "bootconf-2019-07-15.txt"
|
||||
check_loopback "../firmware/old/beta/pieeprom-2019-07-15.bin" "bootconf-2019-07-15.txt"
|
||||
cleanup
|
||||
|
||||
check_update "../firmware/critical/pieeprom-2019-07-15.bin" "pieeprom-2019-07-15-freeze.bin" "bootconf-2019-07-15-freeze.txt"
|
||||
check_update "../firmware/old/beta/pieeprom-2019-07-15.bin" "pieeprom-2019-07-15-freeze.bin" "bootconf-2019-07-15-freeze.txt"
|
||||
cleanup
|
||||
|
||||
check_reduce_size "../firmware/critical/pieeprom-2019-07-15.bin" "bootconf-2019-07-15.txt"
|
||||
check_reduce_size "../firmware/old/beta/pieeprom-2019-07-15.bin" "bootconf-2019-07-15.txt"
|
||||
cleanup
|
||||
|
||||
check_conf_size_large "../firmware/critical/pieeprom-2019-07-15.bin"
|
||||
check_conf_size_large "../firmware/old/beta/pieeprom-2019-07-15.bin"
|
||||
cleanup
|
||||
|
||||
check_conf_size_too_large "../firmware/critical/pieeprom-2019-07-15.bin"
|
||||
check_conf_size_too_large "../firmware/old/beta/pieeprom-2019-07-15.bin"
|
||||
cleanup
|
||||
|
||||
Reference in New Issue
Block a user