Compare commits

..

31 Commits

Author SHA1 Message Date
Tim Gover
f13b5789f5 imager-release: Update for Pi5 2023-10-19 13:57:49 +01:00
timg236
a9d76cf703 Merge pull request #488 from lurch/patch-1
Fix typo
2023-10-19 09:22:27 +01:00
Andrew Scheller
ee72242f76 Fix typo 2023-10-18 23:56:16 +01:00
timg236
a75b0368e0 Merge pull request #487 from timg236/pieeprom-2023-10-18-2712
pieeprom-2023-10-18: 2712: Display autodetect + HAT gpiomap (default + latest)
2023-10-18 18:49:28 +01:00
Tim Gover
3b393d31ac pieeprom-2023-10-18: 2712: Display autodetect + HAT gpiomap (default + latest)
* Add support for HAT gpiomap for improved HAT compatibility.
* Add I2C probe for DSI display auto detect
* Automatically set dtparam=nvme if booted from nvme
* Fix network boot reset issue where only the first attempt works.
* Adding pciex4_reset=0 to config.txt will leave RP1 PCIe enabled when
ARM stage is started.
* Prevent HDMI diagnostics being displayed immediately when waking
after HALT.
* Update board-name - "Rasberry Pi 5"
2023-10-18 18:37:58 +01:00
timg236
e120a595d4 Update README.md 2023-10-17 11:26:51 +01:00
timg236
3271aba368 Update README.md 2023-10-17 10:59:59 +01:00
timg236
dbb6bfd9b9 Update releases.md 2023-10-17 10:58:21 +01:00
timg236
2c35493e7f Update releases.md
Add a link to 2712 and drop reference to latest default release because this will just bitrot
2023-10-17 10:55:50 +01:00
Tim Gover
4f2d676b4e Merge pull request #485 from timg236/pi5
Add support for Pi5
2023-09-29 13:02:08 +01:00
Tim Gover
ac013de80e firmware-2711: Switch symlinks to use the standard release names
The EEPROM release names were changed to follow the naming
in raspi-config some time ago. Since the firmware directory
is being renamed to be chip specific for Pi5 support it's
good time to swap the symlink / release names.
2023-09-29 11:19:24 +01:00
Tim Gover
3ce1fd8823 pieeprom-2023-09-28: 2712: vcgencmd pmic_read_adcs fixes
* Fix the LDO names and current scaling codes
* Manufacturing test updates

Bump BOOTLOADER_AUTO_UPDATE_MIN_VERSION to this version.
2023-09-28 16:35:50 +01:00
Tim Gover
e1971ba483 pieeprom-2023-09-21: 2712: Add recovery.bin for make-image-release 2023-09-28 16:35:50 +01:00
Tim Gover
a8ca86532c pieeprom-2023-09-21: 2712: Power button and ACT LED improvements 2023-09-28 16:35:50 +01:00
Tim Gover
9e5c0ed0c4 pieeprom-2023-09-13: 2712: Initial firmware release for Pi5 2023-09-28 16:35:50 +01:00
Tim Gover
9147a1a1c6 scripts: Add support for chip-specific firmware directories
BCM2711 and BCM2712 require different EEPROM firmware and
consequently the binaries have been moved to chip specific
firmware directories.

firmware-2711 / firmware-2712
2023-09-28 16:35:50 +01:00
Tim Gover
f818c860b4 firmware-2712: Create the 2712 firmware directory structure 2023-09-28 16:35:50 +01:00
Tim Gover
c2918a8ec6 Rename firmware to firmware-2711 2023-09-28 16:35:50 +01:00
Tim Gover
3e2de88bcb Merge pull request #478 from XECDesign/boot_firmware_support
If /boot/firmware is in fstab, use it as BOOTFS
2023-09-04 11:31:25 +01:00
Tim Gover
fa281d3be1 test: install: Clean /lib/firmware/bootloader
Update the test/install script to remove previous firmware files.

This fixes a problem where the install script failed because
beta is now a symlink and not a directory.
2023-08-23 08:48:45 +01:00
Tim Gover
d774d5794c Merge pull request #482 from timg236/remove-beta-releases
firmware: Remove the beta release folder
2023-08-02 14:51:21 +01:00
Tim Gover
299b1c7e12 firmware: Remove the beta release folder
Remove the beta release folder and replace with a symlink to the
'latest' release.

Including beta firmware in the APT release causes unecessary churn
and occasionally causes an issue where a user might end up on an
old and unsupported beta release.

Instead, beta releases are will be feature specific and installed
manually via 'rpi-eeprom-config --edit beta-firmware.bin'

i.e. beta releases will be out-of-package custom firmware releases
downloaded from github. The functionality will be merged into
a new latest/stable release or abandoned.

