From dd6f09695f137b1dce162f7d554904f5d283ca31 Mon Sep 17 00:00:00 2001 From: Frank Hunleth Date: Mon, 8 Jul 2019 10:44:12 -0400 Subject: [PATCH] rpi-firmware: support custom version selection Since the rpi-firmware supplies firmware binaries that have the potential to depend on kernel drivers, we've matched kernel versions to rpi-firmware versions. In order to simplify using different Linux kernel versions, this adds an option to set the tag or hash to use. For example, if you're using the Raspberry Pi Linux kernel tagged `1.20200902`, you can now use the rpi-firmware version that was tagged `1.20200902`. --- package/rpi-firmware/Config.in | 5 +++++ package/rpi-firmware/rpi-firmware.mk | 14 +++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in index a9aeaed745..fba78c9ed9 100644 --- a/package/rpi-firmware/Config.in +++ b/package/rpi-firmware/Config.in @@ -11,6 +11,11 @@ config BR2_PACKAGE_RPI_FIRMWARE if BR2_PACKAGE_RPI_FIRMWARE +config BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_VERSION + string "custom version" + help + If specified, use this tag or git hash instead of the default + config BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN bool "rpi 0/1/2/3 bootcode.bin" help diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk index 6f5902fd52..f6c44df580 100644 --- a/package/rpi-firmware/rpi-firmware.mk +++ b/package/rpi-firmware/rpi-firmware.mk @@ -4,7 +4,19 @@ # ################################################################################ -RPI_FIRMWARE_VERSION = 3f20b832b27cd730deb6419b570f31a98167eef6 +ifeq ($(call qstrip,$(BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_VERSION)),) +ifeq ($(BR2_PACKAGE_RPI_FIRMWARE),y) +$(error The Raspberry Pi firmware version is no longer derived automatically.\ + Please set BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_VERSION in your nerves_defconfig\ + to a version that is compatible with the Linux kernel that you are using.\ + For example, if using a tagged Raspberry Pi kernel, there usually is a \ + corresponding tag at https://github.com/raspberrypi/firmware) +endif +else +RPI_FIRMWARE_VERSION = $(call qstrip,$(BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_VERSION)) +BR_NO_CHECK_HASH_FOR += $(RPI_FIRMWARE_SOURCE) +endif + RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3-Clause RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom -- 2.34.1