mirror of
https://github.com/raspberrypi/rpi-eeprom.git
synced 2026-01-20 21:13:36 +08:00
Merge branch 'master' into debian/bullseye
This commit is contained in:
13
README.md
13
README.md
@@ -2,16 +2,15 @@
|
||||
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
|
||||
Please check the Raspberry Pi [general discussion forum](https://www.raspberrypi.org/forums/viewforum.php?f=63) if you have a support question.
|
||||
Please check the Raspberry Pi [general discussion forum](https://forums.raspberrypi.com/viewforum.php?f=63) if you have a support question.
|
||||
|
||||
# Reset to factory defaults
|
||||
To reset the bootloader back to factory defaults use [Raspberry Pi Imager](https://www.raspberrypi.org/downloads/) to write an EEPROM update image to a spare SD card. Select `Misc utility images` under the `Operating System` tab.
|
||||
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)
|
||||
* [Updating the Compute Module 4 bootloader](https://www.raspberrypi.org/documentation/hardware/computemodule/cm-emmc-flashing.md#cm4bootloader)
|
||||
* [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)
|
||||
|
||||
BIN
firmware/beta/pieeprom-2021-10-27.bin
Normal file
BIN
firmware/beta/pieeprom-2021-10-27.bin
Normal file
Binary file not shown.
Binary file not shown.
@@ -1,7 +1,16 @@
|
||||
# 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
|
||||
https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-bootloader-configuration
|
||||
|
||||
## 2021-10-27 - Secure boot improvements - BETA
|
||||
* Improve the error logging if a file is too large and truncated.
|
||||
* Increase the maximum size of the ramdisk to 96MB.
|
||||
* Preliminary changes to expose the boot-mode used to load the ramdisk via device-tree.
|
||||
|
||||
N.B. Secure boot is only recommended for industrial customers and is currently
|
||||
a beta release. This can only be enabled via RPIBOOT
|
||||
https://github.com/raspberrypi/usbboot/blob/master/Readme.md
|
||||
|
||||
## 2021-10-05 - Update for latest Broadcom SDRAM settings - BETA
|
||||
* Minor update for latest SDRAM tuning settings.
|
||||
|
||||
@@ -1,28 +1,42 @@
|
||||
Raspberry Pi 4 EEPROM bootloader rescue image
|
||||
*********************************************
|
||||
|
||||
The Raspberry Pi 4 has a small EEPROM used to store the bootloader.
|
||||
The Raspberry Pi 4 contains a small EEPROM used to store the bootloader.
|
||||
|
||||
This rescue image reverts the bootloader EEPROM to factory default settings.
|
||||
|
||||
This rescue image also updates the USB 3.0 (VL805) firmware to the latest
|
||||
version (138a1) with better full-speed Isochronous endpoint support.
|
||||
This rescue image also updates the USB 3 controller (VL805) firmware to the
|
||||
latest version, 138a1, which has better full-speed isochronous endpoint
|
||||
support.
|
||||
|
||||
To re-flash the EEPROM(s)
|
||||
Raspberry Pi 4 board revisions 1.1 and 1.2 contain a separate EEPROM
|
||||
which contains firmware for the USB 3 controller (VL805): on newer revisions
|
||||
the USB controller firmware is stored in the bootloader EEPROM along with
|
||||
the bootloader.
|
||||
|
||||
1. Unzip the contents of this zip file to a blank FAT formatted SD-CARD
|
||||
2. Power off the Raspberry Pi
|
||||
3. Insert the SD-CARD
|
||||
4. Power on Raspberry Pi
|
||||
5. Wait at least 10 seconds
|
||||
The easiest method for creating EEPROM rescue images, and formatting SD
|
||||
cards, is to use Raspberry Pi Imager from https://raspberrypi.com/software.
|
||||
Raspberry Pi Imager provides a GUI for downloading the latest version of
|
||||
this rescue image and flashing it to a spare SD card.
|
||||
|
||||
This easiest method for creating and formatting the SD-CARD is to use the
|
||||
Raspberry Pi Imager from https://raspberrypi.org/downloads
|
||||
Alternatively, copy the contents of this zip file to a blank
|
||||
FAT formatted SD card. The FAT partition must be < 32 GB.
|
||||
|
||||
If successful, the green LED light will blink rapidly (forever), otherwise
|
||||
an error pattern will be displayed.
|
||||
To update the EEPROM:
|
||||
|
||||
If a HDMI display is attached then the screen will display green for success
|
||||
or red if a failure occurs.
|
||||
1. Power off the Raspberry Pi
|
||||
2. Insert the bootloader update SD card
|
||||
3. Power on the Raspberry Pi
|
||||
4. Wait at least 10 seconds
|
||||
|
||||
N.B. This image is not a bootloader it simply replaces the on-board bootloader.
|
||||
If successful, the green LED on the Raspberry Pi will blink rapidly forever.
|
||||
An unsuccessful update of the EEPROM is indicated by a different blinking
|
||||
pattern corresponding to the specific error.
|
||||
|
||||
If an HDMI display is attached, then the screen will display green for
|
||||
success or red if a failure occurs.
|
||||
|
||||
Once the EEPROM is updated, the SD card can be removed. In order to make
|
||||
the entire capacity of the SD card available again, you must then reformat
|
||||
the SD card using Raspberry Pi Imager by selecting the 'format card as
|
||||
FAT32' option.
|
||||
|
||||
62
imager/make-recovery-images
Executable file
62
imager/make-recovery-images
Executable file
@@ -0,0 +1,62 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
die() {
|
||||
echo "$@" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
if [ -d "${TMP_DIR}" ]; then
|
||||
rm -rf "${TMP_DIR}"
|
||||
fi
|
||||
}
|
||||
|
||||
trap cleanup EXIT
|
||||
|
||||
[ "$(id -u)" = "0" ] || die "$(basename $0) must be run as root"
|
||||
[ -n "${SUDO_UID}" ] || die "SUDO_UID not defined"
|
||||
[ -n "${SUDO_GID}" ] || die "SUDO_GID not defined"
|
||||
|
||||
for src in release/*.zip; do
|
||||
src=$(basename "${src}")
|
||||
img=$(echo "${src}" | sed 's/\.zip/.img/')
|
||||
TMP_DIR=$(mktemp -d)
|
||||
(
|
||||
cp "release/${src}" "${TMP_DIR}"
|
||||
mkdir "${TMP_DIR}/files"
|
||||
cd "${TMP_DIR}/files"
|
||||
unzip "../${src}"
|
||||
cd "${TMP_DIR}"
|
||||
dd if=/dev/zero bs=1M count=258 of=temp.img
|
||||
/sbin/sfdisk temp.img <<EOF
|
||||
label: dos
|
||||
label-id: 0x0a7b5ac5
|
||||
device: temp.img
|
||||
unit: sectors
|
||||
|
||||
./test.img1 : start= 2048, size= 524288, type=c
|
||||
EOF
|
||||
file temp.img
|
||||
kpartx -lv temp.img | head -n1 | awk '{print $1}'
|
||||
LOOP="/dev/mapper/$(kpartx -lv temp.img | head -n1 | awk '{print $1}')"
|
||||
kpartx -av temp.img
|
||||
/sbin/mkfs.fat -F 32 -s 1 "${LOOP}"
|
||||
mkdir fs
|
||||
mount "${LOOP}" fs
|
||||
cp -v files/* fs
|
||||
sync
|
||||
umount fs
|
||||
kpartx -dv temp.img
|
||||
)
|
||||
mkdir -p images
|
||||
chown "${SUDO_UID}:${SUDO_GID}" images
|
||||
mv "${TMP_DIR}/temp.img" "images/${img}"
|
||||
file "images/${img}"
|
||||
cd images
|
||||
zip "${src}" "${img}"
|
||||
cd ..
|
||||
rm "images/${img}"
|
||||
chown "${SUDO_UID}:${SUDO_GID}" "images/${src}"
|
||||
done
|
||||
@@ -1,7 +1,6 @@
|
||||
# Raspberry Pi 4B, 400 and CM4 bootloader EEPROM releases
|
||||
This page provides links to the production and development release images for the bootloader EEPROM on BCM2711-based Raspberry Pi computers. Normally, the
|
||||
bootloader is automatically updated after an APT update via the [rpi-eeprom-update](https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md)
|
||||
utility.
|
||||
bootloader is automatically updated after an APT update via the [rpi-eeprom-update](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#automatic-updates) utility.
|
||||
|
||||
## Release notes
|
||||
Release notes are available [here](https://github.com/raspberrypi/rpi-eeprom/blob/master/firmware/release-notes.md).
|
||||
@@ -10,8 +9,8 @@ Release notes are available [here](https://github.com/raspberrypi/rpi-eeprom/blo
|
||||
The default production EEPROM image release is [2020-09-03](https://github.com/raspberrypi/rpi-eeprom/releases/tag/v2020.09.03-138a1) and can be installed via the [Raspberry Pi Imager](https://www.raspberrypi.org/downloads/).
|
||||
|
||||
## USB MSD boot
|
||||
Please see the [USB mass storage boot](https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md) guide.
|
||||
For support or hardware interoperability discussions please use the Raspberry Pi [general discussion](https://www.raspberrypi.org/forums/viewforum.php?f=63) forum.
|
||||
Please see the [USB mass storage boot](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#usb-mass-storage-boot) guide.
|
||||
For support or hardware interoperability discussions please use the Raspberry Pi [general discussion](https://forums.raspberrypi.com/viewforum.php?f=63) forum.
|
||||
|
||||
## Old EEPROM images
|
||||
Old bootloader images are periodically removed from the APT package to reduce the disk space, but are still available via Github [here](https://github.com/raspberrypi/rpi-eeprom/tree/master/firmware/old).
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env python
|
||||
#!/usr/bin/env python3
|
||||
|
||||
"""
|
||||
rpi-eeprom-config
|
||||
|
||||
@@ -490,7 +490,7 @@ To flash the new image:
|
||||
The syntax is the same as config.txt See online documentation for the list of parameters.
|
||||
|
||||
The official documentation for the Raspberry Pi bootloader EEPROM is available at
|
||||
https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md
|
||||
https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-boot-eeprom
|
||||
|
||||
Compute Module 4 (CM4):
|
||||
|
||||
@@ -500,10 +500,7 @@ cause the system to fail to boot so automatic updates are disabled. We also
|
||||
recommend write-protecting the SPI EPPROM after flashing it using usbboot.
|
||||
|
||||
CM4 bootloader and EEPROM update instructions:
|
||||
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md
|
||||
|
||||
usbboot instructions for flashing CM4 EMMC and bootloader EEPROM:
|
||||
https://www.raspberrypi.org/documentation/hardware/computemodule/cm-emmc-flashing.md
|
||||
https://www.raspberrypi.com/documentation/computers/compute-module.html#compute-module-4-bootloader
|
||||
|
||||
The CM4 ROM does not support running recovery.bin from the EMMC on CM4 so this service
|
||||
is disabled by default. SELF_UPDATE from USB or Network boot is supported but this
|
||||
|
||||
Reference in New Issue
Block a user