diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..318027a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,44 @@ +--- +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. + +**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. diff --git a/README.md b/README.md index 8e8a902..b97daa8 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,9 @@ Bootloader bugs are especially difficult to describe because there's no display. * 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. +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 familiar with using the Raspberry Pi Imager to create recovery images to restore factory settings. For debugging you may find a USB serial cable useful. + +See also - [Firmware release status](https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md) 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. diff --git a/firmware/beta/pieeprom-2020-05-15.bin b/firmware/beta/pieeprom-2020-05-15.bin new file mode 100644 index 0000000..7ef48f5 Binary files /dev/null and b/firmware/beta/pieeprom-2020-05-15.bin differ diff --git a/firmware/beta/recovery.bin b/firmware/beta/recovery.bin index cc640a6..988d465 100644 Binary files a/firmware/beta/recovery.bin and b/firmware/beta/recovery.bin differ diff --git a/firmware/critical/pieeprom-2019-09-10.bin b/firmware/critical/pieeprom-2019-09-10.bin deleted file mode 100644 index df5ead0..0000000 Binary files a/firmware/critical/pieeprom-2019-09-10.bin and /dev/null differ diff --git a/firmware/critical/vl805-00013701.bin b/firmware/critical/vl805-00013701.bin deleted file mode 100644 index 23230a3..0000000 Binary files a/firmware/critical/vl805-00013701.bin and /dev/null differ diff --git a/firmware/critical/pieeprom-2019-07-15.bin b/firmware/old/beta/pieeprom-2019-07-15.bin similarity index 100% rename from firmware/critical/pieeprom-2019-07-15.bin rename to firmware/old/beta/pieeprom-2019-07-15.bin diff --git a/firmware/beta/pieeprom-2019-09-06.bin b/firmware/old/beta/pieeprom-2019-09-06.bin similarity index 100% rename from firmware/beta/pieeprom-2019-09-06.bin rename to firmware/old/beta/pieeprom-2019-09-06.bin diff --git a/firmware/beta/pieeprom-2019-09-10.bin b/firmware/old/beta/pieeprom-2019-09-10.bin similarity index 100% rename from firmware/beta/pieeprom-2019-09-10.bin rename to firmware/old/beta/pieeprom-2019-09-10.bin diff --git a/firmware/beta/pieeprom-2019-09-23.bin b/firmware/old/beta/pieeprom-2019-09-23.bin similarity index 100% rename from firmware/beta/pieeprom-2019-09-23.bin rename to firmware/old/beta/pieeprom-2019-09-23.bin diff --git a/firmware/beta/pieeprom-2019-09-25.bin b/firmware/old/beta/pieeprom-2019-09-25.bin similarity index 100% rename from firmware/beta/pieeprom-2019-09-25.bin rename to firmware/old/beta/pieeprom-2019-09-25.bin diff --git a/firmware/beta/pieeprom-2019-10-08.bin b/firmware/old/beta/pieeprom-2019-10-08.bin similarity index 100% rename from firmware/beta/pieeprom-2019-10-08.bin rename to firmware/old/beta/pieeprom-2019-10-08.bin diff --git a/firmware/beta/pieeprom-2019-10-16.bin b/firmware/old/beta/pieeprom-2019-10-16.bin similarity index 100% rename from firmware/beta/pieeprom-2019-10-16.bin rename to firmware/old/beta/pieeprom-2019-10-16.bin diff --git a/firmware/beta/pieeprom-2019-11-18.bin b/firmware/old/beta/pieeprom-2019-11-18.bin similarity index 100% rename from firmware/beta/pieeprom-2019-11-18.bin rename to firmware/old/beta/pieeprom-2019-11-18.bin diff --git a/firmware/beta/pieeprom-2019-12-03.bin b/firmware/old/beta/pieeprom-2019-12-03.bin similarity index 100% rename from firmware/beta/pieeprom-2019-12-03.bin rename to firmware/old/beta/pieeprom-2019-12-03.bin diff --git a/firmware/beta/pieeprom-2020-01-09.bin b/firmware/old/beta/pieeprom-2020-01-09.bin similarity index 100% rename from firmware/beta/pieeprom-2020-01-09.bin rename to firmware/old/beta/pieeprom-2020-01-09.bin diff --git a/firmware/beta/pieeprom-2020-01-17.bin b/firmware/old/beta/pieeprom-2020-01-17.bin similarity index 100% rename from firmware/beta/pieeprom-2020-01-17.bin rename to firmware/old/beta/pieeprom-2020-01-17.bin diff --git a/firmware/beta/pieeprom-2020-03-04.bin b/firmware/old/beta/pieeprom-2020-03-04.bin similarity index 100% rename from firmware/beta/pieeprom-2020-03-04.bin rename to firmware/old/beta/pieeprom-2020-03-04.bin diff --git a/firmware/beta/pieeprom-2020-03-16.bin b/firmware/old/beta/pieeprom-2020-03-16.bin similarity index 100% rename from firmware/beta/pieeprom-2020-03-16.bin rename to firmware/old/beta/pieeprom-2020-03-16.bin diff --git a/firmware/beta/pieeprom-2020-03-19.bin b/firmware/old/beta/pieeprom-2020-03-19.bin similarity index 100% rename from firmware/beta/pieeprom-2020-03-19.bin rename to firmware/old/beta/pieeprom-2020-03-19.bin diff --git a/firmware/beta/pieeprom-2020-04-09.bin b/firmware/old/beta/pieeprom-2020-04-09.bin similarity index 100% rename from firmware/beta/pieeprom-2020-04-09.bin rename to firmware/old/beta/pieeprom-2020-04-09.bin diff --git a/firmware/stable/pieeprom-2020-03-19.bin b/firmware/old/beta/pieeprom-2020-04-16.bin similarity index 99% rename from firmware/stable/pieeprom-2020-03-19.bin rename to firmware/old/beta/pieeprom-2020-04-16.bin index 6b13ad0..0baaae4 100644 Binary files a/firmware/stable/pieeprom-2020-03-19.bin and b/firmware/old/beta/pieeprom-2020-04-16.bin differ diff --git a/firmware/old/beta/recovery.bin b/firmware/old/beta/recovery.bin new file mode 100644 index 0000000..cc640a6 Binary files /dev/null and b/firmware/old/beta/recovery.bin differ diff --git a/firmware/beta/vl805-00013701.bin b/firmware/old/beta/vl805-00013701.bin similarity index 100% rename from firmware/beta/vl805-00013701.bin rename to firmware/old/beta/vl805-00013701.bin diff --git a/firmware/beta/vl805-000137ab.bin b/firmware/old/beta/vl805-000137ab.bin similarity index 100% rename from firmware/beta/vl805-000137ab.bin rename to firmware/old/beta/vl805-000137ab.bin diff --git a/firmware/critical/vl805-000137ab.bin b/firmware/old/beta/vl805-000137ad.bin similarity index 58% rename from firmware/critical/vl805-000137ab.bin rename to firmware/old/beta/vl805-000137ad.bin index 8874e54..384a662 100644 Binary files a/firmware/critical/vl805-000137ab.bin and b/firmware/old/beta/vl805-000137ad.bin differ diff --git a/firmware/old/critical/pieeprom-2019-07-15.bin b/firmware/old/critical/pieeprom-2019-07-15.bin new file mode 120000 index 0000000..64b24ab --- /dev/null +++ b/firmware/old/critical/pieeprom-2019-07-15.bin @@ -0,0 +1 @@ +../beta/pieeprom-2019-07-15.bin \ No newline at end of file diff --git a/firmware/old/critical/pieeprom-2019-09-10.bin b/firmware/old/critical/pieeprom-2019-09-10.bin new file mode 120000 index 0000000..3510f92 --- /dev/null +++ b/firmware/old/critical/pieeprom-2019-09-10.bin @@ -0,0 +1 @@ +../beta/pieeprom-2019-09-10.bin \ No newline at end of file diff --git a/firmware/old/critical/pieeprom-2020-04-16.bin b/firmware/old/critical/pieeprom-2020-04-16.bin new file mode 120000 index 0000000..9928fe8 --- /dev/null +++ b/firmware/old/critical/pieeprom-2020-04-16.bin @@ -0,0 +1 @@ +../beta/pieeprom-2020-04-16.bin \ No newline at end of file diff --git a/firmware/old/critical/recovery.bin b/firmware/old/critical/recovery.bin new file mode 120000 index 0000000..6c4d043 --- /dev/null +++ b/firmware/old/critical/recovery.bin @@ -0,0 +1 @@ +../beta/recovery.bin \ No newline at end of file diff --git a/firmware/old/critical/vl805-00013701.bin b/firmware/old/critical/vl805-00013701.bin new file mode 120000 index 0000000..d86a497 --- /dev/null +++ b/firmware/old/critical/vl805-00013701.bin @@ -0,0 +1 @@ +../beta/vl805-00013701.bin \ No newline at end of file diff --git a/firmware/old/critical/vl805-000137ab.bin b/firmware/old/critical/vl805-000137ab.bin new file mode 120000 index 0000000..d72141f --- /dev/null +++ b/firmware/old/critical/vl805-000137ab.bin @@ -0,0 +1 @@ +../beta/vl805-000137ab.bin \ No newline at end of file diff --git a/firmware/old/critical/vl805-000137ad.bin b/firmware/old/critical/vl805-000137ad.bin new file mode 120000 index 0000000..e1d9ea2 --- /dev/null +++ b/firmware/old/critical/vl805-000137ad.bin @@ -0,0 +1 @@ +../beta/vl805-000137ad.bin \ No newline at end of file diff --git a/firmware/old/stable/pieeprom-2020-01-17.bin b/firmware/old/stable/pieeprom-2020-01-17.bin new file mode 120000 index 0000000..f706d8c --- /dev/null +++ b/firmware/old/stable/pieeprom-2020-01-17.bin @@ -0,0 +1 @@ +../beta/pieeprom-2020-01-17.bin \ No newline at end of file diff --git a/firmware/old/stable/pieeprom-2020-03-19.bin b/firmware/old/stable/pieeprom-2020-03-19.bin new file mode 120000 index 0000000..8e53c3b --- /dev/null +++ b/firmware/old/stable/pieeprom-2020-03-19.bin @@ -0,0 +1 @@ +../beta/pieeprom-2020-03-19.bin \ No newline at end of file diff --git a/firmware/old/stable/pieeprom-2020-04-16.bin b/firmware/old/stable/pieeprom-2020-04-16.bin new file mode 120000 index 0000000..9928fe8 --- /dev/null +++ b/firmware/old/stable/pieeprom-2020-04-16.bin @@ -0,0 +1 @@ +../beta/pieeprom-2020-04-16.bin \ No newline at end of file diff --git a/firmware/old/stable/recovery.bin b/firmware/old/stable/recovery.bin new file mode 120000 index 0000000..6c4d043 --- /dev/null +++ b/firmware/old/stable/recovery.bin @@ -0,0 +1 @@ +../beta/recovery.bin \ No newline at end of file diff --git a/firmware/old/stable/vl805-000137ad.bin b/firmware/old/stable/vl805-000137ad.bin new file mode 120000 index 0000000..e1d9ea2 --- /dev/null +++ b/firmware/old/stable/vl805-000137ad.bin @@ -0,0 +1 @@ +../beta/vl805-000137ad.bin \ No newline at end of file diff --git a/firmware/release-notes.md b/firmware/release-notes.md index bcb722f..ebf1a8b 100644 --- a/firmware/release-notes.md +++ b/firmware/release-notes.md @@ -1,5 +1,19 @@ # Raspberry Pi4 bootloader EEPROM release notes +## 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. diff --git a/firmware/stable/pieeprom-2020-01-17.bin b/firmware/stable/pieeprom-2020-01-17.bin deleted file mode 100644 index ad66522..0000000 Binary files a/firmware/stable/pieeprom-2020-01-17.bin and /dev/null differ diff --git a/rpi-eeprom-config b/rpi-eeprom-config index 9e96573..a6b5c4d 100755 --- a/rpi-eeprom-config +++ b/rpi-eeprom-config @@ -2,7 +2,7 @@ # 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 \ diff --git a/rpi-eeprom-update b/rpi-eeprom-update index 6d78b00..201a7e5 100755 --- a/rpi-eeprom-update +++ b/rpi-eeprom-update @@ -306,11 +306,13 @@ usage() { cat <