N.B. The old beta releases have been archived to 'old' but are no
longer included in APT.
2023-08-02 14:48:45 +01:00
Serge Schneider
0ef3adc1d4 If /boot/firmware is in fstab, use it as BOOTFS
Debian's raspi-firmware package assumes the boot partition is mounted as
/boot/firmware/ rather than /boot/. This commit adds support for either
approach by default.
2023-08-02 12:22:53 +01:00
Tim Gover
df46db226e Merge pull request #481 from trejan/patch-1
Update URL for CM4 bootloader docs
2023-07-04 16:35:31 +01:00
TM
6950fff013 Update URL for CM4 bootloader doc site 2023-07-04 16:19:49 +01:00
Tim Gover
75d3a76046 Merge pull request #477 from timg236/pieeprom-2023-05-11-STABLE
pieeprom-2023-05-11: Promote BETA release to STABLE
2023-05-15 15:27:52 +01:00
Tim Gover
4856a034e3 pieeprom-2023-05-11: Promote BETA release to STABLE 2023-05-15 09:19:06 +01:00
Tim Gover
43477c6a91 Merge pull request #476 from timg236/pieeprom-2023-05-11
pieeprom-2023-05-11: Fix intermittent hang during secure-boot - BETA
2023-05-11 08:03:01 +01:00
Tim Gover
abce28f9bc pieeprom-2023-05-11: Fix intermittent hang during secure-boot - BETA 2023-05-11 07:52:25 +01:00
Tim Gover
3c3dadb5b1 Merge pull request #467 from hanzyd/master
rpi-eeprom-update: Follow links when looking for latest EEPROM
2023-01-30 12:20:43 +00:00
Ivan T. Ivanov
d82d08db06 rpi-eeprom-update: Follow links when looking for latest EEPROM
latest and default are links to directories, so follow them.

Before:

/usr/bin/rpi-eeprom-update
BOOTLOADER: up to date
   CURRENT: Wed Jan 11 17:40:52 UTC 2023 (1673458852)
    LATEST: Thu Jan  1 00:00:00 UTC 1970 (0)
   RELEASE: critical (/lib/firmware/raspberrypi/bootloader/critical)

After:

/usr/bin/rpi-eeprom-update
BOOTLOADER: up to date
   CURRENT: Wed Jan 11 17:40:52 UTC 2023 (1673458852)
    LATEST: Wed Jan 11 17:40:52 UTC 2023 (1673458852)
   RELEASE: critical (/lib/firmware/raspberrypi/bootloader/critical)

Signed-off-by: Ivan T. Ivanov <iivanov@suse.de>
2023-01-30 12:19:24 +02:00
202 changed files with 316 additions and 1477 deletions

View File

@@ -1,5 +1,5 @@
# 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 Pi 4 bootloader and VLI USB controller EEPROMs.
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 and Raspberry Pi 5 bootloaders EEPROM images.
# Support
Please check the Raspberry Pi [general discussion forum](https://forums.raspberrypi.com/viewforum.php?f=63) if you have a support question.
@@ -12,5 +12,4 @@ To reset the bootloader back to factory defaults use [Raspberry Pi Imager](https
* [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)
* [Releases and release notes](releases.md)

9
debian/.gitignore vendored
View File

@@ -1,9 +0,0 @@
.debhelper/
debhelper-build-stamp
files
rpi-eeprom/
rpi-eeprom-images/
*.debhelper.log
*.debhelper
*.substvars
*.1

View File

@@ -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.

1088
debian/changelog vendored

File diff suppressed because it is too large Load Diff

1
debian/compat vendored
View File

@@ -1 +0,0 @@
11

29
debian/control vendored
View File

@@ -1,29 +0,0 @@
Source: rpi-eeprom
Section: misc
Priority: optional
Maintainer: Serge Schneider <serge@raspberrypi.org>
Build-Depends: debhelper (>= 11), help2man, python3-minimal
Standards-Version: 4.1.3
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: armhf arm64
Depends: ${shlibs:Depends}, ${misc:Depends}, libraspberrypi-bin, python3,
binutils, raspberrypi-bootloader (>= 1.20190819), pciutils
Breaks: rpi-eeprom-images (<<7.2)
Replaces: rpi-eeprom-images (<<7.2)
Recommends: flashrom
Provides: rpi-eeprom-images
Description: Raspberry Pi 4 boot EEPROM updater
Checks whether the Raspberry Pi bootloader EEPROM is up-to-date and updates
the EEPROM.
Package: rpi-eeprom-images
Architecture: armhf arm64
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
View File

@@ -1 +0,0 @@
../LICENSE

View File

@@ -1 +0,0 @@
FIRMWARE_RELEASE_STATUS="default"

3
debian/gbp.conf vendored
View File

@@ -1,3 +0,0 @@
[DEFAULT]
upstream-tree = master
debian-branch = debian/buster

View File

View File

@@ -1,2 +0,0 @@
debian/LICENCE.bootloader
firmware/release-notes.md

View File

@@ -1,12 +0,0 @@
rpi-eeprom-config usr/bin/
rpi-eeprom-update usr/bin/
rpi-eeprom-digest usr/bin/
debian/default/ etc/
firmware/default lib/firmware/raspberrypi/bootloader/
firmware/latest lib/firmware/raspberrypi/bootloader/
firmware/critical lib/firmware/raspberrypi/bootloader/
firmware/stable lib/firmware/raspberrypi/bootloader/
firmware/beta lib/firmware/raspberrypi/bootloader/
firmware/release-notes.md lib/firmware/raspberrypi/bootloader/

View File

@@ -1,2 +0,0 @@
debian/rpi-eeprom-update.1
debian/rpi-eeprom-config.1

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -1,11 +0,0 @@
[Unit]
Description=Check for Raspberry Pi EEPROM updates
After=boot.mount
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/bin/rpi-eeprom-update -s -a
[Install]
WantedBy=multi-user.target

27
debian/rules vendored
View File

@@ -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 4B" \
--output=$@ ./rpi-eeprom-config

View File

@@ -1 +0,0 @@
3.0 (quilt)

View File

@@ -1 +0,0 @@
debian-copyright-is-symlink

1
firmware-2711/beta Symbolic link
View File

@@ -0,0 +1 @@
latest/

1
firmware-2711/critical Symbolic link
View File

@@ -0,0 +1 @@
default/

Binary file not shown.

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