Skip to content

Commit f977dac

Browse files
committed
feat: Update RPi kernel to 4.19.126 and firmware
Use latest official 4.19.x RPi kernel which has been used in Raspbian. Firmware for RPi, WiFi and Bluetooth is also updated. This should help fixing Bluetooth issues in YIO-Remote/remote-software#513
1 parent 40b79be commit f977dac

7 files changed

+126
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
diff --git a/package/rpi-firmware/rpi-firmware.hash b/package/rpi-firmware/rpi-firmware.hash
2+
index 59ab1da0c6..54607d0a41 100644
3+
--- a/package/rpi-firmware/rpi-firmware.hash
4+
+++ a/package/rpi-firmware/rpi-firmware.hash
5+
@@ -1,3 +1,3 @@
6+
# Locally computed
7+
-sha256 31a84340be08be319570a9d1439f25c0e3513fed73065a56aa5dd61dd605d5d9 rpi-firmware-01ecfd2ba2b7cf3a2f4aa75ada895ee4a3e729f5.tar.gz
8+
+sha256 4789d4422b3bc7eab157471ba36aebd54efc2a6de4c937f5cfdb4392af04fe80 rpi-firmware-7caead9416f64b2d33361c703fb243b8e157eba4.tar.gz
9+
sha256 c7283ff51f863d93a275c66e3b4cb08021a5dd4d8c1e7acc47d872fbe52d3d6b boot/LICENCE.broadcom
10+
diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
11+
index 4da687caec..8d73aa6987 100644
12+
--- a/package/rpi-firmware/rpi-firmware.mk
13+
+++ a/package/rpi-firmware/rpi-firmware.mk
14+
@@ -4,7 +4,7 @@
15+
#
16+
################################################################################
17+
18+
-RPI_FIRMWARE_VERSION = 01ecfd2ba2b7cf3a2f4aa75ada895ee4a3e729f5
19+
+RPI_FIRMWARE_VERSION = 7caead9416f64b2d33361c703fb243b8e157eba4
20+
RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION))
21+
RPI_FIRMWARE_LICENSE = BSD-3-Clause
22+
RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
diff --git a/package/rpi-wifi-firmware/rpi-wifi-firmware.hash b/package/rpi-wifi-firmware/rpi-wifi-firmware.hash
2+
index 5de9e0f13f..90aa03218f 100644
3+
--- a/package/rpi-wifi-firmware/rpi-wifi-firmware.hash
4+
+++ b/package/rpi-wifi-firmware/rpi-wifi-firmware.hash
5+
@@ -1,3 +1,3 @@
6+
# Locally calculated
7+
-sha256 51a33d23127300dffd6ac088f372b83ab862053f5e4dc7130676ebaaa824e626 rpi-wifi-firmware-688531da4bcf802a814d9cb0c8b6d62e3b8a3327.tar.gz
8+
+sha256 26e6e4aace9c9d1e9b9b1447f57ebd743dc15f3a337deac9e77d964885fcb3b3 rpi-wifi-firmware-00daf85ffa373ecce7836df7543c6ebe4cf43639.tar.gz
9+
sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx
10+
diff --git a/package/rpi-wifi-firmware/rpi-wifi-firmware.mk b/package/rpi-wifi-firmware/rpi-wifi-firmware.mk
11+
index 9dd1854b9a..0c697bddbe 100644
12+
--- a/package/rpi-wifi-firmware/rpi-wifi-firmware.mk
13+
+++ b/package/rpi-wifi-firmware/rpi-wifi-firmware.mk
14+
@@ -4,14 +4,14 @@
15+
#
16+
################################################################################
17+
18+
-RPI_WIFI_FIRMWARE_VERSION = 688531da4bcf802a814d9cb0c8b6d62e3b8a3327
19+
-RPI_WIFI_FIRMWARE_SITE = $(call github,LibreELEC,brcmfmac_sdio-firmware-rpi,$(RPI_WIFI_FIRMWARE_VERSION))
20+
+RPI_WIFI_FIRMWARE_VERSION = 00daf85ffa373ecce7836df7543c6ebe4cf43639
21+
+RPI_WIFI_FIRMWARE_SITE = $(call github,RPi-Distro,firmware-nonfree,$(RPI_WIFI_FIRMWARE_VERSION))
22+
RPI_WIFI_FIRMWARE_LICENSE = PROPRIETARY
23+
RPI_WIFI_FIRMWARE_LICENSE_FILES = LICENCE.broadcom_bcm43xx
24+
25+
define RPI_WIFI_FIRMWARE_INSTALL_TARGET_CMDS
26+
$(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm
27+
- $(INSTALL) -m 0644 $(@D)/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/brcm
28+
+ $(INSTALL) -m 0644 $(@D)/brcm/brcmfmac434* $(TARGET_DIR)/lib/firmware/brcm
29+
endef
30+
31+
$(eval $(generic-package))
32+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
diff --git a/package/rpi-bt-firmware/Config.in b/package/rpi-bt-firmware/Config.in
2+
index 45643d6a52..baa159ad6e 100644
3+
--- a/package/rpi-bt-firmware/Config.in
4+
+++ b/package/rpi-bt-firmware/Config.in
5+
@@ -6,4 +6,4 @@ config BR2_PACKAGE_RPI_BT_FIRMWARE
6+
firmware. Raspberry Pi 3 Model B+ Broadcom BCM4345C0
7+
Bluetooth module firmware.
8+
9+
- https://github.com/LibreELEC/brcmfmac_sdio-firmware-rpi
10+
+ https://github.com/RPi-Distro/bluez-firmware/tree/master/broadcom
11+
diff --git a/package/rpi-bt-firmware/rpi-bt-firmware.hash b/package/rpi-bt-firmware/rpi-bt-firmware.hash
12+
index a3c7281d75..22712dcae6 100644
13+
--- a/package/rpi-bt-firmware/rpi-bt-firmware.hash
14+
+++ b/package/rpi-bt-firmware/rpi-bt-firmware.hash
15+
@@ -1,3 +1,3 @@
16+
# Locally computed
17+
-sha256 51a33d23127300dffd6ac088f372b83ab862053f5e4dc7130676ebaaa824e626 rpi-bt-firmware-688531da4bcf802a814d9cb0c8b6d62e3b8a3327.tar.gz
18+
-sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx
19+
+sha256 ec762f5cde18329fe9c271bfec9af3895852601d6432632232cb0167b24bbd06 rpi-bt-firmware-929b7af9c43e7edc8b289435a9981b240f47b218.tar.gz
20+
+sha256 092aaac7a0743f6e98ef224dfd68cac7554aa267581121fadcace8599b7d29dd broadcom/BCM-LEGAL.txt
21+
diff --git a/package/rpi-bt-firmware/rpi-bt-firmware.mk b/package/rpi-bt-firmware/rpi-bt-firmware.mk
22+
index 23923453c4..48856fefad 100644
23+
--- a/package/rpi-bt-firmware/rpi-bt-firmware.mk
24+
+++ b/package/rpi-bt-firmware/rpi-bt-firmware.mk
25+
@@ -4,14 +4,14 @@
26+
#
27+
################################################################################
28+
29+
-RPI_BT_FIRMWARE_VERSION = 688531da4bcf802a814d9cb0c8b6d62e3b8a3327
30+
-RPI_BT_FIRMWARE_SITE = $(call github,LibreELEC,brcmfmac_sdio-firmware-rpi,$(RPI_BT_FIRMWARE_VERSION))
31+
+RPI_BT_FIRMWARE_VERSION = 929b7af9c43e7edc8b289435a9981b240f47b218
32+
+RPI_BT_FIRMWARE_SITE = $(call github,RPi-Distro,bluez-firmware,$(RPI_BT_FIRMWARE_VERSION))
33+
RPI_BT_FIRMWARE_LICENSE = PROPRIETARY
34+
-RPI_BT_FIRMWARE_LICENSE_FILES = LICENCE.broadcom_bcm43xx
35+
+RPI_BT_FIRMWARE_LICENSE_FILES = broadcom/BCM-LEGAL.txt
36+
37+
define RPI_BT_FIRMWARE_INSTALL_TARGET_CMDS
38+
$(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm
39+
- $(INSTALL) -m 0644 $(@D)/firmware/brcm/*.hcd $(TARGET_DIR)/lib/firmware/brcm
40+
+ $(INSTALL) -m 0644 $(@D)/broadcom/*.hcd $(TARGET_DIR)/lib/firmware/brcm
41+
endef
42+
43+
$(eval $(generic-package))
44+

buildroot-patches/README.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Buildroot Patches
2+
3+
Custom patching of the Buildroot Git submodule.
4+
This allows applying patches to a specific version without having to clone the
5+
modified Buildroot repository.
6+
7+
Patches are applied alphabetically with [patch-buildroot.sh](../scripts/patch-buildroot.sh).
8+
This is done automatically in the `INIT_BUILDROOT` function in [common.mk](../common.mk),
9+
which is called for example when executing `make menuconfig`.

common.mk

+2-1
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,11 @@ define UPDATE_DEFCONFIG
9595
endef
9696

9797
define INIT_BUILDROOT
98-
rm -f .toolchain-ready
98+
rm -f .toolchain-ready
9999
@if [ ! -d buildroot/.git ]; then \
100100
echo "Initializing Git submodule 'buildroot'"; \
101101
git submodule init; \
102102
git submodule update; \
103103
fi
104+
scripts/patch-buildroot.sh
104105
endef

rpi0/defconfig

+3-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_BUILDROOT_SUBMODULE_PATH)/$(PROJECT
2020
BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BUILDROOT_SUBMODULE_PATH)/$(PROJECT_NAME)/post-image.sh"
2121
BR2_LINUX_KERNEL=y
2222
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
23-
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,64d0a9870ac14d5eb5253f67d984ae348eec1393)/linux-64d0a9870ac14d5eb5253f67d984ae348eec1393.tar.gz"
23+
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/f6b3ac28f0a9137d4c24c0b8832e693bbd16f5b7.tar.gz"
2424
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
2525
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_BUILDROOT_SUBMODULE_PATH)/$(PROJECT_NAME)/kernel_config"
2626
BR2_LINUX_KERNEL_LZO=y
@@ -122,4 +122,6 @@ BR2_PACKAGE_HOST_GENIMAGE=y
122122
BR2_PACKAGE_HOST_MTOOLS=y
123123
BR2_PACKAGE_HOST_ZIP=y
124124
BR2_PACKAGE_YIO_REMOTE=y
125+
BR2_PACKAGE_YIO_REMOTE_CUSTOM_VERSION=y
126+
BR2_PACKAGE_YIO_REMOTE_SOFTWARE_CUSTOM_VERSION="01b3241457cf9c4e94ae239d2bd735f58d1d9291"
125127
BR2_PACKAGE_QTMQTT=y

scripts/patch-buildroot.sh

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
set -e
3+
4+
echo "Patching Buildroot"
5+
if [[ -d buildroot-patches ]]; then
6+
for patch_file in buildroot-patches/*.patch; do
7+
if ! patch --silent -N -d $(dirname $0)/../buildroot -p 1 --dry-run < "${patch_file}" >/dev/null 2>&1; then
8+
echo "Patch already applied or not applicable: ${patch_file}"
9+
else
10+
echo "Applying patch: ${patch_file}"
11+
patch -N -r - -d $(dirname $0)/../buildroot -p 1 < "${patch_file}";
12+
fi
13+
done
14+
fi

0 commit comments

Comments
 (0)