Compare commits

...

259 Commits

Author SHA1 Message Date
Tim Gover
194960a023 Merge pull request #372 from timg236/rpi-eeprom-config-python3
rpi-eeprom-config: require python3
2021-10-07 13:10:22 +01:00
Tim Gover
28878ba2c5 rpi-eeprom-config: require python3
Require python3 instead of relying on all distros including
python-is-python3 etc.

The code will still work with python2 but distros which require
python2 will need to maintain that as a downstream patch.
2021-10-07 11:11:04 +01:00
Tim Gover
e049a0807f Merge pull request #371 from peterharperuk/fix_readme_url
Fix URLs in README
2021-10-07 10:24:07 +01:00
Peter Harper
51d7c9bb78 Fix URLs in README
These got broken by the recent doc update and the redirects to
raspberrypi.com don't seem to be correct
2021-10-06 17:57:31 +01:00
Tim Gover
b93a7569a3 pieeprom-2021-10-05: Update for latest Broadcom SDRAM settings - BETA
* Minor update for latest SDRAM tuning settings.
2021-10-05 09:17:11 +01:00
Tim Gover
cc347ddaa2 Merge pull request #369 from timg236/pieeprom-2021-10-04
pieeprom-2021-10-04: Add support for GPT FAT16 and increase USB timeouts - BETA
2021-10-04 17:08:14 +01:00
Tim Gover
c297ba744c pieeprom-2021-10-04: Add support for GPT FAT16 and increase USB timeouts - BETA
* 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.
2021-10-04 15:29:53 +01:00
Tim Gover
7cae0129e0 Additional fix to beta recovery.bin 2021-09-27 16:26:45 +01:00
Tim Gover
650e255daf 2021-09-27 - Fix recovery.bin rename issue and EEPROM netconsole - BETA
* Fix recovery.bin rename issue
* Update pieeprom-2021-09-27.bin to fix netconsole
2021-09-27 15:20:10 +01:00
Tim Gover
504e18bb3a recovery.bin 2021-09-23 - Temporarily revert recovery.bin 2021-09-22
Revert until fix for can be verified https://github.com/raspberrypi/rpi-eeprom/issues/367
2021-09-27 12:57:36 +01:00
Tim Gover
4b5a46947e pieeprom-2021-09-23.bin: Bootloader file-system updates - BETA
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 suppport for loading signed boot image files.
  Requires updated GPU firmware.
2021-09-23 17:47:06 +01:00
Tim Gover
1fc1d40117 Merge pull request #363 from timg236/recovery-22-09-2021-stable
Promote 22/09/2021 beta recovery.bin to stable
2021-09-23 15:39:47 +01:00
Tim Gover
7e6a961a24 Promote 22/09/2021 beta recovery.bin to stable 2021-09-23 10:08:58 +01:00
Tim Gover
953a7fe05f Merge pull request #362 from timg236/recovery-update-beta
recovery.bin: Fix recovery.bin loading on larger FAT partitions - BETA
2021-09-22 17:37:30 +01:00
Tim Gover
7208a1ca0f recovery.bin: Fix recovery.bin loading on larger FAT partitions - BETA 2021-09-22 16:41:03 +01:00
Tim Gover
cc38b35bbe Merge pull request #358 from lurch/patch-1
Update documentation link
2021-09-01 15:15:26 +01:00
Andrew Scheller
ffda73b9cd Update documentation link 2021-09-01 15:02:01 +01:00
Tim Gover
8dac90ae9a Update bug_report.md 2021-08-10 12:00:17 +01:00
Tim Gover
f7d7a9c8a6 Update bug_report.md 2021-08-10 11:59:52 +01:00
Tim Gover
6a47bc4900 Update bug_report.md 2021-08-10 11:59:23 +01:00
Tim Gover
eae21cbae3 Merge pull request #353 from tmm1/patch-1
Fix typo
2021-07-15 22:54:06 +01:00
Aman Gupta Karmani
75216fb64c Fix typo 2021-07-14 15:05:43 -07:00
Tim Gover
f19990103e pieeprom-2021-07-06: Promote to STABLE
Promote the latest beta release to stable which notably adds
NVMe boot support for CM4.
2021-07-07 11:33:46 +01:00
Tim Gover
45accca3dc pieeprom-2021-07-06 - Tidyup PXE debug strings - BETA
* Remove redundant debug string - hexdump is more useful for debug.
* Minor internal changes for manufacturing test.
2021-07-06 14:06:46 +01:00
Tim Gover
5d70742580 pieeprom-2021-06-25 - Support 256MB gpu_mem with boot.img ramdisk - BETA
* Tweak the address map so that boot.img files can support
  larger GPU memory allocations e.g. start4x.elf with camera
  loaded from a boot.img.
2021-06-25 13:55:34 +01:00
Tim Gover
cecc46f687 pieeprom-2021-06-17 CM4 avoid touching PCIe - BETA
* 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.
2021-06-18 10:18:10 +01:00
Tim Gover
4b7fcc65e9 pieeprom-2021-06-11 - Add USB_MSD_STARTUP_DELAY
* 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.
2021-06-11 14:54:46 +01:00
Tim Gover
949e9c49f8 Merge pull request #343 from waveform80/ignore-non-pi
Add a test to cause the script to exit cleanly on non-Pi hardware
2021-06-11 11:51:18 +01:00
Tim Gover
1dab88d0d0 Merge pull request #342 from waveform80/remove-vcmailbox
Remove redundant vcmailbox reference
2021-06-11 11:47:53 +01:00
Dave Jones
71ef83abbc Add a test to cause the script to exit cleanly on non-Pi hardware
At present, the update script exits cleanly in the case it finds itself
run on Pi hardware prior to the 4/CM4/400, but if installed on non-Pi
hardware exits with various slightly cryptic errors (missing vcgencmd
and some subsequent math errors from trying to bit-shift the empty
BOARD_INFO variable).

This patch adds a similar exit to the non-Pi 4 case, with a slightly
more useful message.
2021-06-10 10:04:13 +01:00
Dave Jones
6a310b5d4d Remove redundant vcmailbox reference
The vcmailbox binary is no longer used (like flashrom), hence there's little point in keeping the configuration variable for it
2021-06-09 17:48:09 +01:00
Tim Gover
34aa94bdd2 Merge pull request #337 from timg236/pieeprom-2021-05-19
Pieeprom 2021 05 19
2021-05-20 14:12:11 +01:00
Tim Gover
48864f3d1f pieeprom-2021-05-19 - Use latest BRCM SDRAM setting
* 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-05-19 17:51:24 +01:00
Tim Gover
503f1c0055 rpi-eeprom-update: Display a warning when the bootloader is downgraded
Display a warning if the bootloader version is downgraded. This can
happen when swapping boot-media and the bootloader configuration is
changed from an OS with an old version of the rpi-eeprom package.

