From 434ed33c90b7659152b1e8d7c2d4d785db85105f Mon Sep 17 00:00:00 2001 From: Leon Anavi Date: Thu, 20 Jun 2024 14:53:48 +0300 Subject: [PATCH 01/14] rpi-u-boot-scr: WORKDIR -> UNPACKDIR transition This adapts to the oe-core rework to enforce a separate directory for unpacking local sources (UNPACKDIR) instead of directly using WORKDIR. Follows the preliminary guideline from: https://lists.openembedded.org/g/openembedded-architecture/message/2007 Signed-off-by: Leon Anavi --- recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb b/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb index bbd87362..d035d6e4 100644 --- a/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb +++ b/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb @@ -21,6 +21,9 @@ do_compile() { inherit kernel-arch deploy nopackages +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" + do_deploy() { install -d ${DEPLOYDIR} install -m 0644 boot.scr ${DEPLOYDIR} From 633e51f4bc70c236c2466ae0e4f9b5ce53517b8e Mon Sep 17 00:00:00 2001 From: Jan Vermaete Date: Sat, 29 Jun 2024 21:29:13 +0200 Subject: [PATCH 02/14] rpi-base.inc: added the disable-bt-pi5 device tree overlay The overlay to disable Bluetooth is different for Raspberry Pi 5. Signed-off-by: Jan Vermaete --- conf/machine/include/rpi-base.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/machine/include/rpi-base.inc b/conf/machine/include/rpi-base.inc index a5fd1a45..b436e15a 100644 --- a/conf/machine/include/rpi-base.inc +++ b/conf/machine/include/rpi-base.inc @@ -18,6 +18,7 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \ overlays/overlay_map.dtb \ overlays/at86rf233.dtbo \ overlays/disable-bt.dtbo \ + overlays/disable-bt-pi5.dtbo \ overlays/disable-wifi.dtbo \ overlays/dwc2.dtbo \ overlays/gpio-ir.dtbo \ From 3d6873db6bcd82ab9242854dbe9ea08a18128224 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 17 Jul 2024 18:17:49 -0700 Subject: [PATCH 03/14] weston-init.bbappend: Delete These options are now part of weston.ini since yocto 4.0 [1] [1] https://git.yoctoproject.org/poky/commit/?id=5c95402ff95 Signed-off-by: Khem Raj --- recipes-graphics/wayland/weston-init.bbappend | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 recipes-graphics/wayland/weston-init.bbappend diff --git a/recipes-graphics/wayland/weston-init.bbappend b/recipes-graphics/wayland/weston-init.bbappend deleted file mode 100644 index b6d6f2e8..00000000 --- a/recipes-graphics/wayland/weston-init.bbappend +++ /dev/null @@ -1,10 +0,0 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" - -do_install:append:rpi() { - if [ -e ${D}/${sysconfdir}/init.d/weston ]; then - sed -i 's#weston-start --#weston-start -- --continue-without-input#' ${D}/${sysconfdir}/init.d/weston - fi - if [ -e ${D}${systemd_system_unitdir}/weston.service ]; then - sed -i 's#ExecStart=/usr/bin/weston#ExecStart=/usr/bin/weston --continue-without-input#' ${D}${systemd_system_unitdir}/weston.service - fi -} From e9e5efa750490cd0dac853eb65640d0cb337b03e Mon Sep 17 00:00:00 2001 From: Bastian Wanner Date: Fri, 9 Feb 2024 10:40:33 +0100 Subject: [PATCH 04/14] udev-rules-rpi.bb: Fix psplash systemd connection Add udev rule to notify systemd of available framebuffer Using psplash in combination with systemd the splash screen is not shown. The dependency to sys-devices-platform-gpu-graphics-fb0.device will terminate psplash-start.service because systemd is not aware of the existing framebuffer device node. See https://lists.yoctoproject.org/g/yocto/topic/91286438#57156 Signed-off-by: Bastian Wanner --- recipes-core/udev/udev-rules-rpi.bb | 2 ++ recipes-core/udev/udev-rules-rpi/fb.rules | 1 + 2 files changed, 3 insertions(+) create mode 100644 recipes-core/udev/udev-rules-rpi/fb.rules diff --git a/recipes-core/udev/udev-rules-rpi.bb b/recipes-core/udev/udev-rules-rpi.bb index 3ca34f44..2dba4de2 100644 --- a/recipes-core/udev/udev-rules-rpi.bb +++ b/recipes-core/udev/udev-rules-rpi.bb @@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda SRC_URI = " \ git://github.com/RPi-Distro/raspberrypi-sys-mods;protocol=https;branch=master \ file://can.rules \ + file://fb.rules \ " SRCREV = "5ce3ef2b7f377c23fea440ca9df0e30f3f8447cf" @@ -16,4 +17,5 @@ do_install () { install -d ${D}${sysconfdir}/udev/rules.d install -m 0644 ${S}/etc.armhf/udev/rules.d/99-com.rules ${D}${sysconfdir}/udev/rules.d/ install -m 0644 ${UNPACKDIR}/can.rules ${D}${sysconfdir}/udev/rules.d/ + install -m 0644 ${UNPACKDIR}/fb.rules ${D}${sysconfdir}/udev/rules.d/ } diff --git a/recipes-core/udev/udev-rules-rpi/fb.rules b/recipes-core/udev/udev-rules-rpi/fb.rules new file mode 100644 index 00000000..dcaa129c --- /dev/null +++ b/recipes-core/udev/udev-rules-rpi/fb.rules @@ -0,0 +1 @@ +SUBSYSTEM=="graphics", KERNEL=="fb[0-9]*", TAG+="systemd" From ec745772dcd5dc4c38ce2d7e6387d4442ad3b492 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Fri, 23 Aug 2024 13:34:31 +0200 Subject: [PATCH 05/14] mesa: rename bbappend to match new recipe name from oe-core Otherwise it will fail to parse. Renamed in: https://git.openembedded.org/openembedded-core/commit/?id=f5cfb3e23603cefb2f3f6bfe776afaedefd10808 Signed-off-by: Martin Jansa --- recipes-graphics/mesa/{mesa-gl_%.bbappend => mesa-gl.bbappend} | 0 recipes-graphics/mesa/{mesa_%.bbappend => mesa.bbappend} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename recipes-graphics/mesa/{mesa-gl_%.bbappend => mesa-gl.bbappend} (100%) rename recipes-graphics/mesa/{mesa_%.bbappend => mesa.bbappend} (100%) diff --git a/recipes-graphics/mesa/mesa-gl_%.bbappend b/recipes-graphics/mesa/mesa-gl.bbappend similarity index 100% rename from recipes-graphics/mesa/mesa-gl_%.bbappend rename to recipes-graphics/mesa/mesa-gl.bbappend diff --git a/recipes-graphics/mesa/mesa_%.bbappend b/recipes-graphics/mesa/mesa.bbappend similarity index 100% rename from recipes-graphics/mesa/mesa_%.bbappend rename to recipes-graphics/mesa/mesa.bbappend From 2b97daf19617a1d0b72a85288b6c788d0d8cdd47 Mon Sep 17 00:00:00 2001 From: Vincent Davis Jr Date: Sun, 16 Jun 2024 18:02:08 -0400 Subject: [PATCH 06/14] rpi-default-providers: remove vlc,ffmpeg PREFFERED_PROVIDER Switch to defaulting to OE core ffmpeg & meta-openembedded vlc. Upgrades to newer rpi-distro VLC version in an OE environment have proven to be tedious due to all the PI foundation patches. Some patches aren't fully pushed into github and require updates to build. Maintaining patches have also proven to be unstable. Defualt to stable builds of both so that. Peoples builds aren't broken. If rpi-distro rpi-distro version of ffmpeg & vlc wanted users may switch by setting PREFFERED_PROVIDER. Signed-off-by: Vincent Davis Jr --- conf/machine/include/rpi-default-providers.inc | 4 ---- 1 file changed, 4 deletions(-) diff --git a/conf/machine/include/rpi-default-providers.inc b/conf/machine/include/rpi-default-providers.inc index 3f810264..c02d2487 100644 --- a/conf/machine/include/rpi-default-providers.inc +++ b/conf/machine/include/rpi-default-providers.inc @@ -7,10 +7,6 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains("MACHINE_FEATURES", PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}" PREFERRED_PROVIDER_virtual/mesa ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}" PREFERRED_PROVIDER_virtual/libgbm ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}" -PREFERRED_PROVIDER_vlc ?= "rpidistro-vlc" -PREFERRED_PROVIDER_ffmpeg ?= "rpidistro-ffmpeg" -PREFERRED_PROVIDER_libav ?= "rpidistro-ffmpeg" -PREFERRED_PROVIDER_libpostproc ?= "rpidistro-ffmpeg" PREFERRED_PROVIDER_jpeg ?= "jpeg" PREFERRED_PROVIDER_virtual/libomxil ?= "userland" From 43dada077147153143fff96ce1c81f09dba3216b Mon Sep 17 00:00:00 2001 From: Vincent Davis Jr Date: Sun, 16 Jun 2024 18:18:14 -0400 Subject: [PATCH 07/14] docs: include PREFERRED_PROVIDER_ffmpeg,vlc change Signed-off-by: Vincent Davis Jr --- docs/extra-build-config.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/extra-build-config.md b/docs/extra-build-config.md index dfb86f16..a8a84adf 100644 --- a/docs/extra-build-config.md +++ b/docs/extra-build-config.md @@ -487,14 +487,15 @@ MMAL is not enabled by default. To enable it add DISABLE_VC4GRAPHICS = "1" -to `local.conf`. Adding `vlc` to `IMAGE_INSTALL` will then default to building the Raspberry -Pi's Distro implementation of VLC with HW accelerated video decode through MMAL into the system -image. It also defaults to building VLC with Raspberry PI's Distro implementation of ffmpeg. The -oe-core implementation of ffmpeg and the meta-openembedded/meta-multimedia implementation of VLC -can however be selected via: - - PREFERRED_PROVIDER_ffmpeg = "ffmpeg" - PREFERRED_PROVIDER_vlc = "vlc" +to `local.conf`. Adding `vlc` to `IMAGE_INSTALL` will then default to building the oe-core +implementation of ffmpeg and the meta-openembedded/meta-multimedia implementation of VLC. +The Raspberry Pi's Distro implementation of VLC with HW accelerated video decode through +MMAL and the Raspberry PI's Distro implementation of ffmpeg. Can however be selected via: + + PREFERRED_PROVIDER_vlc = "rpidistro-vlc" + PREFERRED_PROVIDER_ffmpeg = "rpidistro-ffmpeg" + PREFERRED_PROVIDER_libav = "rpidistro-ffmpeg" + PREFERRED_PROVIDER_libpostproc = "rpidistro-ffmpeg" Usage example: Start VLC with mmal_vout plugin and without an active display server. From f6c79cde63c5d2773762525bdefc9ac41233eff9 Mon Sep 17 00:00:00 2001 From: Andrew Lalaev Date: Fri, 30 Aug 2024 17:29:17 +0200 Subject: [PATCH 08/14] rpi-base.inc: add the disable-wifi-pi5 overlay For RPi5 we need to use a different overlay to disable built-in WiFi. Signed-off-by: Andrew Lalaev --- conf/machine/include/rpi-base.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/machine/include/rpi-base.inc b/conf/machine/include/rpi-base.inc index b436e15a..1bd4459f 100644 --- a/conf/machine/include/rpi-base.inc +++ b/conf/machine/include/rpi-base.inc @@ -20,6 +20,7 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \ overlays/disable-bt.dtbo \ overlays/disable-bt-pi5.dtbo \ overlays/disable-wifi.dtbo \ + overlays/disable-wifi-pi5.dtbo \ overlays/dwc2.dtbo \ overlays/gpio-ir.dtbo \ overlays/gpio-ir-tx.dtbo \ From e49de228735391e068642309009058fb06f4c528 Mon Sep 17 00:00:00 2001 From: Pierrick Curt Date: Fri, 23 Aug 2024 16:53:44 +0200 Subject: [PATCH 09/14] rpi-base: build uart dts overlays by default We need the uart dts overlays to enable a specific uart peripheral. For example if you use the disable-bt overlay, you have to enable the uart0 dts overlay to be able to use uart0 peripheral. Signed-off-by: Pierrick Curt --- conf/machine/include/rpi-base.inc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/conf/machine/include/rpi-base.inc b/conf/machine/include/rpi-base.inc index 1bd4459f..0b5909b0 100644 --- a/conf/machine/include/rpi-base.inc +++ b/conf/machine/include/rpi-base.inc @@ -60,6 +60,17 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \ overlays/pps-gpio.dtbo \ overlays/rpi-ft5406.dtbo \ overlays/rpi-poe.dtbo \ + overlays/uart0.dtbo \ + overlays/uart0-pi5.dtbo \ + overlays/uart1.dtbo \ + overlays/uart1-pi5.dtbo \ + overlays/uart2.dtbo \ + overlays/uart2-pi5.dtbo \ + overlays/uart3.dtbo \ + overlays/uart3-pi5.dtbo \ + overlays/uart4.dtbo \ + overlays/uart4-pi5.dtbo \ + overlays/uart5.dtbo \ overlays/vc4-fkms-v3d.dtbo \ overlays/vc4-fkms-v3d-pi4.dtbo \ overlays/vc4-kms-v3d.dtbo \ From f44832bcddada39bf61ead8e6164e285807cead3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20L=C3=B6fgren?= Date: Sat, 17 Aug 2024 09:16:15 +0200 Subject: [PATCH 10/14] README.md: Update link to compatible layers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous link pointing to Yocto Project Compatible Layers was no longer valid. Signed-off-by: Victor Löfgren --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1eaf6b20..6b160819 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ OpenEmbedded/Yocto distributions and layer stacks, such as: This layer is officially approved as part of the `Yocto Project Compatible Layers Program`. You can find details of that on the official Yocto Project -[website](https://www.yoctoproject.org/software-overview/layers/?searchTerm=meta-raspberrypi). +[website](https://www.yoctoproject.org/development/yocto-project-compatible-layers/). ## Dependencies From d5ffe135c73ab940148e595c6fb010d50ddcfc60 Mon Sep 17 00:00:00 2001 From: Matthias Klein Date: Fri, 20 Sep 2024 09:05:33 +0200 Subject: [PATCH 11/14] linux-firmware-rpidistro: Upgrade to bookworm/20230625-2+rpt3 The upgrade was necessary to get WLAN running on a CM4 (under scarthgap). Otherwise I continuously got the following kernel messages when trying to connect: [ 31.907395] brcmfmac: brcmf_set_channel: set chanspec 0xd022 fail, reason -52 [ 32.023434] brcmfmac: brcmf_set_channel: set chanspec 0xd026 fail, reason -52 [ 32.135403] brcmfmac: brcmf_set_channel: set chanspec 0xd02a fail, reason -52 [ 32.247392] brcmfmac: brcmf_set_channel: set chanspec 0xd02e fail, reason -52 [ 33.919395] brcmfmac: brcmf_set_channel: set chanspec 0xd090 fail, reason -52 [ 33.926940] brcmfmac: brcmf_set_channel: set chanspec 0xd095 fail, reason -52 [ 33.935151] brcmfmac: brcmf_set_channel: set chanspec 0xd099 fail, reason -52 [ 33.942691] brcmfmac: brcmf_set_channel: set chanspec 0xd09d fail, reason -52 [ 33.950338] brcmfmac: brcmf_set_channel: set chanspec 0xd0a1 fail, reason -52 [ 33.957903] brcmfmac: brcmf_set_channel: set chanspec 0xd0a5 fail, reason -52 Firmware version before: BCM4345/6 wl0: Apr 15 2021 03:03:20 version 7.45.234 (4ca95bb CY) FWID 01-996384e2 Firmware version current: BCM4345/6 wl0: Aug 29 2023 01:47:08 version 7.45.265 (28bca26 CY) FWID 01-b677b91b Signed-off-by: Matthias Klein --- .../linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb b/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb index 1b430582..0409ba3f 100644 --- a/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb +++ b/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb @@ -18,8 +18,8 @@ LICENSE_FLAGS = "synaptics-killswitch" SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree;branch=bookworm;protocol=https \ file://0001-Default-43455-firmware-to-standard-variant.patch \ " -SRCREV = "223ccf3a3ddb11b3ea829749fbbba4d65b380897" -PV = "20230625-2+rpt2" +SRCREV = "4b356e134e8333d073bd3802d767a825adec3807" +PV = "20230625-2+rpt3" S = "${WORKDIR}/git" inherit allarch From fe96d4ddc386bbd41619b46395957da58eded542 Mon Sep 17 00:00:00 2001 From: Leon Anavi Date: Thu, 26 Sep 2024 11:40:12 +0300 Subject: [PATCH 12/14] conf/layer.conf: Remove meta-lts-mixins Remove layer dependency from meta-lts-mixins 'scarthgap/u-boot' because now the BSP supports styhead which brings U-Boot 2024.07. Signed-off-by: Leon Anavi --- conf/layer.conf | 3 --- 1 file changed, 3 deletions(-) diff --git a/conf/layer.conf b/conf/layer.conf index 76f9e92d..5e8cf5f7 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -11,9 +11,6 @@ BBFILE_PRIORITY_raspberrypi = "9" LAYERSERIES_COMPAT_raspberrypi = "styhead" LAYERDEPENDS_raspberrypi = "core" -# Recommended for u-boot support for raspberrypi5 -# https://git.yoctoproject.org/meta-lts-mixins 'scarthgap/u-boot' branch -LAYERRECOMMENDS_raspberrypi = "lts-u-boot-mixin" # Additional license directories. LICENSE_PATH += "${LAYERDIR}/files/custom-licenses" From 91868fb83f89df94f6352123a7724e4e97bfe448 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 4 Oct 2024 19:11:40 -0700 Subject: [PATCH 13/14] layer.conf: Update to walnascar (5.2) layer/release series Signed-off-by: Khem Raj --- conf/layer.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/layer.conf b/conf/layer.conf index 5e8cf5f7..97879c01 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -9,7 +9,7 @@ BBFILE_COLLECTIONS += "raspberrypi" BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/" BBFILE_PRIORITY_raspberrypi = "9" -LAYERSERIES_COMPAT_raspberrypi = "styhead" +LAYERSERIES_COMPAT_raspberrypi = "styhead walnascar" LAYERDEPENDS_raspberrypi = "core" # Additional license directories. From 1b6de69afd6c32c4b33c59547d2da49d7f7d62af Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Sat, 3 Aug 2024 11:26:24 +0800 Subject: [PATCH 14/14] conf/layer.conf: Remove duplicated BBFILES The following line doubles BBFILES for all layers in BBFILE_COLLECTIONS: BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bb' % layer \ for layer in BBFILE_COLLECTIONS.split())}" And most of them are invalid, use BBFILES_DYNAMIC is the correct solution. Signed-off-by: Robert Yang --- conf/layer.conf | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/conf/layer.conf b/conf/layer.conf index 97879c01..cdf81125 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -20,11 +20,6 @@ LICENSE_PATH += "${LAYERDIR}/files/custom-licenses" # # The .bbappend and .bb files are included if the respective layer # collection is available. -BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bbappend' % layer \ - for layer in BBFILE_COLLECTIONS.split())}" -BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bb' % layer \ - for layer in BBFILE_COLLECTIONS.split())}" - BBFILES_DYNAMIC += " \ openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \ openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \ @@ -34,6 +29,8 @@ BBFILES_DYNAMIC += " \ qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bbappend \ multimedia-layer:${LAYERDIR}/dynamic-layers/multimedia-layer/*/*/*.bb \ multimedia-layer:${LAYERDIR}/dynamic-layers/multimedia-layer/*/*/*.bbappend \ + meta-python:${LAYERDIR}/dynamic-layers/meta-python/*/*/*.bb \ + meta-python:${LAYERDIR}/dynamic-layers/meta-python/*/*/*.bbappend \ " DEFAULT_TEST_SUITES:remove:rpi = "parselogs"