mirror of
https://github.com/raspberrypi/rpi-eeprom.git
synced 2026-01-21 14:53:32 +08:00
Compare commits
80 Commits
debian/boo
...
v2025.12.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cb1a22eff0 | ||
|
|
ba4371dd8a | ||
|
|
907c5a672a | ||
|
|
68774da0be | ||
|
|
1c83bfc5b2 | ||
|
|
0f936ff2e2 | ||
|
|
91e7eb5708 | ||
|
|
eed4273686 | ||
|
|
801aeb77c5 | ||
|
|
12fde4b848 | ||
|
|
f38dbcb723 | ||
|
|
1c92bb9bc3 | ||
|
|
c6a755543e | ||
|
|
291e4c2f36 | ||
|
|
e7504bafda | ||
|
|
32f795a171 | ||
|
|
11403637b1 | ||
|
|
14b22f02bc | ||
|
|
229347e811 | ||
|
|
182cdabfe0 | ||
|
|
24a4ec1a23 | ||
|
|
2164519657 | ||
|
|
b818b44bd5 | ||
|
|
430834f34b | ||
|
|
dc781dbbf1 | ||
|
|
8fb396f650 | ||
|
|
360324a17e | ||
|
|
f45ed23714 | ||
|
|
581437bcee | ||
|
|
1793f5c4ba | ||
|
|
7afa893027 | ||
|
|
796f883413 | ||
|
|
513ab6e11c | ||
|
|
4ee3f273eb | ||
|
|
6f692d1d7b | ||
|
|
a9ad05065b | ||
|
|
2349daafac | ||
|
|
0b8a0229df | ||
|
|
98b77d5fdd | ||
|
|
fb562ab467 | ||
|
|
37ee92a8b6 | ||
|
|
dd984a26db | ||
|
|
0f9da57ffe | ||
|
|
ab4c1994f3 | ||
|
|
54f04c2209 | ||
|
|
20deeae5ea | ||
|
|
1721eb42b7 | ||
|
|
df532a02dc | ||
|
|
fd7c832383 | ||
|
|
fac42a0d86 | ||
|
|
0f6920518f | ||
|
|
e5a60491d0 | ||
|
|
b08dff7e46 | ||
|
|
47a53c5da0 | ||
|
|
1bb6edeff5 | ||
|
|
ce78b31476 | ||
|
|
cd4048df1d | ||
|
|
96af2e81c7 | ||
|
|
d584a84891 | ||
|
|
816bf7c594 | ||
|
|
f087342b26 | ||
|
|
17a9f162c9 | ||
|
|
914dd0f73f | ||
|
|
7f66ffe483 | ||
|
|
1bd0a1052b | ||
|
|
6c2e2d6833 | ||
|
|
78d08e9763 | ||
|
|
92488a202f | ||
|
|
d50b2b32f1 | ||
|
|
3a16bd016f | ||
|
|
28a2c0242c | ||
|
|
8eef29aed9 | ||
|
|
c954a72f63 | ||
|
|
3679582b23 | ||
|
|
1e5578b70c | ||
|
|
a1bffdeb5d | ||
|
|
bad328a72e | ||
|
|
34eab17ce6 | ||
|
|
0190dbc122 | ||
|
|
b67b21ddda |
3
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
3
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -40,8 +40,11 @@ body:
|
||||
multiple: true
|
||||
options:
|
||||
- Raspberry Pi 5
|
||||
- Raspberry Pi 500
|
||||
- Raspberry Pi 4 Mod. B
|
||||
- Raspberry Pi 400
|
||||
- Raspberry Pi CM5
|
||||
- Raspberry Pi CM5 Lite
|
||||
- Raspberry Pi CM4
|
||||
- Raspberry Pi CM4 Lite
|
||||
- Raspberry Pi CM4-S
|
||||
|
||||
31
.github/workflows/test.yml
vendored
Normal file
31
.github/workflows/test.yml
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
name: Test EEPROM Config
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [ 'master' ]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.x'
|
||||
|
||||
- name: Create and activate virtual environment
|
||||
run: |
|
||||
python -m venv venv
|
||||
source venv/bin/activate
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pip install pycryptodomex
|
||||
|
||||
- name: Run EEPROM Config Tests
|
||||
run: |
|
||||
cd test
|
||||
chmod +x test-rpi-eeprom-config
|
||||
./test-rpi-eeprom-config
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1 +1,3 @@
|
||||
*.swp
|
||||
images-2711/
|
||||
images-2712/
|
||||
|
||||
6
LICENSE
6
LICENSE
@@ -6,10 +6,14 @@ Files: *
|
||||
Copyright: 2019, Raspberry Pi (Trading) Ltd.
|
||||
License: BSD-3
|
||||
|
||||
Files: firmware/*
|
||||
Files: firmware-2711/*
|
||||
Copyright: 2019, Raspberry Pi (Trading) Ltd.
|
||||
License: custom
|
||||
|
||||
Files: firmware-2712/*
|
||||
Copyright: 2024, Raspberry Pi (Trading) Ltd.
|
||||
License: custom
|
||||
|
||||
License: BSD-3
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
|
||||
9
debian/.gitignore
vendored
9
debian/.gitignore
vendored
@@ -1,9 +0,0 @@
|
||||
.debhelper/
|
||||
debhelper-build-stamp
|
||||
files
|
||||
rpi-eeprom/
|
||||
rpi-eeprom-images/
|
||||
*.debhelper.log
|
||||
*.debhelper
|
||||
*.substvars
|
||||
*.1
|
||||
28
debian/LICENCE.bootloader
vendored
28
debian/LICENCE.bootloader
vendored
@@ -1,28 +0,0 @@
|
||||
Copyright (c) 2019, Raspberry Pi (Trading) Ltd.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution. Redistribution and use in binary form, without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* This software may only be used for the purposes of developing for,
|
||||
running or using a Raspberry Pi device.
|
||||
* Redistributions must reproduce the above copyright notice and the
|
||||
following disclaimer in the documentation and/or other materials
|
||||
provided with the distribution.
|
||||
* Neither the name of the copyright holder nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
||||
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGE.
|
||||
1627
debian/changelog
vendored
1627
debian/changelog
vendored
File diff suppressed because it is too large
Load Diff
29
debian/control
vendored
29
debian/control
vendored
@@ -1,29 +0,0 @@
|
||||
Source: rpi-eeprom
|
||||
Section: misc
|
||||
Priority: optional
|
||||
Maintainer: Serge Schneider <serge@raspberrypi.com>
|
||||
Build-Depends: debhelper-compat (= 12), help2man, python3-minimal
|
||||
Standards-Version: 4.6.2
|
||||
Homepage: https://github.com/raspberrypi/rpi-eeprom/
|
||||
Vcs-Browser: https://github.com/raspberrypi/rpi-eeprom/
|
||||
Vcs-Git: https://github.com/raspberrypi/rpi-eeprom.git
|
||||
|
||||
Package: rpi-eeprom
|
||||
Architecture: all
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, raspi-utils, python3,
|
||||
binutils, pciutils, python3-pycryptodome
|
||||
Breaks: rpi-eeprom-images (<<7.2)
|
||||
Replaces: rpi-eeprom-images (<<7.2)
|
||||
Recommends: flashrom
|
||||
Provides: rpi-eeprom-images
|
||||
Description: Raspberry Pi 4/5 boot EEPROM updater
|
||||
Checks whether the Raspberry Pi bootloader EEPROM is up-to-date and updates
|
||||
the EEPROM.
|
||||
|
||||
Package: rpi-eeprom-images
|
||||
Architecture: all
|
||||
Depends: ${misc:Depends}, rpi-eeprom (>=7.2)
|
||||
Priority: optional
|
||||
Section: oldlibs
|
||||
Description: transitional package
|
||||
This is a transitional package. It can safely be removed.
|
||||
1
debian/copyright
vendored
1
debian/copyright
vendored
@@ -1 +0,0 @@
|
||||
../LICENSE
|
||||
1
debian/default/rpi-eeprom-update
vendored
1
debian/default/rpi-eeprom-update
vendored
@@ -1 +0,0 @@
|
||||
FIRMWARE_RELEASE_STATUS="default"
|
||||
3
debian/gbp.conf
vendored
3
debian/gbp.conf
vendored
@@ -1,3 +0,0 @@
|
||||
[DEFAULT]
|
||||
upstream-tree = master
|
||||
debian-branch = debian/bookworm
|
||||
1
debian/rpi-eeprom.docs
vendored
1
debian/rpi-eeprom.docs
vendored
@@ -1 +0,0 @@
|
||||
debian/LICENCE.bootloader
|
||||
26
debian/rpi-eeprom.install
vendored
26
debian/rpi-eeprom.install
vendored
@@ -1,26 +0,0 @@
|
||||
rpi-eeprom-config usr/bin/
|
||||
rpi-eeprom-update usr/bin/
|
||||
rpi-eeprom-digest usr/bin/
|
||||
tools/rpi-bootloader-key-convert usr/bin/
|
||||
tools/rpi-otp-private-key usr/bin/
|
||||
tools/rpi-sign-bootcode usr/bin/
|
||||
|
||||
debian/default/ etc/
|
||||
|
||||
firmware-2711/default usr/lib/firmware/raspberrypi/bootloader-2711/
|
||||
firmware-2711/latest usr/lib/firmware/raspberrypi/bootloader-2711/
|
||||
|
||||
firmware-2711/critical usr/lib/firmware/raspberrypi/bootloader-2711/
|
||||
firmware-2711/stable usr/lib/firmware/raspberrypi/bootloader-2711/
|
||||
firmware-2711/beta usr/lib/firmware/raspberrypi/bootloader-2711/
|
||||
|
||||
firmware-2711/release-notes.md usr/lib/firmware/raspberrypi/bootloader-2711/
|
||||
|
||||
firmware-2712/default usr/lib/firmware/raspberrypi/bootloader-2712/
|
||||
firmware-2712/latest usr/lib/firmware/raspberrypi/bootloader-2712/
|
||||
|
||||
firmware-2712/critical usr/lib/firmware/raspberrypi/bootloader-2712/
|
||||
firmware-2712/stable usr/lib/firmware/raspberrypi/bootloader-2712/
|
||||
firmware-2712/beta usr/lib/firmware/raspberrypi/bootloader-2712/
|
||||
|
||||
firmware-2712/release-notes.md usr/lib/firmware/raspberrypi/bootloader-2712/
|
||||
2
debian/rpi-eeprom.maintscript
vendored
2
debian/rpi-eeprom.maintscript
vendored
@@ -1,2 +0,0 @@
|
||||
dir_to_symlink /lib/firmware/raspberrypi/bootloader-2711/beta latest 17.0+pi5+1-1
|
||||
dir_to_symlink /lib/firmware/raspberrypi/bootloader-2712/beta latest 17.0+pi5+1-1
|
||||
2
debian/rpi-eeprom.manpages
vendored
2
debian/rpi-eeprom.manpages
vendored
@@ -1,2 +0,0 @@
|
||||
debian/rpi-eeprom-update.1
|
||||
debian/rpi-eeprom-config.1
|
||||
39
debian/rpi-eeprom.postinst
vendored
39
debian/rpi-eeprom.postinst
vendored
@@ -1,39 +0,0 @@
|
||||
#!/bin/sh
|
||||
# postinst script for rpi-eeprom
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postinst> `configure' <most-recently-configured-version>
|
||||
# * <old-postinst> `abort-upgrade' <new version>
|
||||
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
||||
# <new-version>
|
||||
# * <postinst> `abort-remove'
|
||||
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
||||
# <failed-install-package> <version> `removing'
|
||||
# <conflicting-package> <version>
|
||||
# for details, see https://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
configure)
|
||||
;;
|
||||
|
||||
abort-upgrade|abort-remove|abort-deconfigure)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postinst called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
40
debian/rpi-eeprom.postrm
vendored
40
debian/rpi-eeprom.postrm
vendored
@@ -1,40 +0,0 @@
|
||||
#!/bin/sh
|
||||
# postrm script for rpi-eeprom
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postrm> `remove'
|
||||
# * <postrm> `purge'
|
||||
# * <old-postrm> `upgrade' <new-version>
|
||||
# * <new-postrm> `failed-upgrade' <old-version>
|
||||
# * <new-postrm> `abort-install'
|
||||
# * <new-postrm> `abort-install' <old-version>
|
||||
# * <new-postrm> `abort-upgrade' <old-version>
|
||||
# * <disappearer's-postrm> `disappear' <overwriter>
|
||||
# <overwriter-version>
|
||||
# for details, see https://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
purge)
|
||||
rm -rf /var/lib/raspberrypi/bootloader/backup/
|
||||
;;
|
||||
remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postrm called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
38
debian/rpi-eeprom.prerm
vendored
38
debian/rpi-eeprom.prerm
vendored
@@ -1,38 +0,0 @@
|
||||
#!/bin/sh
|
||||
# prerm script for rpi-eeprom
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <prerm> `remove'
|
||||
# * <old-prerm> `upgrade' <new-version>
|
||||
# * <new-prerm> `failed-upgrade' <old-version>
|
||||
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
|
||||
# * <deconfigured's-prerm> `deconfigure' `in-favour'
|
||||
# <package-being-installed> <version> `removing'
|
||||
# <conflicting-package> <version>
|
||||
# for details, see https://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
remove|upgrade|deconfigure)
|
||||
;;
|
||||
|
||||
failed-upgrade)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "prerm called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
11
debian/rpi-eeprom.rpi-eeprom-update.service
vendored
11
debian/rpi-eeprom.rpi-eeprom-update.service
vendored
@@ -1,11 +0,0 @@
|
||||
[Unit]
|
||||
Description=Check for Raspberry Pi EEPROM updates
|
||||
After=boot-firmware.mount
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=true
|
||||
ExecStart=/usr/bin/rpi-eeprom-update -s -a
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
27
debian/rules
vendored
27
debian/rules
vendored
@@ -1,27 +0,0 @@
|
||||
#!/usr/bin/make -f
|
||||
#export DH_VERBOSE = 1
|
||||
|
||||
include /usr/share/dpkg/pkg-info.mk
|
||||
|
||||
%:
|
||||
dh $@
|
||||
|
||||
override_dh_installsystemd:
|
||||
dh_installsystemd --name=rpi-eeprom-update
|
||||
|
||||
override_dh_auto_build: debian/rpi-eeprom-update.1 debian/rpi-eeprom-config.1
|
||||
|
||||
override_dh_install:
|
||||
mkdir -p debian/rpi-eeprom/var/lib/raspberrypi/bootloader/backup/
|
||||
dh_install
|
||||
|
||||
debian/rpi-eeprom-update.1:
|
||||
help2man -N --version-string="${DEB_VERSION_UPSTREAM}" --help-option="-h" \
|
||||
--name="Checks whether the Raspberry Pi bootloader EEPROM is \
|
||||
up-to-date and updates the EEPROM" \
|
||||
--output=$@ ./rpi-eeprom-update
|
||||
|
||||
debian/rpi-eeprom-config.1:
|
||||
help2man -N --version-string="${DEB_VERSION_UPSTREAM}" --help-option="-h" \
|
||||
--name="Bootloader EEPROM configuration tool for the Raspberry Pi 4/5" \
|
||||
--output=$@ ./rpi-eeprom-config
|
||||
28
debian/salsa-ci.yml
vendored
28
debian/salsa-ci.yml
vendored
@@ -1,28 +0,0 @@
|
||||
include:
|
||||
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml
|
||||
- $CI_SERVER_URL/$CI_PROJECT_NAMESPACE/salsa-ci/-/raw/pios/rpi.yml
|
||||
|
||||
variables:
|
||||
SALSA_CI_ARM_RUNNER_TAG: salsa-arm64
|
||||
SALSA_CI_DISABLE_BUILD_PACKAGE_ARM64: 0
|
||||
SALSA_CI_DISABLE_BUILD_PACKAGE_ARMHF: 0
|
||||
SALSA_CI_DISABLE_APTLY: 0
|
||||
SALSA_CI_DISABLE_VERSION_BUMP: 1
|
||||
# These require priviledged docker containers to work
|
||||
SALSA_CI_DISABLE_AUTOPKGTEST: 1
|
||||
SALSA_CI_DISABLE_PIUPARTS: 1
|
||||
SALSA_CI_DISABLE_REPROTEST: 1
|
||||
SALSA_CI_IMAGES_LINTIAN: ${SALSA_CI_IMAGES}/lintian:bookworm
|
||||
# Work around lintian bug in bookworm
|
||||
# https://lists.debian.org/debian-lint-maint/2024/02/msg00039.html
|
||||
SALSA_CI_LINTIAN_SUPPRESS_TAGS: 'bad-distribution-in-changes-file'
|
||||
|
||||
extract-source:
|
||||
variables:
|
||||
GIT_DEPTH: 0
|
||||
GIT_STRATEGY: clone
|
||||
before_script:
|
||||
- git fetch origin master:master
|
||||
|
||||
publish to apt:
|
||||
extends: .publish-public
|
||||
1
debian/source/format
vendored
1
debian/source/format
vendored
@@ -1 +0,0 @@
|
||||
3.0 (quilt)
|
||||
2
debian/source/lintian-overrides
vendored
2
debian/source/lintian-overrides
vendored
@@ -1,2 +0,0 @@
|
||||
debian-copyright-is-symlink
|
||||
source-is-missing [tools/vl805]
|
||||
BIN
firmware-2711/default/pieeprom-2025-05-08.bin
Normal file
BIN
firmware-2711/default/pieeprom-2025-05-08.bin
Normal file
Binary file not shown.
BIN
firmware-2711/default/pieeprom-2025-11-05.bin
Normal file
BIN
firmware-2711/default/pieeprom-2025-11-05.bin
Normal file
Binary file not shown.
BIN
firmware-2711/default/pieeprom-2025-12-08.bin
Normal file
BIN
firmware-2711/default/pieeprom-2025-12-08.bin
Normal file
Binary file not shown.
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-05-08.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-05-08.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-05-16.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-05-16.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-07-03.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-07-03.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-07-17.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-07-17.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-08-13.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-08-13.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-08-20.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-08-20.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-08-27.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-08-27.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-09-22.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-09-22.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-09-23.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-09-23.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-10-03.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-10-03.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-10-08.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-10-08.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-10-14.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-10-14.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-11-05.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-11-05.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-11-21.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-11-21.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-11-27.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-11-27.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-12-08.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-12-08.bin
Normal file
Binary file not shown.
Binary file not shown.
BIN
firmware-2711/old/critical/pieeprom-2025-02-11.bin
Normal file
BIN
firmware-2711/old/critical/pieeprom-2025-02-11.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/critical/pieeprom-2025-05-08.bin
Normal file
BIN
firmware-2711/old/critical/pieeprom-2025-05-08.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2025-02-11.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2025-02-11.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2025-02-24.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2025-02-24.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2025-05-08.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2025-05-08.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2025-05-16.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2025-05-16.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2025-07-03.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2025-07-03.bin
Normal file
Binary file not shown.
@@ -1,5 +1,293 @@
|
||||
# Raspberry Pi4 bootloader EEPROM release notes
|
||||
|
||||
## 2025-12-09: Promote 2025-12-08 to the default release (default)
|
||||
|
||||
## 2025-12-08: arm_loader: Add machine ID derived from OTP values (latest)
|
||||
|
||||
* arm_loader: Add machine ID derived from OTP values
|
||||
Machine ID is generated and exposed in device tree as rpi-machine-id
|
||||
* arm_ldconfig: Avoid double os_prefix on initramfs
|
||||
When using auto_initramfs we were picking up prefix from the kernel,
|
||||
but also adding os_prefix later:
|
||||
fname = prefixed_path(initramfs_file, os_prefix, temp_path, sizeof(temp_path));
|
||||
See: https://forums.raspberrypi.com/viewtopic.php?t=394238
|
||||
* recovery: Use OTP rpiboot GPIO if non-zero
|
||||
If an rpiboot GPIO has already been written to OTP then default to
|
||||
that value if C(program_rpiboot_gpio) is not specified on config.txt.
|
||||
|
||||
## 2025-11-27: helpers/config_loader: Also support bootvar0 eeprom config on Pi4 (latest)
|
||||
|
||||
* helpers/config_loader: Also support bootvar0 eeprom config on Pi4
|
||||
This allows an eeprom config setting (e.g. BOOTARG0=0x10) to be set on a board
|
||||
which config.txt can use as a conditional expression (e.g. [bootarg0&0x10]).
|
||||
* pi5: Write over-voltage config to the UART log
|
||||
Write the high level over-voltage configuration to the UART log for
|
||||
diagnostic purposes.
|
||||
* Stop partition-walk after boot-mode timeout/retries limit
|
||||
Fix a fatal assert with USB boot where the partition walk could be
|
||||
retried after the USB timeout/retry limit had been reached.
|
||||
See: https://github.com/raspberrypi/rpi-eeprom/issues/776
|
||||
* rpiboot: Extend metadata to report status of operations
|
||||
Report success/fail status of recovery operations based on config.txt settings
|
||||
|
||||
## 2025-11-21: recovery: Restore recovery_wait option (latest)
|
||||
|
||||
* recovery: Restore recovery_wait option
|
||||
Restore the recovery_wait config.txt option. If this option is set
|
||||
then recovery.bin will not rename itself or reboot. Instead flash
|
||||
the activity LED on completion.
|
||||
This option can be useful when creating an SD card to erase the
|
||||
EEPROM or program the RPIBOOT gpio on multiple devices.
|
||||
If recovery_wait=1 and recovery.bin is run from the SD card then
|
||||
indicate success of erase_eeprom=1 or program_rpiboot_gpio=N was
|
||||
set instead of requiring the EEPROM to be updated.
|
||||
* Manufacture test updates for SDRAM.
|
||||
|
||||
## 2025-11-09: Promote 2025-11-05 to the default release (default)
|
||||
|
||||
## 2025-11-05: Add iommu_dma_numa_policy=interleave when needed (latest)
|
||||
|
||||
* arm_loader: Add iommu_dma_numa_policy=interleave when needed
|
||||
This applies a similar numa interleave for iommu dma kernel allocations.
|
||||
This includes buffers allocated for hevc and v3d.
|
||||
See: https://forums.raspberrypi.com/viewtopic.php?t=392666
|
||||
|
||||
## 2025-10-14: recovery: Use ROM boot-mode to detect rpiboot (latest)
|
||||
|
||||
* recovery: Use ROM boot-mode flag to detect rpiboot mode
|
||||
In recovery-mode use the bootrom register flag to detect the
|
||||
original boot-mode rather than looking at whether the rpiboot
|
||||
usb-device boot driver is initialised.
|
||||
* Manufacturing test updates.
|
||||
|
||||
## 2025-10-08: Fix accidental set of PM_RSTS bit 5 when stopping watchdog (latest)
|
||||
|
||||
* Fix accidental set of PM_RSTS bit 5 when stopping watchdog
|
||||
Fix an issue in the watchdog code where the raw PM_RSTS value
|
||||
was used as partition number. If HADWRF (bit 5) was set (on reboot)
|
||||
this could cause bit 10 to be set. If an OS didn't clear the partition
|
||||
flags on reboot then this could end up being treated as request to
|
||||
boot from partition 32.
|
||||
|
||||
## 2025-10-03: arm_dt: Report OTP SDRAM size via device-tree (latest)
|
||||
|
||||
* arm_dt: Report OTP SDRAM size via device-tree
|
||||
Report the SDRAM in gigabits via device-tree as
|
||||
/proc/device-tree/chosen/rpi-sdram-size-gbit. Scripts reporting the
|
||||
device-capabilities should use this value (if defined) instead of the
|
||||
memory-size field in the boardrev row.
|
||||
* Apply UART_BAUD in early bootsys UART init
|
||||
Update bootsys and fatal error handlers to use the user
|
||||
defined UART_BAUD rate.
|
||||
* rpifwcrypto: Add support for ECDSA P-256 key generation
|
||||
Also, slightly improve the entropy by passing the system
|
||||
timer value as the personality string.
|
||||
|
||||
## 2025-09-23: Fix network install regression on Pi4 (latest)
|
||||
|
||||
* Fix network install regression on Pi4
|
||||
Fix an issue with the ECDSA signature code which caused network
|
||||
install to fail to load on Pi4.
|
||||
* Fix TFTP to allow larger files
|
||||
Allow TFTP block counter to rollover to 0.
|
||||
See: https://github.com/raspberrypi/rpi-eeprom/issues/720
|
||||
|
||||
## 2025-09-22: Add LZ4 decompressor (latest)
|
||||
|
||||
* Add LZ4 decompressor
|
||||
LZ4 gives a better compression ratio than the previously used CK compress. The bootloader can now decompress both LZ4 compressed files and CK compressed files.
|
||||
* rpifwcrypto: Add GET_CRYPTO_PRIVATE_KEY mailbox API
|
||||
For provisioning, add a new mailbox API which returns the private key
|
||||
in DER format. The API will return an error if the key-status for
|
||||
the specified key is LOCKED.
|
||||
* config: Add support for board_attributes in conditional expressions
|
||||
Add support for the board-attributes row in config.txt conditional
|
||||
expressions. This can be used to change boot behavior for
|
||||
Compute Module Lite / No-WiFi etc.
|
||||
* board_info: Log the OTP board revision at startup
|
||||
Log the board revision plus the raw OTP value at startup.
|
||||
|
||||
## 2025-08-27: Fix PARTITION property to allow default (0) partition to be overridden (latest)
|
||||
|
||||
* Fix PARTITION property to allow default (0) partition to be overridden
|
||||
Fix the partition selection to allow the bootloader PARTITION
|
||||
property to override the reboot partition number if the reboot
|
||||
argument is 0 or > 31. Previously, it was only allowing
|
||||
partition numbers > 31 to be overridden.
|
||||
See: https://github.com/raspberrypi/rpi-eeprom/issues/743
|
||||
* Enable RPIBOOT in BOOT_ORDER / set-reboot-order
|
||||
Previously, rpiboot required the bootrom to have initialised
|
||||
rpiboot before running the firmware. Update the rpiboot
|
||||
initialisation so that rpiboot to be enabled after booting from
|
||||
SPI flash.
|
||||
This could be selectively enabled by setting BOOT_ORDER property
|
||||
(0x3) behind a GPIO conditional in the EEPROM config. On Pi5, the
|
||||
set_reboot_order config.txt option or mailbox property can be
|
||||
used to set a one-time boot-order on
|
||||
N.B. There is no timeout for RPIBOOT so this should only be set
|
||||
as the last boot mode OR used with a boot_watchdog.
|
||||
|
||||
## 2025-08-20: Fix PARTITION_WALK for missing start.elf files (latest)
|
||||
|
||||
* Fix PARTITION_WALK for missing start.elf files
|
||||
Fix a missing call to bootloader_reset_state so that PARTITION_WALK
|
||||
will work if the boot-partition is FAT, contains config.txt etc
|
||||
but does not have valid firmware.
|
||||
See: https://github.com/raspberrypi/rpi-eeprom/issues/738
|
||||
* force_eeprom_read=0 disables HAT I2C
|
||||
Although setting force_eeprom_read=0 has always prevented the HAT EEPROM
|
||||
from being read, with the recent changes to support Power HAT+s it does
|
||||
not prevent an early scan to see if such an EEPROM exists. This can be
|
||||
problematic for applications where the I2C0 pins have been repurposed.
|
||||
Change the inhibit logic to cut all HAT I2C probing off at the knees,
|
||||
including any automatic settings of usb_max_current_enable, as it should
|
||||
always have done.
|
||||
See: https://github.com/raspberrypi/firmware/issues/1985
|
||||
* bootcode.bin: Add support for boot.img ramdisk on Pi3 and earlier
|
||||
Add support for boot.img ramdisk support, enable by adding boot_ramdisk=1
|
||||
in config.txt
|
||||
* rpifwcrypto: Preliminary firmware support for rpifwcrypto API
|
||||
* Add config.txt to block GET_CUSTOMER_PRIVATE_KEY mailbox API
|
||||
lock_device_private_key=1
|
||||
|
||||
## 2025-08-13: Enable PARTITION_WALK property by default (latest)
|
||||
|
||||
* Enable the PARTITION_WALK property by default
|
||||
Previously, the new PARTITION_WALK which searches for bootable
|
||||
partitions after a failure had to be explicitly enabled. Change
|
||||
the default to be enabled by default. It can be switched off by
|
||||
setting PARTITION_WALK=0 in the EEPROM config.
|
||||
* Optimise bootmain for size on Pi4
|
||||
Pi4 only has a 512KB SPI flash EEPROM and the addition of features
|
||||
plus fixes is now causing contention for space between the code and
|
||||
the EEPROM config. Since bootmain is only responsible for loading
|
||||
start.elf revert to the original configuration which is optimised
|
||||
for size rather than speed. Pi5 continues to be optimised for speed.
|
||||
|
||||
## 2025-07-17: arm_loader: Also require the early-watchdog property (latest)
|
||||
|
||||
* arm_loader: Also require the early-watchdog property
|
||||
The change correcting the implementation of dtoverlay_is_enabled had the
|
||||
unintended consequence of causing the firmware to enable the watchdog
|
||||
even though the user had not explicitly requested it. This is harmless
|
||||
on Linux because the watchdog driver takes over and disarms it, but on
|
||||
other operating systems this can lead to a reboot. Avoid this problem
|
||||
by also requiring the presence of a new property, "early-watchdog".
|
||||
See: https://github.com/raspberrypi/firmware/issues/1980
|
||||
* helpers/config_loader: Add bootvar0 eeprom config that can be used in config.txt section expressions
|
||||
This allows an eeprom config setting (e.g. BOOTVAR0=0x10) to be set on a board
|
||||
which config.txt can use as a conditional expression (e.g. [bootvar0&0x10]).
|
||||
* arm_loader: Fix boot-watchdog stop on Pi4
|
||||
Fix a problem where the boot_watchdog heartbeat timer was not
|
||||
stopped correctly which could cause it to clash with the kernel
|
||||
watchdog driver.
|
||||
|
||||
## 2025-07-03: Check for SD card overcurrent (latest)
|
||||
|
||||
* board_info: Use the Ethernet PHY address probed by the bootloader
|
||||
Use the Ethernet PHY address supplied by the bootloader in
|
||||
preference to the static configurations defined in start4.elf
|
||||
* Check for SD card overcurrent on Pi5, Pi500 and Pi4
|
||||
Before booting, the bootloader now checks the SD power switch
|
||||
overcurrent signal. The overcurrent signal occurs if the SD
|
||||
card is damaged and has a short circuit which will cause it to
|
||||
get hot.
|
||||
If an over-current condition is detected the bootloader switches
|
||||
switches off power to the SD card and waits five seconds before
|
||||
probing the SD card again. This error is displayed on the
|
||||
diagnostic screen, the UART and the activity LED (1 long, 2 short)
|
||||
flashes.
|
||||
The check can be switched to a non-blocking warning by setting
|
||||
SD_OVERCURRENT_CHECK=0 in the bootloader config.
|
||||
* Add a new error code pattern for SD overcurrent
|
||||
Add a new error pattern (1 long, 2 short) to signal SD card
|
||||
overcurrent.
|
||||
* Add support for a bootloader watchdog
|
||||
Add support for a boot watchdog (using PM_RSTC hw wdog) which will
|
||||
trigger if the OS is not started within the specified amount of time. The
|
||||
watchdog is enabled by setting the BOOT_WATCHDOG_TIMEOUT=N (seconds)
|
||||
property in the bootlaoder config.
|
||||
The BOOT_WATCHDOG_PARTITION=P property can be set to pass a different
|
||||
partition number to the bootloader on reset if the watchdog
|
||||
is triggered.
|
||||
The boot watchdog is automatically cleared just before starting
|
||||
the OS and (optionally) enabling the kernel watchdog.
|
||||
* Skip first SD boot if no card detected
|
||||
On platforms with an SD Card detect signal, skip the first attempt to
|
||||
boot from SD if the card appears to be absent. This can save over a
|
||||
second on a cold boot, and a little under a second for a reboot.
|
||||
|
||||
## 2025-05-16: 2711: Automatically set revoke_devkey if program_pubkey=1 (latest)
|
||||
|
||||
* 2711: (recovery) Automatically set revoke_devkey if program_pubkey=1
|
||||
Previously, on BCM2711 products it was possible to program the key
|
||||
hash without revoking the development key. This can be useful for
|
||||
testing but should never be used in production because it is possible
|
||||
to an install an older version of the bootloader which doesn't
|
||||
support secure-boot. Since the secure-boot tools are stable and
|
||||
have improved usability (RPi secure-boot provisioner) this test
|
||||
feature not necessary and is just a security risk so the behaviour
|
||||
is changed to always revoke the development key if program_pubkey=1.
|
||||
This change is not relevant on BCM2712 because secure-boot requires
|
||||
that the second stage bootloader is counter-signed with the customer's
|
||||
private key.
|
||||
|
||||
## 2025-05-13: Promote 2025-05-08 to the default release (default) (automatic)
|
||||
|
||||
## 2025-05-08: Implement TCP window for net boot (latest)
|
||||
* Signed boot and HTTP boot mode
|
||||
HTTP boot mode is supposed to be disabled if signed boot is enabled and
|
||||
a host is not specified. The code is checking the http_secure flag to
|
||||
enforce this. But this is valid now we support custom CA certs.
|
||||
Only disable HTTP mode if we're using the default HOST.
|
||||
* Implement TCP window for net boot
|
||||
The minimal IP stack used for https booting lacks the ability to cache
|
||||
packets received out of order, which can lead to severe slowdown when
|
||||
it happens. The problem seems to affect some ISPs more than others.
|
||||
The receive window implemented here copes with packet losses of 10%.
|
||||
* netboot: Correct the TCP MSS
|
||||
* Correct msecs in debug timestamps
|
||||
The fractional part of timestamps in UART debug output was showing the
|
||||
100ths and 1000ths of a second, rather than 10ths and 100ths, causing
|
||||
strange sequences that appear to jump backwards.
|
||||
|
||||
## 2025-02-17: Promote 2025-02-11 to default release (default)
|
||||
|
||||
## 2025-02-11: recovery: Walk partitions to delete recovery.bin (latest)
|
||||
|
||||
* recovery: Walk partitions to delete recovery.bin
|
||||
Previously, recovery.bin would fail to delete itself
|
||||
if the bootrom loaded recovery.bin where there are multiple FAT
|
||||
partitions and the first partition does not contain recovery.bin
|
||||
Update the rename code to walk the partition table to find
|
||||
the recovery.bin file to delete.
|
||||
* Enable overriding of high partition numbers
|
||||
Previously, the PARTITION=N bootloader config setting would only
|
||||
be used at power on reset or if the partition number passed to
|
||||
reboot was zero.
|
||||
Change the behaviour so that the bootloader config PARTITION
|
||||
property can override the reboot partition number if the reboot
|
||||
parameter is > 31.
|
||||
* Walk the partition table if the requested partition is not bootable
|
||||
Previously, if the specified boot partition was not bootable the
|
||||
bootloader would stop and advance to the next BOOT_ORDER. If the
|
||||
new PARTITION_WALK option is set to 1 the bootloader will now
|
||||
check each partition in turn starting from the specified partition
|
||||
before advancing the BOOT_ORDER.
|
||||
This feature is intended for use with A/B systems to handle the case
|
||||
where autoboot.txt is missing / corrupted. This change enables
|
||||
the system to failover to the next available bootable partition.
|
||||
The autoboot.txt file is not scanned during the partition-walk
|
||||
phase i.e. there is no recursive processing of autoboot.txt files.
|
||||
This option is only supported on physical block devices
|
||||
(SD, NVMe, USB) and not RAMDISK. USB assumes a single high speed
|
||||
device, partition walks on multiple USB devices is not recommended
|
||||
and may cause timeouts.
|
||||
* Improve keyboard handling in boot menu
|
||||
Try and make it more likely that we have enough time to perform key
|
||||
detection.
|
||||
Ignore mice, which were being enumerated and slowing things down.
|
||||
|
||||
## 2024-12-07: Enable banklow (and so NUMA) by default (latest)
|
||||
|
||||
* Enable banklow (and so NUMA) by default
|
||||
|
||||
BIN
firmware-2712/default/pieeprom-2025-05-08.bin
Normal file
BIN
firmware-2712/default/pieeprom-2025-05-08.bin
Normal file
Binary file not shown.
BIN
firmware-2712/default/pieeprom-2025-11-05.bin
Normal file
BIN
firmware-2712/default/pieeprom-2025-11-05.bin
Normal file
Binary file not shown.
BIN
firmware-2712/default/pieeprom-2025-12-08.bin
Normal file
BIN
firmware-2712/default/pieeprom-2025-12-08.bin
Normal file
Binary file not shown.
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-05-08.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-05-08.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-06-13.bin
Executable file
BIN
firmware-2712/latest/pieeprom-2025-06-13.bin
Executable file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-06-20.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-06-20.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-06-29.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-06-29.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-07-03.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-07-03.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-07-17.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-07-17.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-08-13.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-08-13.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-08-20.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-08-20.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-08-27.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-08-27.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-09-22.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-09-22.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-09-23.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-09-23.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-09-25.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-09-25.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-10-08.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-10-08.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-10-17.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-10-17.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-11-05.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-11-05.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-11-21.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-11-21.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-11-27.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-11-27.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-12-08.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-12-08.bin
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
firmware-2712/old/default/pieeprom-2025-03-10.bin
Normal file
BIN
firmware-2712/old/default/pieeprom-2025-03-10.bin
Normal file
Binary file not shown.
BIN
firmware-2712/old/default/pieeprom-2025-05-08.bin
Normal file
BIN
firmware-2712/old/default/pieeprom-2025-05-08.bin
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user