Remove the duplicated "update pending" and "to cancel update" messages.
2021-05-17 15:21:29 +01:00
Tim Gover
f7402923bc Merge pull request #331 from lurch/patch-1
Typos and wording tweaks
2021-05-04 16:34:15 +01:00
Tim Gover
34b752e8be Update imager-release to 2021-04-29 2021-04-30 11:24:31 +01:00
Tim Gover
90daaae301 pieeprom-2021-04-29: Update default release to this image 2021-04-30 10:02:10 +01:00
Tim Gover
e6107348e0 pieeprom-2021-04-29.bin - Pi400 MII clock freq - STABLE 2021-04-29 17:23:56 +01:00
Andrew Scheller
650e942947 Typos and wording tweaks 2021-04-24 02:39:43 +01:00
Tim Gover
53f121d651 Merge pull request #329 from andrum99/patch-5
rpi-eeprom-update: up-to-date -> up to date
2021-04-22 09:09:36 +01:00
andrum99
89a68bc405 rpi-eeprom-update: up-to-date -> up to date
This is only meant to be hyphenated when used as a compound adjective, which is not the case here. See https://www.thewriter.co.uk/tools/style-guide/punctuation/hyphens#:~:text=When%20it%20comes%20after%20the,up%2Dto%2Ddate%20document.
2021-04-21 16:59:35 +01:00
Tim Gover
f3b402d7e6 Merge pull request #319 from timg236/pieeprom-2021-03-18-default
2021-03-18 - Promote 2021-03-18 to default/critical release
2021-04-19 14:11:55 +01:00
Tim Gover
45800f00c7 2021-04-19 - Promote 2021-03-18 to the default/critical release
Interesting changes since the last default release:-
   * 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 of there is only one device
   * Implement tryboot for OS upgrade fallback
   * Check the update-timestamp before applying an update in SELF-UPDATE mode
   * Update recovery.bin to 2021-04-13 release for error pattern fix
     on SDRAM failure.
2021-04-19 14:07:27 +01:00
Tim Gover
e5d73dc857 recovery.bin: Fix error pattern handling for HDMI/SDRAM failures 2021-04-14 14:47:59 +01:00
Tim Gover
b6d1893973 recovery.bin: Fix error pattern 2021-04-14 14:46:29 +01:00
Tim Gover
85425c0806 Update README.md 2021-03-30 08:45:50 +01:00
Tim Gover
053f8483af Merge pull request #325 from lurch/patch-1
Fix typos in test script
2021-03-29 19:42:33 +01:00
Andrew Scheller
7c26d67583 Fix typos in test script 2021-03-29 19:06:46 +01:00
Tim Gover
1e0be05d6e Merge pull request #321 from timg236/min-version
rpi-eeprom-update: Set a minimum version number for silent updates
2021-03-25 16:57:49 +00:00
Tim Gover
a4d7bdbef0 rpi-eeprom-update: Specifiy a minimum version number for automatic updates
Add a new flag '-s' which init scripts should specify to indicate that
the bootloader is running silently to do an automatic update. If '-s'
is specified and the 'default' release is specified then the bootloader
is only updated if it is older than the minimum version number specified
within this script.
This allows the default release to be updated to support new hardware
without forcing updates for existing users. However, if the
configuration is updated then the latest release should be used.

E.g. If network boot is selected via raspi-config or the Raspberry Pi
Imager then it's desirable to get the latest production release to
benefit from any bug fixes. However, a bootloader updated to support
new hardware (e.g. CM4) should not require Pi4B users to to upgrade
their bootloader.

The min-version is set to pieeprom-2020-09-03.
2021-03-25 14:24:17 +00:00
Tim Gover
587683e8e5 test: Extend loopback test to cover old beta releases.
Also copy the current beta releases into old for a bit more test coverage.
2021-03-24 09:37:21 +00:00
Tim Gover
953c9fea43 Merge pull request #320 from andrum99/patch-1
releases.md: improve page title, add missing full stops
2021-03-23 14:17:24 +00:00
andrum99
2e0801a4da releases.md: improve page title, add missing full stops 2021-03-23 14:02:55 +00:00
Tim Gover
8113d3f8a0 Update releases.md 2021-03-23 10:09:20 +00:00
Tim Gover
303c2e110d Update README.md 2021-03-22 08:20:22 +00:00
Tim Gover
3408d368e3 Update README.md 2021-03-22 08:18:14 +00:00
Tim Gover
4e51d9a735 Merge pull request #317 from timg236/pieeprom-2021-03-18
pieeprom-2021-03-18 Fix reboot issue on older Pi 4B boards - STABLE
2021-03-18 13:33:39 +00:00
Tim Gover
ff27ccf694 pieeprom-2021-03-18 Fix reboot issue on older Pi 4B boards - STABLE 2021-03-18 09:33:05 +00:00
Tim Gover
26366bb378 Merge pull request #314 from peterharperuk/bridge-fix
pieeprom-2021-03-17.bin - Fix problem with PCIe bridges - BETA
2021-03-17 13:18:30 +00:00
Peter Harper
a1e86f1350 pieeprom-2021-03-17.bin - Fix problem with PCIe bridges - BETA 2021-03-17 12:13:32 +00:00
Tim Gover
bc5fba23cb remove +x bit on beta recovery.bin and 2021-04-03 release 2021-03-12 20:37:20 +00:00
Tim Gover
5579d39ab0 Merge pull request #310 from lurch/make_beta
Add make-beta-release as a wrapper around make-release
2021-03-10 19:13:06 +00:00
Andrew Scheller
7589fbf981 Allow a custom firmware_status to be set via env-var 2021-03-10 16:56:47 +00:00
Andrew Scheller
6b1851750a Add make-beta-release as a wrapper around make-release 2021-03-09 19:18:43 +00:00
Tim Gover
2971da10ee Merge pull request #309 from peterharperuk/nvme_bootloader
pieeprom-2021-03-04.bin - NVMe boot support - BETA
2021-03-09 17:02:33 +00:00
peter.harper
c5fea074c1 pieeprom-2021-03-04.bin - NVMe boot support - BETA 2021-03-09 16:29:38 +00:00
Tim Gover
71a6049b2b Merge pull request #308 from lurch/imager_script_refactor
Refactor the imager script to reduce duplication and remove reliance on symlinks
2021-03-09 15:25:47 +00:00
Andrew Scheller
7880114040 Make make-release more flexible, and add make-imager-release as a wrapper script around it 2021-03-05 16:21:33 +00:00
Andrew Scheller
869c14518b Refactor the imager script to reduce duplication and remove reliance on symlinks 2021-03-05 13:45:16 +00:00
Tim Gover
b9955dba91 Add recovery.bin to make-release
It won't work without it!
2021-03-05 13:38:49 +00:00
Tim Gover
2c46b979dc Merge pull request #307 from lurch/patch-1
Typos
2021-03-05 13:36:48 +00:00
Andrew Scheller
26c4f2b3da Typos 2021-03-05 12:35:19 +00:00
Tim Gover
0dfc9dc8e5 Merge pull request #306 from timg236/make-release
make-release: Add a script for generating Raspberry Pi Imager releases
2021-03-05 10:40:50 +00:00
Tim Gover
3b952e996a make-release: Add a script for generating Raspberry Pi Imager releases
Create an EEPROM update zip files for use with the Raspberry Pi Imager.
The Raspberry Pi Imager JSON will soon be updated to support the 3
different boot priority choices offered by raspi-config.
2021-03-04 15:24:53 +00:00
Tim Gover
8c9c14526d Revert "rpi-eeprom-update: Use 'tr' instead of 'strings'"
This reverts commit 9a2aede8034aab0bfb050b481d422fddb5c25683.
2021-02-26 14:06:29 +00:00
Tim Gover
dcd114f8fd Revert "rpi-eeprom-update: Surround [:print:] with quotes"
This reverts commit f14fc0f8f6974129ffccc0d5b85e04a1ec96399b.
2021-02-26 14:06:29 +00:00
Tim Gover
6265c773e7 Remove SPI_SPEED variable now that flashrom has been removed. 2021-02-24 14:04:23 +00:00
timg236
738ac4b432 Merge pull request #302 from vianpl/no-binutils
rpi-eeprom-update: Surround [:print:] with quotes
2021-02-24 14:02:46 +00:00
Nicolas Saenz Julienne
73c91317ca rpi-eeprom-update: Surround [:print:] with quotes
It seems that [:print:] could be substituted by rogue shells[1], so
surround it with quotes to make sure it doesn't happen. Use single
quotes as they are the most constraining kind. All in all, this change
should be harmless.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
[1] https://github.com/raspberrypi/rpi-eeprom/pull/298#issuecomment-784542905
2021-02-24 13:09:59 +01:00
timg236
d642c795a7 Merge pull request #298 from vianpl/no-binutils
rpi-eeprom-update: Use 'tr' instead of 'strings'
2021-02-22 11:47:11 +00:00
timg236
0294cdec42 Merge pull request #300 from timg236/pieeprom-2021-02-16-latest
pieeprom-2021-02-16: Promote to STABLE
2021-02-22 11:25:05 +00:00
Tim Gover
1b937edc4b pieeprom-2021-02-16: Promote to STABLE
Promote the pieeprom-2021-02-16 release to stable/latest.
2021-02-22 10:38:08 +00:00
Nicolas Saenz Julienne
b760758c5e rpi-eeprom-update: Use 'tr' instead of 'strings'
The 'strings' utility is installed by binutils whereas 'tr' belongs with
coreutils. Minimal systems will only contain the latter, due to binutils'
size (20-50 MB). So, convert all uses of 'strings' to 'tr' so as to
avoid the package dependency.

The second 'tr' usage converts non-ASCII characters into newlines so as
to isolate the "BUILD_TIMESTAMP=1234567890" statement (similar to what
'strings' does). There is no need for this in the first one: non-ASCII
characters are simply discarded as DT aliases have a fixed one line
format.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
2021-02-19 10:45:46 +01:00
Tim Gover
3129546271 pieeprom-2021-02-16: Change VC version info & TFTP ACK fix BETA 2021-02-16 14:58:11 +00:00
timg236
d9ed0cd680 Merge pull request #296 from timg236/tim/move_vl805_to_old
vl805: Move to old following removal of USE_FLASHROM option
2021-02-16 13:23:11 +00:00
Tim Gover
3e03056215 vl805: Move to old following removal of USE_FLASHROM option
Move to to the old directory now that it's no longer referenced by rpi-eeprom-update.

Add a dependency check for 'lspci' which is normally provided by
pciutils or busybox and remove the failover to the vl805 helper.

Tweak the failure messages for missing dependencies to be slightly less
OS specific.
2021-02-15 20:57:48 +00:00
timg236
2fec47bd7f rpi-eeprom-update: Expand help to describe CM4 bootloader updates (#293)
Add some brief documentation about CM4 bootloader updates and provide
links to the full documentation.
2021-02-12 08:53:32 +00:00
timg236
cfc700e2f7 Merge pull request #283 from timg236/tim/remove-flashrom
rpi-eeprom-update: Remove deprecated flashrom script options.
2021-02-10 19:29:00 +00:00
Tim Gover
7da4173852 rpi-eeprom-update: Remove deprecated flashrom script options.
The muxing of the SPI EEPROM and analog audio pins makes flashrom
usage unreliable and having two flashing mechanisms adds unnecessary
complexity to this script.

The bootloader supports EEPROM updates from USB-MSD, Network
and rpiboot there is no real need to support flashrom within this
utility. Therefore, the option to use flashrom can be removed from this
script.
2021-02-10 19:26:06 +00:00
timg236
9de028aad2 Merge pull request #291 from vianpl/plat-check
rpi-eeprom-config/update: Exit cleanly when not run on rpi4
2021-02-10 15:02:16 +00:00
Nicolas Saenz Julienne
6fe6f22bad rpi-eeprom-config/update: Exit cleanly when not run on rpi4
Some users might forcibly install this on a board that isn't an rpi4.
Exit early, and explain why the program can't be run.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
2021-02-09 15:22:52 +01:00
timg236
3d6165304c Merge pull request #290 from timg236/raspi_config
rpi-eeprom-update: Reference raspi-config from version message
2021-01-29 18:26:12 +00:00
Tim Gover
5f0de19aee rpi-eeprom-update: Reference raspi-config from version message
Update the human readable version of the version information to indicate
that raspi-config may be used to change the release type.
raspi-config can be replaced with other program names if necessary.
2021-01-29 08:04:24 +00:00
timg236
b9c255df58 Merge pull request #288 from vianpl/blconfig-fixes
rpi-eeprom-config: Properly decode sysfs binary files
2021-01-26 12:26:29 +00:00
Nicolas Saenz Julienne
eeb4a19c7f rpi-eeprom-config: Properly decode sysfs binary files
The previous implementation was reading the sysfs files as plain text
and encoding them as 'ascii' to remove all the trailing zeros. This is
wrong twofold. To start with, the sysfs file we're querying are binary
files[1], and we're reading it as a string. On top of that we're
benefiting that *some* python implementations of string.encode() will
deal with trailing zeros.

Fix this by marking the files as binary and decoding them as strings
before consuming them.

[1] sysfs files are generally text based, but there is also the option
to output binary data. Our configuration file does the later.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
2021-01-26 13:05:43 +01:00
timg236
3ae6694fbb Merge pull request #284 from vianpl/blconfig_nvmem
rpi-eeprom-update: Get bootloader configuration from DT
2021-01-24 16:19:41 +00:00
Nicolas Saenz Julienne
2aa97029fd rpi-eeprom-update: Get bootloader configuration from DT
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
2021-01-22 19:20:22 +01:00
timg236
7cb9d4162f Merge pull request #280 from timg236/tim/sd_1v8
pieeprom-2021-01-16: Fix SD 1V8 reset - LATEST + BETA
2021-01-16 14:45:41 +00:00
Tim Gover
9b74ec49a1 pieeprom-2021-01-16: Fix SD 1V8 reset - LATEST + BETA 2021-01-16 14:32:30 +00:00
Tim Gover
54cadc816b Promote pieeprom-2021-01-11 to STABLE (LATEST) 2021-01-14 11:00:33 +00:00
Tim Gover
a95ecf9355 rpi-eeprom-update: Update docs and default ENV for release names
Change default FIRMWARE_RELEASE_STATUS variable to 'default' rather
than 'critical'.

Update the built in help for new release names which align the
rpi-eeprom release names with raspi-config documentation.
2021-01-13 09:52:56 +00:00
Tim Gover
690872a3ca rpi-eeprom-update: Add trailing / so find follows the FW symlink 2021-01-12 16:44:31 +00:00
Tim Gover
4b17575e83 pieeprom-2021-01-11: Timeout stalled USB MSD devices - BETA 2021-01-11 17:17:35 +00:00
Tim Gover
92c048b90c rpi-eeprom-update: Add default/latest symlinks to reflect raspi-config naming 2021-01-11 17:08:01 +00:00
timg236
2318f44baa Merge pull request #273 from timg236/tim/dt-version
rpi-eeprom-update: Get bootloader build-timestamp from device-tree
2021-01-09 09:40:59 +00:00
Tim Gover
289befb382 rpi-eeprom-update: Get bootloader build-timestamp from device-tree 2021-01-09 09:38:31 +00:00
Tim Gover
b481076132 Merge pull request #271 from lurch/patch-1
typo
2021-01-07 17:35:37 +00:00
Andrew Scheller
0d3ac86cc3 typo 2021-01-07 00:50:30 +00:00
Tim Gover
e9ec8adfd8 Merge pull request #270 from andrum99/patch-1
release-notes.md: label 2020-01-05 release as BETA
2021-01-06 19:10:45 +00:00
andrum99
868efb3ad1 release-notes.md: label 2020-01-05 release as BETA 2021-01-06 18:15:26 +00:00
Tim Gover
ab3bcf0dae pieeprom-2021-01-05: USB MSD interoperability improvements for Pi 4B < R1.4 2021-01-05 16:54:43 +00:00
Tim Gover
54a9796abb Promote pieeprom-2020-12-11 release from beta to stable 2020-12-14 11:42:52 +00:00
Tim Gover
80fd3016d0 pieeprom-2020-12-11: CM4/PI400 conditional filters - BETA 2020-12-11 11:21:45 +00:00
Tim Gover
361f4703fd Update bug_report.md 2020-12-11 10:04:37 +00:00
Tim Gover
008b0962f5 Update bug_report.md 2020-12-11 10:01:07 +00:00
Tim Gover
f6d2fd7312 Update bug_report.md 2020-12-11 09:58:38 +00:00
Tim Gover
7982134b18 Update bug_report.md 2020-12-11 09:55:19 +00:00
Tim Gover
3702e706af pieeprom-2020-11-24: Enable booting from BCM2711 XHCI controller - BETA 2020-11-24 15:31:05 +00:00
Tim Gover
1443b30f52 Merge pull request #256 from timg236/tim/master
rpi-eeprom-config: Change --edit to use the current EEPROM config
2020-11-16 16:05:49 +00:00
Tim Gover
d5c564d47c rpi-eeprom-config: Change --edit to use the current EEPROM config
Always use the current EEPROM configuration unless there is an
update pending in which case use that to support incremental edits.

Update help and update message to indicate that
'sudo rpi-eeprom-update -r'
may be used to cancel a pending update.

Fix a few comments
2020-11-15 21:36:09 +00:00
Tim Gover
b3e45cb7b0 Merge pull request #254 from MishterKirby/patch-1
Update release-notes.md
2020-11-15 18:47:14 +00:00
Sebastian Rivera
398534b04e Update release-notes.md 2020-11-11 10:48:47 -06:00
Sebastian Rivera
2f2910472f Update release-notes.md 2020-11-11 10:15:31 -06:00
Tim Gover
13b0bb602e Merge pull request #252 from MishterKirby/patch-1
Update release-notes.md
2020-11-10 18:19:44 +00:00
Sebastian Rivera
2fb94103ae Update release-notes.md 2020-11-10 12:17:03 -06:00
Sebastian Rivera
64b747495e Update release-notes.md
Fixed typo
2020-11-07 14:45:47 -06:00
Tim Gover
27ba1c582a Merge pull request #248 from andrum99/patch-1
Release notes: mark 2020-10-28 as beta
2020-11-06 17:51:12 +00:00
andrum99
499ea81f9e Update release-notes.md 2020-11-02 17:52:11 +00:00
Tim Gover
16bb29427f Merge pull request #246 from timg236/tim/pieeprom-2020-10-28
pieeprom-2020-10-28: Defer HDMI diagnostics display, update-timestamp…
2020-10-28 19:12:14 +00:00
Tim Gover
ee2e650332 pieeprom-2020-10-28: Defer HDMI diagnostics display, update-timestamps, tryboot support 2020-10-28 19:00:24 +00:00
Tim Gover
0125155f9d Merge pull request #245 from lurch/patch-1
typos
2020-10-28 09:50:56 +00:00
Andrew Scheller
435da0f3cb typos 2020-10-28 09:47:50 +00:00
Tim Gover
7f054d6700 Merge pull request #244 from timg236/update_timestamp
Add the timestamp of the update to the pieeprom.sig file.
2020-10-28 07:47:38 +00:00
Tim Gover
7612907337 Add the timestamp of the update to the pieeprom.sig file.
Add the timestamp to pieeprom.sig for use with a future bootloader
update.

This is not relevant for the VL805 firmware because it is not
configurable.
2020-10-28 07:40:59 +00:00
Tim Gover
f24abcd305 Merge pull request #238 from timg236/tim/pkg_info
Only check package checksums on systems with package checksums
2020-10-20 17:18:39 +01:00
Tim Gover
b1ed98c779 rpi-eeprom-update: Skip checksums if there is no dpkg info directory 2020-10-20 16:49:36 +01:00
Tim Gover
2730572da2 rpi-eeprom-update: Fix shellcheck warnings 2020-10-20 16:49:36 +01:00
Tim Gover
718820bceb rpi-eeprom-config: Use decode('utf-8') to convert subprocess txt
This matters on Python3 but not on Python2
2020-10-05 19:35:12 +01:00
Tim Gover
84e4615814 rpi-eeprom-config: Update help for --edit
Add -E to sudo in the example to preserve the environment.

Remove the redundant escaping of single quotes now that the help is
enclosed in triple quotes.
2020-10-04 09:55:16 +01:00
Tim Gover
b0066b091e Merge pull request #229 from timg236/rpi_eeprom_config_apply
Update rpi-eeprom-config to provide wrap simple interactive and non-interactive update opertions
2020-10-02 09:21:46 +01:00
Tim Gover
d34f62ee3d rpi-eeprom-update: Move .bin filter for checksums into subshell
Move all package checksum related operations to the subshell and check
the old rpi-eeprom-images packages if rpi-eeprom contains no .bin
files.
The rpi-eeprom-config --edit and --apply option passes the -i flag so
checksums should have been skipped anyway.
2020-10-01 20:07:53 +01:00
Tim Gover
e63f3dcfc3 Require 'sudo' for --edit or --apply instead of spawing sudo command 2020-09-30 11:44:10 +01:00
Tim Gover
6ab4179bae rpi-eeprom-config: Trap errors when deleting previous update files 2020-09-29 10:35:34 +01:00
Tim Gover
5ab94e88f2 rpi-eeprom-config: Update --edit to read config from pending updates
Use the config from the pending update if there is one so that it's
possible to make multiple edits before rebooting.
2020-09-28 10:41:20 +01:00
Tim Gover
b6c6b03add rpi-eeprom-update: Add -b flag to output BOOTFS path
Add an API for external scripts to safely determine which the directory
the EEPROM image update files will be written to.
2020-09-28 10:41:20 +01:00
Tim Gover
ca647a6b90 Fix doc comments and ignore package checksums 2020-09-28 10:41:20 +01:00
Tim Gover
ccd8444501 Implement review comments
Update --apply --edit to allow the eeprom image to be specified.
Add some error checking around chmod in rpi-eeprom-update

TODO: Test this on NFS
2020-09-28 10:41:20 +01:00
Tim Gover
55ece6bab5 rpi-eeprom-config: Add --edit for interactive editor style operation 2020-09-28 10:41:20 +01:00
Tim Gover
1fe54409b8 rpi-eeprom-config: Add new option to apply config and update in one operation
* Add -a/--apply parameter which provides a one shot image for applying
  a new configuration to the latest bootloader image and installs it
  via rpi-eeprom-update.
* Print the live configuration if no arguments are specified.
* Add short flags instead of requiring verbose names.
* Make the errors more human readable instead of Exceptions
2020-09-28 10:41:20 +01:00
Tim Gover
a554034c1d rpi-eeprom-update: Add -l option to resolve the latest bootloader image
Add the -l option to return the latest bootloader EEPROM image. This
will be used by rpi-eeprom-config to provide a more convenient mechanism
for quick config changes.
2020-09-28 10:41:20 +01:00
Tim Gover
29fe479af9 rpi-eeprom-update: Restrict package checksums to EEPROM images.
Only check EEPROM image binaries because it's annoying if
rpi-eeprom-update errors due to the release notes or the script
changing.
2020-09-28 10:41:20 +01:00
Tim Gover
8d4af8db97 rpi-eeprom-update: Use multiple sources for BOARD_INFO
Try device-tree, then cpuinfo and failing that raw OTP.
2020-09-28 10:37:15 +01:00
Tim Gover
1a099a5a9d Archive 2020-08-31 and 2020-09-02 beta releases.
Move these out of the directories selected by APT now that 2020-09-03
is the default release.
Preserve the releases which were promoted to stable in-case these are
referenced via scripts.
2020-09-14 08:58:35 +01:00
Tim Gover
d246201eb5 Update README.md
Indicate that we mean the USB XHCI controller when we say VLI
2020-09-14 08:51:48 +01:00
Tim Gover
a0302ef004 Update releases.md 2020-09-14 08:49:43 +01:00
Tim Gover
fae9021057 Merge pull request #224 from timg236/tim/pieeprom-2020-09-03-default
pieeprom-2020-09-03: Promote latest stable to default/critical
2020-09-14 08:38:01 +01:00
Tim Gover
9cff16af0c pieeprom-2020-09-03: Promote latest stable to default/critical
Promote the latest stable release of the bootloader, VLI EEPROMs
and recovery.bin to the default (critical update) release.
2020-09-11 09:44:06 +01:00
Tim Gover
0512377e94 Update releases.md 2020-09-07 11:36:29 +01:00
Tim Gover
09f77ad9fa Promote pieeprom-2020-09-03 to STABLE 2020-09-07 09:12:16 +01:00
Tim Gover
b887a0bfa9 pieeprom-2020-09-03.bin - Fix filename 2020-09-04 11:40:09 +01:00
Tim Gover
3ef8633f03 Merge pull request #219 from lurch/patch-1
Add BETA label to release notes
2020-09-03 22:19:26 +01:00
Andrew Scheller
a1da3ac15c Add BETA label to release notes
...for consistency.
2020-09-03 21:56:24 +01:00
Tim Gover
65037b76bf Merge pull request #218 from mackyle/master
rpi-eeprom-update: avoid any possible od accidents
2020-09-03 20:20:01 +01:00
Kyle J. McKay
28153db403 rpi-eeprom-update: avoid any possible od accidents
This command pipeline:

  printf '00000000000000000000000000000000' | od -An -t x1 | tr -d ' '

produces this output:

  30303030303030303030303030303030
  *

Add a `-v` to od and a `\n` to the tr arg like so:

  printf '00000000000000000000000000000000' | od -v -An -t x1 | tr -d ' \n'

to instead produce this output:

  3030303030303030303030303030303030303030303030303030303030303030

Although it's unlikely that the revision value would generate multiple
lines or contain duplicate lines, it's better to be safe than sorry
especially since the changes to do so do not introduce any extra overhead
and use only POSIX-specified options/arguments.

It's also possible this code fragment could be copied and pasted elsewhere
to provide a "hexdump" of something that might be expected to generate
multiple lines and which may potentially contain duplicates.  By fixing
the code here any breakage caused by such copying and pasting is avoided.

Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
2020-09-03 11:37:28 -07:00
Tim Gover
e9445dfa44 pieeprom-2020-09-02: Simplify green activity LED behavior
Disable flashing due to LED activity to make flashing error
patterns clearer.
2020-09-03 13:16:13 +01:00
Tim Gover
73e845de28 Use od instead of hexdump to simplify package dependencies 2020-09-03 13:08:12 +01:00
Tim Gover
c697a4aace Merge pull request #212 from brookst/fix-211
Fix #211 - hexdump error on older Pi models
2020-09-02 07:08:25 +01:00
Tim Brooks
18d50d52ca Fix #211 - hexdump error on older Pi models 2020-09-01 23:19:01 +01:00
Tim Gover
3cdd464d99 Merge pull request #209 from timg236/tim/pieeprom-2020-08-31
pieeprom-2020-08-31 - Disable self update mode from SD cards
2020-08-31 12:25:54 +01:00
Tim Gover
434224f9ed Merge pull request #208 from hvenev/board-revision-from-dt
rpi-eeprom-update: Upstream kernel fix
2020-08-31 12:22:52 +01:00
Tim Gover
279eef4777 pieeprom-2020-08-31 - Disable self update mode from SD cards 2020-08-31 11:30:55 +01:00
Hristo Venev
eea80bc4ab rpi-eeprom-update: Upstream kernel fix
Upstream kernels do not list the board revision in /proc/cpuinfo. Get it
from the device tree instead.
2020-08-20 13:15:32 +03:00
Tim Gover
1a44b13308 Merge pull request #205 from andrum99/patch-3
Update README.md
2020-08-17 09:01:10 +01:00
andrum99
366e868e2d Update README.md 2020-08-16 18:02:37 +01:00
Tim Gover
8181a87b2c Update README.md
Removed the BUG information now that the mandatory bug template requests all of this information.

Now that netboot and USB MSD are no longer beta make this less prominent because users not familiar with Pi4 firmware should not be directed straight towards beta releases which might not work with their current OS
2020-08-16 16:43:13 +01:00
Tim Gover
e7c22e2ee0 Update releases.md 2020-08-12 15:03:06 +01:00
Tim Gover
ac297ecae7 Update link to latest stable release 2020-08-12 10:05:43 +01:00
Tim Gover
0e7da7ecd8 Promote beta 2020-07-31 to stable 2020-08-10 12:49:13 +01:00
Tim Gover
f161ef369b Merge pull request #193 from lurch/patch-1
Typos
2020-08-03 11:29:57 +01:00
Andrew Scheller
456a55122b Typos 2020-08-03 11:28:41 +01:00
Tim Gover
d7b1a49a83 pieeprom-2020-07-31.bin - Standardize USB port power off across Pi4 models 2020-07-31 17:13:50 +01:00
Tim Gover
8e9aca34ae Rename .config.yml to config.yml 2020-07-24 08:51:38 +01:00
Tim Gover
a5794dde78 rpi-eeprom-update: Set file permissions on the EEPROM update files
Normally BOOTFS is a local FAT partition but with NFS it's possible
that the NFS mount of /boot is not setup to have the equivalent
permissions as /boot. Set the .upd,.sig files to be readable by
all users to to avoid the case where the file is visible to root on the
Pi but is not readable by the TFTP daemon on the server.
2020-07-21 16:08:22 +01:00
Tim Gover
bb2fcf63f8 Update releases.md 2020-07-20 13:19:43 +01:00
Tim Gover
42ae155d1a Update releases.md 2020-07-20 13:19:24 +01:00
Tim Gover
8312e86e35 recovery.bin - Update beta/stable after rebase
No other changes, just use the same build id.
2020-07-20 11:12:43 +01:00
Tim Gover
ac0cf15bac pieeprom-2020-07-16.bin - Promote to STABLE 2020-07-20 11:01:41 +01:00
Tim Gover
3325de5b9a pieeprom-2020-07-16 - Fix CM4 startup issue 2020-07-16 16:26:14 +01:00
Tim Gover
dd15621c8a Change "update required" message to "update available"
Originally, rpi-eeprom-update was only for critically important
security or hardware compatibility requirements. Change the
text of rpi-eeprom-update to indicate that an update is available
rather than being required.
N.B. The systemd service runs with the -a flag which automatically
applies available updates because most users just use the release
folder which is only updated for major/critical updates.
2020-07-16 12:03:52 +01:00
Tim Gover
940ac7c0e8 pieeprom-2020-07-16: VL805 0138A1 plus optional EEPROM write protect 2020-07-16 11:46:50 +01:00
Tim Gover
befe05b42a Merge pull request #179 from outmatic/master
correct date
2020-07-08 10:41:12 +01:00
Alessandro Petrelli
6aa5d03e26 correct date 2020-07-08 11:37:12 +02:00
Tim Gover
16ad44285f Merge pull request #176 from timg236/tim/cm4_rpieeprom_update
Disable rpi-eeprom-update by default on CM4
2020-07-07 14:41:04 +01:00
Tim Gover
b2e2818b28 Disable rpi-eeprom-update by default on CM4 2020-07-07 11:50:32 +01:00
Tim Gover
140bd3a396 Fix release notes title 2020-07-07 10:59:06 +01:00
Tim Gover
4dbd7b9d07 pieeprom-2020-07-06 - BETA - Tweak USB port power and clear ACT LED after SPI 2020-07-06 21:11:09 +01:00
Tim Gover
008d50610a Merge pull request #175 from golddranks/fix/portability_use_env
Use /usr/bin/env python to make rpi-eeprom-config more portable
2020-07-06 19:27:02 +01:00
Pyry Kontio
5ae98cbbac Use /usr/bin/env python to make rpi-eeprom-config more portable 2020-07-06 13:51:44 +09:00
Tim Gover
9342fdb2ab Merge pull request #169 from waveform80/checksums
Query checksums from rpi-eeprom instead of rpi-eeprom-images
2020-06-24 21:58:27 +01:00
Dave Jones
bd7957d353 Query checksums from rpi-eeprom instead of rpi-eeprom-images 2020-06-24 20:38:05 +01:00
Tim Gover
7cd63f9d3c Update releases.md 2020-06-24 13:41:41 +01:00
Tim Gover
b18780e0d0 Merge pull request #165 from RaspberryPiFan/patch-1
Fix a link
2020-06-23 08:15:01 +01:00
RaspberryPiFan
de7a26a354 Fix a link 2020-06-23 08:16:54 +02:00
Tim Gover
2a8c2e77c3 Fix date in release notes see #158 2020-06-17 15:16:20 +01:00
Tim Gover
29408f7c17 Update bug_report.md 2020-06-17 14:51:39 +01:00
Tim Gover
a921fdecf4 Feature requests
Requiring discussion on the forums first to avoid duplication and give other OS maintainers the opportunity to pitch in.
2020-06-17 14:04:05 +01:00
Tim Gover
92f194b4b8 Merge pull request #158 from timg236/tim/pieeprom-2020-06-15-stable
Promote 2020-06-16 to STABLE
2020-06-17 09:34:55 +01:00
Tim Gover
fab8f9e7d8 Promote 2020-06-16 to STABLE 2020-06-17 09:33:31 +01:00
Tim Gover
4731bda900 Update MSD beta to 2020-06-15 2020-06-15 17:17:58 +01:00
Tim Gover
8c5e0e1d1c Merge pull request #156 from timg236/tim/pieeprom-2020-06-15
pieeprom-2020-05-15 Tweak toggling of USB port power at boot - BETA
2020-06-15 14:51:23 +01:00
Tim Gover
c5d49eec83 pieeprom-2020-06-15 Tweak toggling of USB port power at boot - BETA 2020-06-15 14:50:53 +01:00
Tim Gover
3c4ee02e6f Update releases.md 2020-06-12 14:31:27 +01:00
Tim Gover
b16109adec Update releases.md 2020-06-12 13:26:38 +01:00
Tim Gover
0dfedc07da Merge pull request #154 from timg236/tim/pieeprom-2020-06-12
pieeprom-2020-06-12 Improve support for powered USB SATA devices - BETA
2020-06-12 13:13:40 +01:00
Tim Gover
ad82caaf61 pieeprom-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-12 12:13:20 +01:00
Tim Gover
45935788fd github: Disable blank issues 2020-06-06 18:47:09 +01:00
Tim Gover
1f5912ed31 Merge pull request #146 from mackyle/master
rpi-eeprom-update: compare versions algebraically
2020-06-05 15:28:29 +01:00
Kyle J. McKay
4abaa46e1f rpi-eeprom-update: compare versions algebraically
Use `-lt` rather than `\<` so that, for example, this:

    [ 2 -lt 17 ]

is true (whereas with `\<` in place of `-lt` it's false).

Also change an `=` comparison to `-eq` to be technically correct.

Helped-by: Tim Gover <tim.gover@raspberrypi.org>
Helped-by: MilhouseVH <milhouseVH.github@nmacleod.com>
Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
2020-06-04 14:42:40 -07:00
Tim Gover
831af6efbe Merge pull request #148 from andrum99/patch-3
releases.md: typo, link, grammar fixes
2020-06-04 21:12:35 +01:00
andrum99
053776bb6f releases.md: typo, link, grammar fixes 2020-06-04 20:54:33 +01:00
Tim Gover
888410c81a Update bug_report.md 2020-06-04 18:44:25 +01:00
Tim Gover
dbd28e42bd Update releases.md 2020-06-04 15:20:22 +01:00
Tim Gover
93a8eee328 Update releases.md 2020-06-04 15:15:44 +01:00
Tim Gover
66fa760460 Merge pull request #143 from andrum99/patch-1
rpi-eeprom-update - fix description of -d flag
2020-06-03 19:07:26 +01:00
andrum99
beceaab7ae reword 2020-06-03 17:26:03 +01:00
andrum99
7cf2828046 Clarify -d option when EEPROM update not needed 2020-06-03 17:24:29 +01:00
andrum99
ed86d5e144 rpi-eeprom-update - fix description of -d flag 2020-06-03 17:13:33 +01:00
Tim Gover
064c9d7395 rpi-eeprom-update: Remove warning in -f section
The warning is only relevant in USE_FLASHROM mode
2020-06-03 15:36:14 +01:00
Tim Gover
eccbc1066d pieeprom-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-06-03 14:58:12 +01:00
Tim Gover
322568aa65 Create releases.md 2020-06-02 10:49:12 +01:00
Tim Gover
37e889cd68 Merge pull request #138 from lurch/patch-1
small typos
2020-06-01 09:31:48 +01:00
Andrew Scheller
0cfc72304e small typos 2020-05-29 12:57:07 +01:00
Tim Gover
493307c977 Merge pull request #137 from MilhouseVH/have_eeprom_json
include vl805 eeprom presence in machine output
2020-05-29 09:34:51 +01:00
MilhouseVH
40d608daaa include vl805 eeprom presence in machine output 2020-05-29 01:48:20 +01:00
Tim Gover
fd2ea72b26 rpi-eeprom-update: Update VL805 version check for boards without VL805 EEPROM
Newer board revisions do not have a dedicated VL805 EEPROM. Instead,
the VL805 firmware is loaded from the bootloader EEPROM.
Update the version check to ignore standalone VL805 update files
on boards without a dedicated VL805 EEPROM.
2020-05-28 08:19:30 +01:00
Tim Gover
be3efeae7c Merge pull request #135 from andrum99/patch-1
Update release-notes.md
2020-05-27 20:48:27 +01:00
andrum99
175232cad5 Update release-notes.md 2020-05-27 19:30:11 +00:00
Tim Gover
f257872c3c pieeprom-2020-05-27: Patch release with VL805 self-update fix 2020-05-27 18:51:28 +01:00
Tim Gover
c1a1e9b067 pieeprom-2020-05-27.bin - DPI fix
Also remove +x bit on pieeprom-2020-05-26
2020-05-27 13:22:15 +01:00
Tim Gover
e87bc4da8d pieeprom-2020-05-26.bin - USB MSD beta updates
* 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 15:13:45 +01:00
Tim Gover
7c181f40f2 rpi-eeprom-update: Update help for FIRMWARE_RELEASE_STATUS 2020-05-26 15:01:28 +01:00
Tim Gover
5fb23cfcb8 rpi-eeprom-update: Mark USE_FLASHROM as deprecated. 2020-05-26 10:25:40 +01:00
Tim Gover
21bd52daa0 rpi-eeprom-update: Change BOOTFS .elf check to a warning
If no .elf files are found in the boot partition then raise a warning
instead of an error. This normally indicates a system configuration
error but allow the usage of this tool in non-standard setups.
2020-05-25 11:32:51 +01:00
Tim Gover
5c7dfdf3b7 test: Fixup paths for config test 2020-05-25 11:32:51 +01:00
Tim Gover
ad18a5b468 Update issue templates 2020-05-15 12:35:09 +01:00
Tim Gover
69ef289748 Merge pull request #127 from timg236/beta_usbboot
pieeprom-2020-05-15.bin - USB mass storage boot beta
2020-05-15 11:58:22 +01:00
Tim Gover
ee0b6146f1 pieeprom-2020-05-15.bin - USB mass storage boot beta
USB boot also requires updated firmware (start.elf)
2020-05-15 11:24:16 +01:00
Tim Gover
3f9a0eb201 Merge pull request #124 from andrum99/patch-1
rpi-eeprom-update: mention Pi4 only, remove references to SD card
2020-05-12 15:07:31 +01:00
Tim Gover
c2ce7f8488 Merge pull request #125 from andrum99/patch-2
rpi-eeprom-config: Pi 4B -> Pi 4
2020-05-12 15:06:42 +01:00
andrum99
7e587b8092 rpi-eeprom-config: Pi 4B -> Pi 4 2020-05-12 14:37:52 +01:00
andrum99
bbffc1a9fc rpi-eeprom-update: mention Pi4 only, remove references to SD card 2020-05-12 14:36:48 +01:00
Tim Gover
cbb061e0c3 Merge pull request #122 from timg236/tim/deprecate_old_binaries
Garbage collect old bootloader releases
2020-05-11 19:43:16 +01:00
Tim Gover
19c6ddcaa4 Garbage collect old bootloader releases
Now that 2020-04-16 has been released and appears to be stable move
the older binaries to and old (deprecated) directory. There's no
need to include old beta binaries in OS packages.
2020-05-11 16:44:52 +01:00
Tim Gover
c649ab64e4 Update README.md 2020-05-02 09:06:58 +01:00
Tim Gover
a70a647233 Merge pull request #117 from timg236/tim/critical-2020-04-16
Promote 2020-04-16 to be the new default release as a critical update
2020-04-28 14:27:26 +01:00
Tim Gover
87a8d46959 Promote 2020-04-16 to be the new default release as a critical update 2020-04-28 14:18:28 +01:00
Tim Gover
92ed6c634a Remove +x bit
Remove executable bit, can you tell that I used Cygwin for this one ?
2020-04-23 16:52:06 +01:00
tim
bb568a4c4d Push pieeprom-2020-04-16 to stable 2020-04-23 16:10:32 +01:00
Tim Gover
8b9559ce60 Update README.md 2020-04-23 09:25:20 +01:00
157 changed files with 1751 additions and 234 deletions

63
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,63 @@
---
name: Bug report
about: Create a bug report for the bootloader EEPROM or rpi-eeprom-update scripts. Please use the Raspberry Pi General Discussion forum for general questions about the bootloader.
---
This repository tracks bugs for the Raspberry Pi 4 bootloader EEPROM and Linux update scripts.
* If you suspect a hardware problem then please read the [Boot Problems](https://www.raspberrypi.org/forums/viewtopic.php?p=437084) post first before contacting the reseller.
* Support questions or should be posted on the Raspberry Pi [General Discussion](https://www.raspberrypi.org/forums/viewforum.php?f=63)**
**Mandatory information**
* Raspberry Pi model
* Board revision (cat /proc/cpuinfo | grep Revision)
* Operating system version .
* Details of any hardware attached e.g. links to USB
* Photo of the HDMI diagnostics screen, UART trace.
**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.
**Bootloader version and configuration**
Please include the bootloader version and config.
```bash
vcgencmd bootloader_version
vcgencmd bootloader_config
```
**SD card boot (please complete the following information):**
- SD card type
- Partition information (sudo fdisk -l) if you are able to obtain this from another computer.
**USB boot (please complete the following information):**
Verify that the the USB device works correctly when hot-plugged under Linux and attache the output of 'lsusb -vvv'
**Network boot (please complete the following information):**
Network boot bug normally require one or more of the following log types. [PiServer](https://github.com/raspberrypi/piserver) is the officially supported network boot server.
- DHCP server configuration files e.g. dnsmasq.conf
- Wireshark binary packet capture
- UART logs with `uart_2ndstage=1` set in `config.txt`
**NVMe boot (please complete the following information):**
```bash
sudo apt-get install nvme-cli
sudo nvme list
sudo nvme id-ctrl -H /dev/nvme0
sudo nvme list-ns /dev/nvme0
sudo nvme id-ns -H /dev/nvme0 --namespace-id=1
```
**Additional context**
Add any other context about the problem here.
The [Bootloader configuration](https://www.raspberrypi.org/documentation/computers/raspberry-pi.html#raspberry-pi-4-bootloader-configuration) page describes how to enable UART or NETCONSOLE logs. For complex USB boot issues NETCONSOLE logs are recommended.

2
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,2 @@
blank_issues_enabled: false

View File

@@ -1,27 +1,17 @@
# 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 USB controller 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
To reset the bootloader back to factory defaults use [Raspberry Pi Imager](https://www.raspberrypi.com/software/) to write an EEPROM update image to a spare SD card. Select `Misc utility images` under the `Operating System` tab.
# 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.
* [The boot folder](https://www.raspberrypi.com/documentation/computers/configuration.html#the-boot-folder)
* [Config.txt boot options](https://www.raspberrypi.com/documentation/computers/config_txt.html#boot-options)
* [Bootloader EEPROM](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-boot-eeprom)
* [Bootloader configuration](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-bootloader-configuration)
* [Updating the Compute Module 4 bootloader](https://www.raspberrypi.com/documentation/computers/compute-module.html#cm4bootloader)
* [Release notes](firmware/release-notes.md)
* [Releases](releases.md)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

1
firmware/default Symbolic link
View File

@@ -0,0 +1 @@
critical

1
firmware/latest Symbolic link
View File

@@ -0,0 +1 @@
stable

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
../beta/pieeprom-2019-07-15.bin

View File

@@ -0,0 +1 @@
../beta/pieeprom-2019-09-10.bin

View File

@@ -0,0 +1 @@
../beta/pieeprom-2020-04-16.bin

View File

@@ -0,0 +1 @@
../beta/recovery.bin

View File

@@ -0,0 +1 @@
../beta/vl805-00013701.bin

View File

@@ -0,0 +1 @@
../beta/vl805-000137ab.bin

View File

@@ -0,0 +1 @@
../beta/vl805-000137ad.bin

View File

@@ -0,0 +1 @@
../beta/pieeprom-2020-01-17.bin

View File

@@ -0,0 +1 @@
../beta/pieeprom-2020-03-19.bin

View File

@@ -0,0 +1 @@
../beta/pieeprom-2020-04-16.bin

View File

@@ -0,0 +1 @@
../beta/recovery.bin

View File

@@ -0,0 +1 @@
../beta/vl805-000137ad.bin

View File

@@ -1,5 +1,412 @@
# 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
## 2021-10-05 - Update for latest Broadcom SDRAM settings - BETA
* Minor update for latest SDRAM tuning settings.
## 2021-10-04 - Add support for GPT FAT16 and increase USB timeouts - BETA
* 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.
## 2021-09-27 - Fix recovery.bin rename issue and EEPROM netconsole - BETA
* Fix recovery.bin rename issue
* Update pieeprom-2021-09-27.bin to fix netconsole
## 2021-09-23 - Temporarily revert recovery.bin 2021-09-22 BETA/STABLE
* Revert until fix for can be verified https://github.com/raspberrypi/rpi-eeprom/issues/367
## 2021-09-23 - Bootloader file-system updates - BETA
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.
## 2021-09-22 - Update recovery.bin to fix issue with large FAT partitions - STABLE
* Bump the latest recovery.bin under beta to stable.
## 2021-09-22 - Update recovery.bin to fix issue with large FAT partitions - BETA
* Fix an issue where the ROM fails to load larger recovery.bin files
on FAT partitions with large cluster sizes.
## 2021-07-07 - Promote pieeprom-2021-07-06 to stable - STABLE
* Promote the latest beta to stable. For CM4 users this adds NVMe
boot support to the stable release.
## 2021-07-06 - Tidyup PXE debug strings - BETA
* Remove redundant debug string - hexdump is more useful for debug.
* Minor internal changes for manufacturing test.
## 2021-06-25 - Support 256MB gpu_mem with boot ramdisk - BETA
* Tweak the address map so that boot ramdisks (e.g. rpiboot -d imager)
work with large amounts of GPU memory.
## 2021-06-17 - Avoid unnecessary PCIe probe on CM4 - BETA
* 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.
## 2021-06-11 - Add USB_MSD_STARTUP_DELAY option - BETA
* 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.
## 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.
## 2021-04-29 - Pi400 - Reduce MII clock freq when probing ethernet PHY - STABLE
* Pi400 - Reduce MII clock freq when probing ethernet PHY - STABLE
## 2021-04-19 - Promote 2021-03-18 from LATEST to DEFAULT - DEFAULT
* 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
## 2021-04-13 - Fix error pattern for HDMI and SDRAM failures - BETA/STABLE
* Fix recovery.bin error handler so that the LED error pattern is still
displayed even if HDMI or SDRAM fail.
## 2021-03-18 - Fix occasional reboot fail on Pi4B pre 1.4 - STABLE
* Fix GPIO expander reset issue on some Pi4B 1.1 to 1.3 boards
## 2021-03-17 - Fix issue with PCIe bridges in Linux - BETA
* NVMe BETA boot support broke PCIe bridges in Linux. This should fix the problem
## 2021-03-04 - NVMe boot support - BETA
* 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
## 2021-02-22 - Promote 2021-02-16 to stable - STABLE (LATEST)
* Freezing for default/critical update.
## 2021-02-16 - Change VC version info & TFTP fix - BETA
* 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.
## 2021-01-16 - Fix 1V8 SD voltage reset for Pi 4B R1.1 - LATEST + BETA
* Fix regression for GPIO expander reset change which caused PMIC reset
to get card out of 1V8 mode to be missed.
## 2021-01-14 - Promote pieeprom-2021-01-11 to STABLE (LATEST)
## 2021-01-11 - Timeout stalled USB MSD devices - BETA
* 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.
## 2021-01-05 - USB MSD interop improvements for Pi 4B < R1.4 - BETA
* 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.
## 2020-12-14 - Promote pieeprom-2020-12-11.bin to stable - STABLE
* Feature freeze to support stable release of BCM2711 XHCI boot, tryboot,
HDMI_DELAY, USB MSD improvements.
## 2020-12-11 - CM4/PI400 conditional filters - BETA
* 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.
## 2020-11-24 BCM2711 xHC boot support - BETA
* 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.
## 2020-10-28 Defer HDMI diagnostics display, update-timestamps, tryboot support - BETA
* 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
## 2020-10-02 Include CM4 manufacturing bootloader image.
* Include the release image for reference. This contains some minor changes
to support manufacture test.
## 2020-09-14 Promote the 2020-09-03 release to be the default EEPROM images.
* 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.
## 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 determining 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
compatibility for devices which during reset with no regressions reported.
Make this the latest stable release.
## 2020-07-31 Standardize USB port power control across 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 overridden 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 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
## 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.
@@ -11,7 +418,7 @@
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 patern
* 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.
@@ -43,20 +450,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
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.
@@ -77,7 +484,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
@@ -100,7 +507,7 @@
* 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
overriden. An VideoCore firmware update will propagate this forced
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.
@@ -145,7 +552,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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More