Following the recent major breaking change with the introduction of
bitbake-setup because of which the Poky repository master branch is
no longer being updated, the Poky git repository has to be replaced
by bitbake and openembedded-core. This fixes the GitHub workflow
with branch master of meta-raspberrypi for yocto-check-layer test.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Following the recent major breaking change with the introduction of
bitbake-setup because of which the Poky repository master branch is
no longer being updated, the Poky git repository has to be replaced
by bitbake, openembedded-core and meta-yocto which provides layers
meta-poky and meta-yocto-bsp. This fixes the GitHub workflows with
branch master of meta-raspberrypi and allows running auto checks.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Add rpi-backlight.dtbo to RPI_KERNEL_DEVICETREE_OVERLAYS. This is
a devicetree overlay for mailbox-driven Raspberry Pi DSI Display
backlight controller.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Move the raspberrypi PACKAGECONFIG to meta-oe (at least partially),
as the libcamera recipe needs to know when is it built for an rpi due
to a new build dependency. Also, make the PACKAGECONFIG append device
specific. Otherwise the behavior of the bbappend should not change
by this patch.
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Quite a few things have changed lately, eaiser to browse the release
page: https://github.com/raspberrypi/rpicam-apps/releases
The main reason for the update it improved build-compatibiltiy with
tensorflow-lite: it doesn't need cmake/pkg-config file anymore to
find the library, so it should be easier to integrate it with
meta-tensorflow.
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Add w1-gpio-pi5.dtbo to RPI_KERNEL_DEVICETREE_OVERLAYS to resolve
the following issue noticed in vclog --msg on Raspberry Pi 5 when
ENABLE_W1 is set to 1:
dtdebug: mapped overlay 'w1-gpio' to 'w1-gpio-pi5'
dtdebug: Failed to open overlay file 'overlays/w1-gpio-pi5.dtbo'
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
This machine configuration is for the Raspberry Pi 2B V1.2 (64-bit).
Note: Raspberry Pi 2 Model B V1.2[1] switched from BCM2836[2] (V1.0,
V1.1) to BCM2837[3] that is 64-bit CPU used in Raspberry Pi 3 Model B.
BCM2836[2]
The Broadcom chip used in the Raspberry Pi 2 Model B. The
underlying architecture in BCM2836 is identical to BCM2835. The
only significant difference is the removal of the ARM1176JZF-S
processor and replacement with a quad-core Cortex-A7 cluster.
BCM2837[3]
This is the Broadcom chip used in the Raspberry Pi 3 Model B,
later models of the Raspberry Pi 2 Model B, and the Raspberry Pi
Compute Module 3. The underlying architecture of the BCM2837 is
identical to the BCM2836. The only significant difference is the
replacement of the ARMv7 quad core cluster with a quad-core ARM
Cortex A53 (ARMv8) cluster.
The ARM cores run at 1.2GHz, making the device about 50% faster
than the Raspberry Pi 2. The VideoCore IV runs at 400MHz.
See:
Poky (Yocto Project Reference Distro) 5.2.99+snapshot-cfbb00657ab961a3c3a8e6619fc08a2a3f4255c7 raspberrypi2-64 ttyAMA0
raspberrypi2-64 login: root
WARNING: Poky is a reference Yocto Project distribution that should be used for testing and development purposes only. It is recommended that you create your own distribution for production use.
root@raspberrypi2-64:~# uname -a
Linux raspberrypi2-64 6.12.41-v8 #1 SMP PREEMPT Thu Aug 7 16:48:46 UTC 2025 aarch64 GNU/Linux
root@raspberrypi2-64:~# cat /proc/device-tree/compatible
raspberrypi,2-model-b-rev2brcm,bcm2837
root@raspberrypi2-64:~# tty
/dev/ttyAMA0
root@raspberrypi2-64:~# dmesg | head
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 6.12.41-v8 (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 15.2.0, GNU ld (GNU Binutils) 2.45.0.20250908) #1 SMP PREEMPT Thu Aug 7 16:48:46 UTC 2025
[ 0.000000] KASLR enabled
[ 0.000000] random: crng init done
[ 0.000000] Machine model: Raspberry Pi 2 Model B Rev 1.2
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created CMA memory pool at 0x000000001ec00000, size 256 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x000000001ec00000..0x000000002ebfffff (262144 KiB) map reusable linux,cma
[ 0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x000000003b3fffff]
[1]: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#flagship-series
[2]: https://www.raspberrypi.com/documentation/computers/processors.html#bcm2836
[3]: https://www.raspberrypi.com/documentation/computers/processors.html#bcm2837
Signed-off-by: Gaël PORTAY <gael.portay@rtone.fr>
Package rpicam_app.so.1.4.2 library for the default package to fix the
following error.
ERROR: libcamera-apps-1.4.2+git-r0 do_package: QA Issue: libcamera-apps: Files/directories were installed but not shipped in any package:
/usr/lib/rpicam_app.so.1.4.2
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
libcamera-apps: 1 installed and not shipped files. [installed-vs-shipped]
ERROR: libcamera-apps-1.4.2+git-r0 do_package: Fatal QA errors were found, failing task.
ERROR: Logfile of failure stored in: /home/build-2/tmp/work/cortexa53-poky-linux/libcamera-apps/1.4.2+git/temp/log.do_package.1110484
ERROR: Task (/home/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera-apps/libcamera-apps_git.bb:do_package) failed with exit code '1'
The following version expansion is used to make it compatible with future
package version changes.
${@d.getVar("PV", False).__str__().split('+')[0]}"
Fixes: https://github.com/agherzan/meta-raspberrypi/issues/1440
Signed-off-by: Bhargav Das <bhargavdas100@gmail.com>
SOCs used in rpi3 and rpi4 do not have AES crypto HW engine
denote it by using more appropriate default tune, this ensures
that it enforces +nocrypto into -mtune regardless of gcc or clang
compiler.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
It is already applied on upstream, see u-boot rev,
564d99d0723e338792df6897dc7407df2cf6196d
Fixes:
ERROR: u-boot-1_2025.07-r0 do_patch: Applying patch '0001-rpi-always-set-fdt_addr-with-firmware-provided-FDT-address.patch' on target directory '/workspaces/ls/linux-distro/build-ls-rpi4/tmp/work/ls_rpi4-limonsoftware-linux/u-boot/2025.07/sources/u-boot-2025.07'
CmdError('quilt --quiltrc /workspaces/ls/linux-distro/build-ls-rpi4/tmp/work/ls_rpi4-limonsoftware-linux/u-boot/2025.07/recipe-sysroot-native/etc/quiltrc push', 0, 'stdout: Applying patch 0001-rpi-always-set-fdt_addr-with-firmware-provided-FDT-address.patch
patching file board/raspberrypi/rpi/rpi.c
Hunk #1 FAILED at 318.
1 out of 1 hunk FAILED -- rejects in file board/raspberrypi/rpi/rpi.c
patch unexpectedly ends in middle of line
Patch 0001-rpi-always-set-fdt_addr-with-firmware-provided-FDT-address.patch can be reverse-applied
Signed-off-by: Anibal Limon <anibal@limonsoftware.com>
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
I needed support of the seeed-can-fd-hat-v2 Can Shield
Added the seeed-can-fd-hat-v2.dtbo device tree overlay to the rpi-base.inc and added the parameter for the CAN shield under the rpi-config so it can be easily enabled as a parameter from e.g. the local.conf and is added to the /boot/config.txt of the Pi. I also added the changes to the documentation.
Signed-off-by: Moritz Boesenberg <moritz@techmountain.dev>
Similarly to https://github.com/agherzan/meta-raspberrypi/pull/1481 this file also
needs an update.
picamera-libs-20230509~buster-r0 do_populate_lic fails:
ERROR: QA Issue: lib32-picamera-libs: LIC_FILES_CHKSUM points to an invalid file: lib32-picamera-libs/20230509~buster/raspberrypi-firmware-1.20230509~buster/opt/vc/LICENCE [license-checksum]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
To solve the AQ Issue it could not find the license file:
ERROR: rpi-bootfiles-20250430-r3 do_populate_lic: QA Issue: rpi-bootfiles: LIC_FILES_CHKSUM points to an invalid file: .../build/tmp/work/raspberrypi5-oe-linux/rpi-bootfiles/20250430/raspberrypi-firmware-bc7f439/boot/LICENCE.broadcom [license-checksum]
Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Some of them were introduced by mass-removal of S = WORKDIR/git assignments;
rather than try to fix up (or redo) just these, I've run this sed command over
the whole tree:
sed -i -z -E 's/([ \t\f\v\r]*\n){3,}/\n\n/g' `find . -name *.bb -o -name *.inc`
The rationale is that more than one empty line is wasting vertical screen space, and
does nothing for readability.
Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Since there are currently multiple breaking changes, update to a new
release series for the next release so layers can show compatibility
correctly.
Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Add vc4-kms-dsi-ili9881-7inch.dtbo for the Raspberry Pi Touch
Display 2 to RPI_KERNEL_DEVICETREE_OVERLAYS.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
- remove DRIDRIVERS variable
Both are not available in current mesa recipe
This fixes:
ERROR: mesa-2_25.0.5-r0 do_recipe_qa: QA Issue: mesa: invalid PACKAGECONFIG(s): dri3 [invalid-packageconfig]
ERROR: mesa-2_25.0.5-r0 do_recipe_qa: Fatal QA errors were found, failing task.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
With:
https://lists.openembedded.org/g/bitbake-devel/message/17508
there are WARNINGs like:
WARNING: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb:21 has a lack of whitespace around the assignment: 'PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"'
WARNING: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb:22 has a lack of whitespace around the assignment: 'PITFT22="${@bb.utils.contains("MACHINE_FEATURES", "pitft22", "1", "0", d)}"'
WARNING: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb:23 has a lack of whitespace around the assignment: 'PITFT28r="${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", "1", "0", d)}"'
WARNING: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb:24 has a lack of whitespace around the assignment: 'PITFT28c="${@bb.utils.contains("MACHINE_FEATURES", "pitft28c", "1", "0", d)}"'
WARNING: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb:25 has a lack of whitespace around the assignment: 'PITFT35r="${@bb.utils.contains("MACHINE_FEATURES", "pitft35r", "1", "0", d)}"'
WARNING: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb:27 has a lack of whitespace around the assignment: 'VC4GRAPHICS="${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}"'
WARNING: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb:38 has a lack of whitespace around the assignment: 'WM8960="${@bb.utils.contains("MACHINE_FEATURES", "wm8960", "1", "0", d)}"'
WARNING: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb:14 has a lack of whitespace around the assignment: 'export CC7="${CC}"'
WARNING: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb:15 has a lack of whitespace around the assignment: 'export LD7="${LD}"'
WARNING: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb:16 has a lack of whitespace around the assignment: 'export OBJCOPY7="${OBJCOPY}"'
WARNING: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb:17 has a lack of whitespace around the assignment: 'export OBJDUMP7="${OBJDUMP}"'
WARNING: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb:18 has a lack of whitespace around the assignment: 'export CC8="${CC}"'
WARNING: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb:19 has a lack of whitespace around the assignment: 'export LD8="${LD}"'
WARNING: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb:20 has a lack of whitespace around the assignment: 'export OBJCOPY8="${OBJCOPY}"'
WARNING: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb:21 has a lack of whitespace around the assignment: 'export OBJDUMP8="${OBJDUMP} -maarch64"'
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Fix the resource exhaustion problem on the build infrastructure.
Suggested-by: Stu Westerman @stu-spp
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Upgrade to Ubuntu 22.04 because it is compatible with the Yocto
Project release Walnascar and provides a newer Python version.
Fixes:
RuntimeError: Sorry, python 3.9.0 or later is required for this version of bitbake
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Increase CONFIG_SYS_BOOTM_LEN for machine raspberrypi4 (32-bit)
because the kernel size has increased. This fixes the following
issue when booting an image with U-Boot:
Image Name: Linux-6.6.63-v7l
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 8559752 Bytes = 8.2 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
Booting using the fdt blob at 0x2eff2000
Working FDT set to 2eff2000
Loading Kernel Image to 8000
Image too large: increase CONFIG_SYS_BOOTM_LEN
Must RESET board to recover
Fixes: https://github.com/agherzan/meta-raspberrypi/issues/1306
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Switches the Raspberry Pi 5 to use the standard cyfman43455-sdio
firmware by default. The minimal firmware on this device is unable to
connect to a WiFi access point.
This also matches the behavior of Raspberry Pi OS, which defaults to the
standard firmware
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Building libcamera from the latest version of meta-or fails
the buildpaths qa check with a number of generated binaries.
Looking into the logs, it seemed that the -f*-prefix-map
flags were present to gcc invocations, but the used flags
were quite off for g++ invocations. It seems that using
the cpp_args meson option overwrites (at least most of)
the CXXFLAGS set by Yocto, including the -f*-prefix-map
flags.
To avoid this, append the extra compile flag to the
CXXFLAGS variable instead of using meson's cpp_args option.
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
And replaced it by the features that was below it.
see:
commit 43b8b3fa72d75d8d82a478613a4d9bf4645b5389
Author: Ross Burton <ross.burton@arm.com>
Date: Thu Nov 7 13:47:52 2024 +0000
classes-recipe/core-image: drop debug-tweaks IMAGE_FEATURE
Remove the 'debug-tweaks' IMAGE_FEATURE. It sounds friendly and kind to
developers, but it results primarily in an image which root can login
remotely without a password. This is incredibly useful for local
development and testing purposes, but we really want to be explicit that
this is what is happening instead of hiding it behind a vague "debug
tweaks" statement.
To preserve the eixsting behaviour, debug-tweaks should be replaced with
these features:
allow-empty-password empty-root-password allow-root-login post-install-logging
(From OE-Core rev: 2c229f9542c6ba608912e14c9c3f783c3fa89349)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
Apparently the recipe for python3 picamera is installing some libraries
from /opt/vc/lib that are not necessary to the picamera module. The
gles2 library, in particular, overwrites a symlink to another version
of the gles2 library. The result is that two different gles2 libs are
placed in /usr/lib.
This commit removes a few unneeded libraries, leaving libmmal and its
dependencies, that are instead required.
Signed-off-by: Luca Carlon <carlon.luca@gmail.com>
All bcm2712 are built for arm64 builds alone and rpi-base.inc is included
by 32-bit machine configs as well. Recently, kernel moved thesr dts files
into arch/arm64/boot/dts/broadcom/ folder [1]
[1] 10c77e119e
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This patch enables the CONFIG_I2C_BRCMSTB option in vc4graphics.cfg to
ensure proper support for the `brcm,bcm2711-hdmi-i2c` device node. Without
this configuration, the I2C bus associated with HDMI on Broadcom
BCM2711-based systems may fail to probe, causing issues with HDMI
communication and display initialization.
Additionally, this resolves potential deferred probe issues observed in
the kernel logs, ensuring the correct initialization of the HDMI I2C bus.
Signed-off-by: Garrett Brown <garrett.brown@aclima.io>
For now only the 'dtmerge' (including 'dtoverlay' and 'dtparam') and 'pinctrl' utilities are included.
Added the 'raspi-' prefix to make it less conflicting with other 'utils' recipes.
Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
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 <liezhi.yang@windriver.com>
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 <leon.anavi@konsulko.com>
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 <pierrickcurt@gmail.com>
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 <vince@underview.tech>
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 <bastian.wanner@inovex.de>
in commit 01b162388e
with commit message:
rpi-base: Drop old dtbo names
pi3-disable-bt is renamed to disable-bt and pi3-miniuart-bt is renamed
to miniuart-bt in 2014, now with 5.4 these are not recognised anymore
and miniuart-bt and disable-bt are already part of RPI_KERNEL_DEVICETREE_OVERLAYS
Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
CONFIG_ASHMEM has been deprecated since 5.18 by:
commit 721412ed3d819e767cac2b06646bf03aa158aaec
Author: Christoph Hellwig <hch@lst.de>
Date: Tue Mar 15 13:34:57 2022 +0100
staging: remove ashmem
The mainline replacement for ashmem is memfd, so remove the legacy
code from drivers/staging/
so has CONFIG_ANDROID since 6.1 by:
commit 1045a06724f322ed61f1ffb994427c7bdbe64647
Author: Christoph Hellwig <hch@lst.de>
Date: Wed Jun 29 17:01:02 2022 +0200
remove CONFIG_ANDROID
The ANDROID config symbol is only used to guard the binder config
symbol and to inject completely random config changes. Remove it
as it is obviously a bad idea.
As now master has 6.1 or later, both should be dropped.
Signed-off-by: Jaeyoon Jung <jaeyoon.jung@lge.com>
Fixed the warning from kas:
WARNING - Using deprecated refspec for repository "poky". You should migrate to commit/tag/branch.
WARNING - Using deprecated refspec for repository "meta-openembedded". You should migrate to commit/tag/branch.
WARNING - Using deprecated refspec for repository "meta-qt5". You should migrate to commit/tag/branch.
Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
Reduce amount of patches applied as they
are no longer required for building.
From older commit no longer required
* 0001-avcodec-arm-sbcenc-avoid-callee-preserved-vfp-regist.patch
* 0002-Fix-build-on-powerpc-and-ppc64.patch
* 0003-avcodec-pngenc-remove-monowhite-from-apng-formats.patch
* 0004-ffmpeg-4.3.4-rpi_14.patc
* 0005-fix-flags.diff
Created by OE community to fix builds and are no longer required
* 2002-libavdevice-opengl_enc-update-dynamic-function-loader.patch
* 2003-libavcodec-fix-v4l2_req_devscan.patch
rpidistro-ffmpeg updates:
* removal of avresample flag. No longer exists
* removal of rpi flag. No longer exists
* include vout-egl and epoxy if opengl or x11 included
in DISTRO_FEATURES.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
Firmware links for model Zero 2 W were missing.
This patch sets the necessary links for brcmfmac firmware. Without the
links, the firmware cannot be loaded without causing boot messages like:
brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.bin failed with error -2
Fixesagherzan/meta-raspberrypi#1324
Signed-off-by: Matthias Klein <matthias@extraklein.de>
oe-core upgrade 1.22.11 -> 1.24.3:
9c21815339
be aware that this also dropped gstreamer1.0-omx recipe as upstream has removed it:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4976
and similarly for libomxil:
63535ce551
So now meta-raspberrypi doesn't parse again due to this .bbappend
Remove it to unblock parsing, but there will be other improvements
or cleanups needed later (preferrably by someone who was using that
I'm just seeing parsing failure in world builds). e.g.:
conf/machine/include/rpi-default-providers.inc:PREFERRED_PROVIDER_virtual/libomxil ?= "userland"
conf/machine/include/rpi-default-providers.inc:VIRTUAL-RUNTIME_libomxil = "userland"
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/rpidistro-vlc_3.0.17.bb: file://3003-codec-omxil_core-replace-opt-vc-path-with-usr-lib.patch \
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/rpidistro-vlc_3.0.17.bb: file://3006-codec-omxil_core.h-fix-multiple-definition-of.patch \
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/rpidistro-vlc_3.0.17.bb:PACKAGECONFIG[mmal] = "--enable-omxil --enable-omxil-vout --enable-rpi-omxil --enable-mmal --enable-mmal-avcodec,,userland"
recipes-graphics/userland/userland_git.bb:PROVIDES += "virtual/libomxil"
recipes-multimedia/omxplayer/omxplayer_git.bb:DEPENDS = "alsa-lib libpcre virtual/egl boost freetype dbus openssl libssh virtual/libomxil coreutils-native curl-native userland"
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
* we don't know yet what changes will be needed to stay compatible with
final styhead, but we already know that the last changes for UNPACKDIR
aren't compatible with scarthgap or nanbield.
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
UNPACKDIR is new contruct for do_unpack things in latest master
we should be using that instead of WORKDIR for referencing those
files
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Similar to raspberrypi4-64.conf, we need to set KERNEL_IMAGETYPE_UBOOT to
"Image" and set KERNEL_BOOTCMD to "booti"
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
* 6.1 version was used by default since mickledore:
12a1187b01
and kirkstone for rpi5 MACHINEs since:
9dc6673d41
* scarthgap uses 6.6 by default since:
1cf3dd5e5e
* nobody is probably using 5.15 with newer release and there are issues with "iw reg" since
wireless-regdb upgrade in oe-core as well as shown in:
https://github.com/agherzan/meta-raspberrypi/pull/1317
so better to drop it from master/scarthgap together with
rpi.scc used only for 5.15 and 0001-gcc-plugins-Reorganize-gimple-includes-for-GCC-13.patch
used only by rpi.scc
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
This file is now used to fetch binary blobs used by picamera and
vc library recipes, which are only compatible with 32bit userspace
Perhaps we need to sunset these recipe as some point and repace
with alternatives like picamera2 which is built on top of libcamera
and works on both 32bit and 64 bit
rpi-bootfiles is fetching from latest firmware.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The firmware repo is huge ( 36G ) to clone is onerous
using shallow clone tarballs require them to be pre-populated
at some mirror which we don't have. Third option is to let
github provide the tarball, there is concern that tarballs
might change the compression etc and thus checksum would change
that is something github would communicate to users in advance [1]
Therefore this is the best solution for us right now.
Also upgrade to latest while here and drop PR settings
[1] https://docs.github.com/en/repositories/working-with-files/using-files/downloading-source-code-archives#stability-of-source-code-archives
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Be aware that whole userland repo is marked as ancient and deprecated:
96a7334ae9
and explicitly says:
"If you are using code from here you should rethink your solution."
But even if your build is using vc4graphics in MACHINE_FEATURES
to avoid most of userland, this issue with multilib was preventing
do_install:append to actually remove those libraries provided by
lib32-mesa when building lib32-userland (e.g. to provide
virtual/libomxil or as dependency of raspidmx or runtime dependency
of omxplayer).
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
* current aarch64 kernel image alone is 24MB:
24M tmp-glibc/deploy/images/raspberrypi4-64/Image-raspberrypi4-64-1-6.1.77+git0+43d1723dbe_77fc1fbcb5-r0.1-20110405230000.bin
and with rpi-bootfiles it takes around 46MB (e.g. this is from kirkstone raspberrypi4-64 build):
2.0K boot.scr
2.0K cmdline.txt
4.0K fixup4cd.dat
4.0K fixup_cd.dat
4.0K uEnv.txt
6.0K fixup4.dat
8.0K fixup.dat
10K fixup4db.dat
10K fixup4x.dat
10K fixup_db.dat
10K fixup_x.dat
16K uboot.env
36K config.txt
52K bcm2711-rpi-4-b.dtb
52K bcm2711-rpi-400.dtb
52K bcm2711-rpi-cm4.dtb
52K bootcode.bin
126K overlays
558K kernel8.img
786K start4cd.elf
786K start_cd.elf
2.2M start4.elf
2.9M start.elf
2.9M start4x.elf
3.6M start4db.elf
3.6M start_x.elf
4.6M start_db.elf
23M Image
* it is increased automatically to fit the content:
tmp-glibc/deploy/images/raspberrypi4-64 $ sfdisk -l core-image-minimal-raspberrypi4-64.rootfs--1.0-r0-20110405230000.wic
Disk core-image-minimal-raspberrypi4-64.rootfs--1.0-r0-20110405230000.wic: 241.2 MiB, 252915712 bytes, 493976 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x076c4a2a
Device Boot Start End Sectors Size Id Type
core-image-minimal-raspberrypi4-64.rootfs--1.0-r0-20110405230000.wic1 * 8192 157815 149624 73.1M c W95 FAT32 (LBA)
core-image-minimal-raspberrypi4-64.rootfs--1.0-r0-20110405230000.wic2 163840 493975 330136 161.2M 83 Linux
but if you want to update the kernel in place or add some additional files
later, it might not be big enough, increase the minimal size from 20M to 100M
* reminder (as I forgot about it before):
"--size" is just minimum
https://docs.yoctoproject.org/ref-manual/kickstart.html
says:
--size: The minimum partition size. Specify as an integer value optionally followed by one of the units “k” / “K” for kibibyte, “M” for mebibyte and “G” for gibibyte. The default unit if none is given is “M”. You do not need this option if you use --source.
--fixed-size: The exact partition size. Specify as an integer value optionally followed by one of the units “k” / “K” for kibibyte, “M” for mebibyte and “G” for gibibyte. The default unit if none is given is “M”. Cannot be specify together with --size. An error occurs when assembling the disk image if the partition data is larger than --fixed-size.
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
* Adjust to
https://git.openembedded.org/openembedded-core/commit/?id=26d97acc71379ab6702fa54a23b6542a3f51779c
* ${IMAGE_NAME}${IMAGE_NAME_SUFFIX} is almost always used together already
and when they aren't it's usually because of hardcoded '.rootfs' suffix
* it's a bit strange, because ${IMAGE_NAME_SUFFIX} is applied after the
version from ${IMAGE_VERSION_SUFFIX}, if we move it to ${IMAGE_LINK_NAME}
then it will be applied before the version and ${IMAGE_LINK_NAME}
will be just the version-less symlink to latest built version.
* it's not added to INITRAMFS_IMAGE_NAME as it assumes that all
images used as initramfs will set IMAGE_NAME_SUFFIX to empty.
Many already do as shown bellow, but you might need to extend
this list in your layer.
* without this fix, build with:
IMAGE_FSTYPES:rpi = "rpi-sdimg.gz"
will fail due to duplicated .rootfs suffix as shown in:
http://errors.yoctoproject.org/Errors/Details/754267/
130023424 bytes (130 MB, 124 MiB) copied, 0.0706353 s, 1.8 GB/s
gzip: skipping: core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rpi-sdimg does not exist
WARNING: TOPDIR/tmp-glibc/work/raspberrypi4_64-oe-linux/core-image-minimal/1.0/temp/run.do_image_rpi_sdimg.1238835:263 exit 1 from 'gzip -f -9 -n -c --rsyncable core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rpi-sdimg > core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rpi-sdimg.gz'
OE raspberrypi4-64@ /OE/build/oe-core/tmp-glibc/work/raspberrypi4_64-oe-linux/core-image-minimal/1.0/deploy-core-image-minimal-image-complete $ ll
total 305612
drwxr-xr-x 2 martin martin 4096 Feb 22 12:12 ./
drwxr-xr-x 17 martin martin 4096 Feb 22 12:12 ../
-rw-r--r-- 1 martin martin 130023424 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.ext3
-rw-r--r-- 1 martin martin 3535 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.manifest
-rw-r--r-- 1 martin martin 184549376 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rootfs.rpi-sdimg
-rw-r--r-- 1 martin martin 0 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rpi-sdimg.gz
-rw-r--r-- 1 martin martin 361441 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.spdx.tar.zst
-rw-r--r-- 1 martin martin 271541 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.testdata.json
-rw-r--r-- 1 martin martin 50331648 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.vfat
lrwxrwxrwx 1 martin martin 61 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.ext3 -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.ext3
lrwxrwxrwx 1 martin martin 65 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.manifest -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.manifest
lrwxrwxrwx 1 martin martin 69 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.spdx.tar.zst -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.spdx.tar.zst
lrwxrwxrwx 1 martin martin 70 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.testdata.json -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.testdata.json
lrwxrwxrwx 1 martin martin 61 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.vfat -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.vfat
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Starting OE core commit b566b1e32c7993d1ab7795562f648e52ce186a70,
we no longer need PYTHON_PN for any abstraction of python2 vs python3.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
There is anoter hifiberry hat, for which there is currently
no overlay added to the build, so let's add it:
hifiberry-dacplusadcpro.dtbo
Signed-off-by: Pascal Huerst <pascal.huerst@gmail.com>
* it's failing to build since the upgrade in:
https://git.openembedded.org/meta-openembedded/commit/?id=711c6fbce39df685225bca081c5f42bae2de658b
* fixes
../git/core/libcamera_app.cpp: In member function 'void LibcameraApp::ConfigureViewfinder()':
../git/core/libcamera_app.cpp:327:25: error: 'class libcamera::CameraConfiguration' has no member named 'transform'
327 | configuration_->transform = options_->transform;
| ^~~~~~~~~
* be aware that the repository and libraries were removed in 1.4.0 version with:
0ca9f41fea
but I'll leave that change to someone actually using this, I was just fixing
the build issue found in world builds
* tweak FILES to package library symlink without "lib" prefix to fix:
ERROR: libcamera-apps-1.4.2+git-r0 do_package: QA Issue: libcamera-apps: Files/directories were installed but not shipped in any package:
/usr/lib/rpicam_app.so
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
libcamera-apps: 1 installed and not shipped files. [installed-vs-shipped]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Current configuration hard-code the values of the CAN interrupt pins. This setting allows to change them. The default values are the same as before.
Signed-off-by: Damiano Ferrari <damiano.ferrari@ferrarigrowtech.com>
"zImage" not supported on arm64 so set KERNEL_IMAGETYPE_DIRECT to
"Image" for Raspberry Pi 5 and avoid the following errors:
| make: *** No rule to make target 'zImage'. Stop.
| ERROR: oe_runmake failed
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Set SERIAL_CONSOLES to ttyAMA10. This fixes login on the UART
no matter if systemd is used.
This work was sponsored by GOVCERT.LU.
Suggested-by: Gael PORTAY <gael.portay@rtone.fr>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Set SDIMG_KERNELIMAGE to kernel_2712.img instead of kernel8.img.
Raspberry Pi 5 firmware defaults to loading kernel_2712.img because
this image contains optimisations specific to Raspberry Pi 5
(e.g. 16K page-size). For more details:
https://www.raspberrypi.com/documentation/computers/config_txt.html#kernel
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Temporary avoid Raspberry Pi 5 machines because U-Boot has not been
ported to it yet.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Add overlays/vc4-kms-v3d-pi5.dtbo to use vc4-kms-v3d driver on
Raspberry Pi 5.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Update to version 1.73:
- Fixed some inconsistent indenting in bcm2835.c that triggers
warnings for some people.
- Added Timeout checks to bcm2835_i2c_write() in case of IO
problems. New reason code BCM2835_I2C_REASON_ERROR_TIMEOUT
added.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
The Raspberry Pi 4 board can boot the image from USB memory.
But current meta-raspberrypi supports only SD boot.
This commit allows switching SD boot to other device.
For example, if you want to use USB boot, please define
the following parameters in your conf/local.conf file.
CMDLINE_ROOT_PARTITION = "/dev/sda2"
BOOT_MEDIA = "usb"
v4: Update extra-build-config.md to explain more detail for new variable.
v3: Changed variable name to "BOOT_MEDIA" (was "BOOT_DEVTIPE").
v2: Set existing microSD parameter as default. User can overwrite
some parameters.
Signed-off-by: Harunobu Kurokawa <harunobu.kurokawa.dn@renesas.com>
Upgrade to the latest version of the repository with includes the
following improvements of the template for config.txt:
- update revision and date stamp
- additon of dtoverlay
- general updates
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
This fix is needed to bring the complete dependency chain in order to guarantee
the recursive runtime dependencies [1] of do_populate_lic_deploy in do_populate_lic
will run as expected.
[1] openembedded-core/meta/classes-recipe/license_image.bbclass:do_populate_lic_deploy[recrdeptask] += "do_populate_lic do_deploy"
Fix the following image build issues:
| ERROR: lmp-base-console-image-1.0-r0 do_populate_lic_deploy: Couldn't find license information for dependency rpi-config
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
* The defconfigs from the RPi Kernel set `powersave` as the default
CPU governor, which is a bad idea as that reduces performance by
setting the CPU frequency to the minimum one.
* In case of a Yocto build user-space is not configured by default
to change the CPU governor, so `powersave` will remain the CPU
governor and it will slow down everything.
* I submitted a fix for those defconfigs to upstream here:
https://github.com/raspberrypi/linux/pull/5666
However, we shouldn't wait until that is accepted and backported
to all the stable branches (if ever is).
* This patch unsets the selection of `powersave` as the default CPU
governor.
* Then the CPU governor that will be selected as default after this
patch will be the Linux's default one that is either `ondemand` or
`schedutil` depending on the Kernel version.
Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
wic images depend on the kernel device trees, and therefore should
depend on virtual/kernel:do_deploy to make sure these are present in the
deploy directory.
Most of the time, this dependency is satisfied indirectly since a rootfs
image will depend on the kernel, but add it explicitly for the cases
where it is not.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Fail to parse omxplayer_git.bb after using new srcrev fetcher API
* https://git.yoctoproject.org/poky/commit/?id=c9400d01575c2a93762b71bf790d0edd6e2acb6f
* https://git.yoctoproject.org/poky/commit/?id=62afa02d01794376efab75623f42e7e08af08526
Error message:
ERROR: ExpansionError during parsing /tmp/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb
Traceback (most recent call last):
File "Var <fetcher_hashes_dummyfunc[vardepvalue]>", line 1, in <module>
File "/tmp/poky/bitbake/lib/bb/fetch2/__init__.py", line 834, in get_hashvalue(d=<bb.data_smart.DataSmart object at 0x7fdac34c1130>, method_name='sortable_revision'):
def get_hashvalue(d, method_name='sortable_revision'):
> pkgv, revs = _get_srcrev(d, method_name=method_name)
return " ".join(revs)
File "/tmp/poky/bitbake/lib/bb/fetch2/__init__.py", line 804, in _get_srcrev(d=<bb.data_smart.DataSmart object at 0x7fdac34c1130>, method_name='sortable_revision'):
if not format:
> raise FetchError("The SRCREV_FORMAT variable must be set when multiple SCMs are used.\n"\
"The SCMs are:\n%s" % '\n'.join(scms))
bb.data_smart.ExpansionError: Failure expanding variable fetcher_hashes_dummyfunc[vardepvalue], expression was ${@bb.fetch.get_hashvalue(d)} which triggered exception FetchError: Fetcher failure: The SRCREV_FORMAT variable must be set when multiple SCMs are used.
The SCMs are:
git://github.com/popcornmix/omxplayer.git;protocol=https;branch=master
git://github.com/FFmpeg/FFmpeg;branch=release/4.0;protocol=https;depth=1;name=ffmpeg;destsuffix=git/ffmpeg
The variable dependency chain for the failure is: fetcher_hashes_dummyfunc[vardepvalue]
ERROR: Parsing halted due to errors, see error messages above
Signed-off-by: Sangmo Kang <sangmo.kang@lge.com>
This avoids failing builds with:
NameError: name 'html_theme' is not defined
It also makes the theme configuration explicit and correctly set up.
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
Now that the libcamera package from meta-multimedia has support
for flicker controls and libcamera-apps uses meson, we can bump the
package to its latest revision.
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
CMake is removed in upstream libcamera-apps as of 9e17265,
thus switch to meson to build the package from now on.
Add PACKAGECONFIG entries and neon flags matching the settings
project meson.build as described in the official documentation
https://www.raspberrypi.com/documentation/computers/camera_software.html#building-libcamera-apps
Default to "drm" for PACKAGECONFIG as it is the only option enabled
in both recommended meson setup for Raspberry Pi OS and Raspberry Pi
OS Lite.
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
Bump libcamera to 3d9ac10 to get a fix for the current libcamera from
meta-openembedded/meta-multimedia for the following issue:
error: 'StreamRoles' in namespace 'libcamera' does not name a type; did you mean 'StreamRole'?
55 | using StreamRoles = libcamera::StreamRoles;
| ^~~~~~~~~~~
| StreamRole
Reported-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
Move the libcamera-apps recipe to dynamic-layers/multimedia-layer
alongside with its libcamera dependency.
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
The libcamera-apps project is written in a hardware-agnostic manner
thanks to libcamera, and thus isn't specific to the rpi SoC family.
Moreover, the project is correctly named libcamera-apps and not
rpi-libcamera-apps, so rename the recipe in order to reflect that.
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
Even though the libcamera apps are a rewrite of the rpicam apps and
maintained by the raspberry folks, switching to libcamera makes the
code hardware agnostic and thus could be compiled and used on various
machines featuring a camera device supported by a libcamera pipeline.
For this reason, do not enforce COMPATIBLE_MACHINE.
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
The 'tensorflow-lite' PACKAGECONFIG entry was missing the corresponding
build dependency. In order to be consistent with the build macros,
replace the feature with a 'tflite' package config entry.
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
Add a 'drm' PACKAGECONFIG entry in order to provide support for a
DRM preview window while running the libcamera apps.
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
With armv8-neon being enforced for all ARM based machines, running
any libcamera app on raspberrypi (e.g. Raspberry Pi B Rev 2) results
in Illegal Instruction.
To fix this, set armv8-neon for 32bit raspberrypi3 and raspberrypi4
but defaults to TARGET_ARCH for other non-aarch64 machines.
Fixes: f16219293a ("rpi-libcamera-apps: fix flags used in aarch64 builds")
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
Build failure occurring with gcc version 13.1.1.
Add patch to fix builds with latest gcc in OE-core.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
It can be useful to disable the WiFi for hardening reasons.
And it probably lower the power consumption a bit.
Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
When RPI_USE_U_BOOT is set to 1, if enable_uart is not set to 1 in config.txt
then the board won't boot (Resolves agherzan#1189).
This requirement only affects the following boards:
- Raspberry Pi Zero W
- Raspberry Pi 3 32 & 64 bit
- Raspberry Pi 4 32 & 64 bit
Signed-off-by: DOLE Olivier <odole@dicksondata.fr>
Prepending new definitions should be preferred to assignment, as it is
simpler and more conducive to defining new machine configurations that
reuse these configurations.
Signed-off-by: Zachary T Welch <zach@aquabyte.ai>
$ git log --oneline 22a52590c33a813743b4e6337478c208201c77b1..12098520a3dec36ba796655baac7efece457f8d8
1209852 (origin/main, origin/HEAD) utils: Better handling of containers in timestamp.py
213b166 encoder: Add logic to auto-detect H.264 encoder type
b90f65a libav: Add libx264 support
ba8d8de libav: Move codec specific options to different function
4d40e6d libav: Add buffer done callback
cd9e4e1 libav: Make ALSA work with mono mic.
408f568 libav: Fix msg when opening audio device fails.
21157c5 build: install library headers
54a781d (tag: v1.1.2) image: dng: Make thumbnail less dark
8b286cc image: dng: Add support for 16-bit Bayer formats
aa849e6 options: Set the custom tuning file as early as possible
e90d21d preview: QtPreview: Copy source to a temporary line buffer for speed
9b609e2 core: Add header guard in libcamera_encoder.hpp
8dd7213 utils: Update the timestamp script to work with container files
88b620a image: Fix missing fclose
18b3a88 libav: Update to the new audio channel API
84a7f01 libav: Fixes for audio resampling
64be3bd encoder: H264: Trap framerate=0 to avoid division by zero error
edf073f core: Minor code refactoring
a5b5506 preview: QtPreview: Fix black level; optimize and tidy.
6d2ee58 image: Exif "Model" tags should store camera model, not ID
40e0012 preview: Fix QtPreview for preview width not a multiple of 4
a65682a core: pass VIDIOC_QUERYCAP as unsigned long
9f08463 (tag: v1.1.1) core: Allow info-text to display on the console
77a03d9 image: Add Subject Distance to EXIF data, to encode Lens Position
eca5a3c build: Set a SONAME version in the libraries
dc86fee options: Automatically set H.264 level 4.2 if needed
29f3943 libcamera-detect: Add multiple file name output generation options
4a824f1 actions: Add imx708 tests
785bfe7 actions: Switch to v3 scripts
1d91fdd options: prevent null pointer access to FrameDurationLimits
4fea2ee (tag: v1.1.0) core: Add HDR option, with a stop-gap implementation using V4L2 control
bce2788 core: Tweak default AF options; AfMode now defaults typically to CAF
d696979 core: Update documentation URL
9c5d319 (tag: v1.0.2) output: null_encoder: Fix bug in ordering of input/output callbacks
4068771 libcamera-still: --autofocus-on-capture: add a timeout for AfStateScanning
5a8926a libcamera_still: Add new option "--autofocus-on-capture"
57e6154 core: Add and implement LensPosition and AfTrigger controls
d523dbc core: LibcameraApp::SetControls now always merges new controls
80f17be core: Add autofocus status reporting in FrameInfo
35b461b core: Add libcamera autofocus options
187fcf8 options: Define buffer count overwrite
114c8ae Add YUV save to stdout on "-" path
73ab09f (tag: v1.0.1) libav: Add option to choose the audio source (alsa/pulseaudio)
51bfa73 core: Use automatic mode selection for framerate
baaed33 options: Switch to std::optional for framerate
b89cc36 (tag: v1.0.0) libav: Fix fps reporting for avi contaners
05daa79 libav: Simplify audio timestamping
d8330a4 libav: Fix mkv container framerate
edac99b libcamera-vid: Add SIGINT handler
cfc54c5 libav: Allow adjusting of the audio sample rate for encoding
891c8fa libav: Correctly pipe to stdout
* the libraries are now correctly versioned, remove SOLIBS setting to package them
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* the CMakeLists.txt recognizes only 2 values:
IF (NOT ENABLE_COMPILE_FLAGS_FOR_TARGET)
# On a Pi this will give us armhf or arm64.
execute_process(COMMAND dpkg-architecture -qDEB_HOST_ARCH
OUTPUT_VARIABLE ENABLE_COMPILE_FLAGS_FOR_TARGET OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
message(STATUS "Platform: ${ENABLE_COMPILE_FLAGS_FOR_TARGET}")
if ("${ENABLE_COMPILE_FLAGS_FOR_TARGET}" STREQUAL "arm64")
# 64-bit binaries can be fully optimised.
add_definitions(-ftree-vectorize)
elseif ("${ENABLE_COMPILE_FLAGS_FOR_TARGET}" STREQUAL "armv8-neon")
# Only build with 32-bit Pi 3/4 specific optimisations if requested on the command line.
add_definitions(-mfpu=neon-fp-armv8 -ftree-vectorize)
endif()
the value from dpkg-architecture on host is useless
when cross-compiling, so we always need to pass something
for raspberrypi4-64 we were passing "armv8-neon" which results in:
aarch64-oe-linux-g++: error: unrecognized command-line option '-mfpu=neon-fp-armv8'
as all -mfpu options are rejected in aarch64 builds, pass better
ENABLE_COMPILE_FLAGS_FOR_TARGET value for all MACHINEs
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
The python recipes in the dynamic-layer need one more subdirectory
to be in accordance with the defined in the layer settings.
The recipes moved to new python sub-dir are:
python3-adafruit-blinka
python3-adafruit-circuitpython-busdevice
python3-adafruit-circuitpython-motor
python3-adafruit-circuitpython-motorkit
python3-adafruit-circuitpython-pca9685
Signed-off-by: Rodrigo M. Duarte <rodrigo.duarte@ossystems.com.br>
This packageconfig has been removed from oe-core via commit 3ec1f30ebba498566d4b266168e1faf182a38fb8
therefore adjust
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Especially with systemd its seen that psplash-start service starts
before /dev/fb0 is created by kernel which results in
[FAILED] Failed to start Start psplash boot splash screen.
this is quite frequent race now with kernel 6.1
Add device dependency on sys-devices-platform-gpu-graphics-fb0.device
via a unit file drop-in
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Default is still 5.15, until we test it out for any regressions and
issues before making 6.1 as default kernel.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* mesa-demos can be built fine if both gles1 and egl options are
disabled. This allows to have utilities like glxinfo or glxgears
Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
Firmware links for model 3B and Zero W were missing.
This patch sets the necessary links for brcmfmac firmware. Without the
links, the firmware cannot be loaded without causing boot messages like:
brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.bin failed with error -2
Signed-off-by: Florian Frank <git@ffrnk.de>
This recipe will allow yocto images to support configuring and updating
the bootloader on Raspberry Pi 4 boards. So far this recipe just
includes the commands and firmware with no automation for updates.
Note that this depends on nvmem-rmem support either built into the
kernel or as a module. If that is not part of the kernel the scripts
will error out suggesting that the vcgencmd command from the userland
package is missing. Whilst using vcgencmd from the userland package does
work, it would lead to a conflict with the mesa backend for graphics, so
using the kernel interface is recommended.
Co-authored-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
Signed-off-by: Allan Xavier <mr.a.xavier@googlemail.com>
To better support rpi-eeprom without depending on userland it was
decided to build nvmem-rmem support into the kernel for Raspberry Pi 4
machines.
Signed-off-by: Allan Xavier <mr.a.xavier@googlemail.com>
* now I've used the right tool to hopefully find them all in one go:
../openembedded-core/scripts/contrib/patchreview.py .
Total patches found: 70
Patches missing Signed-off-by: 17 (24%)
Patches with malformed Signed-off-by: 0 (0%)
Patches missing CVE: 1 (1%)
Patches missing Upstream-Status: 32 (46%)
Patches with malformed Upstream-Status: 0 (0%)
Patches in Pending state: 8 (11%)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
When building with latest OE-Core master. Running into
bellow issue. After further research issue appears to
be similar to
https://github.com/bootlin/libva-v4l2-request/issues/35
| src/libavcodec/hevc-ctrls-v2.h:59:8: error: redefinition of 'struct
v4l2_ctrl_hevc_sps'
| 59 | struct v4l2_ctrl_hevc_sps {
| | ^~~~~~~~~~~~~~~~~~
| In file included from
/../../../recipe-sysroot/usr/include/linux/videodev2.h:65,
| from src/libavcodec/hevc-ctrls-v2.h:14:
Disable ffmpeg libva-v4l2-request so that master builds
and until better investigation can be done to fix
issue.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
COMPATIBLE_MACHINE is expected to be overridden by
linux-raspberrypi-v7.inc for linux-raspberrypi-v7 machine this however
does not work because linux-raspberrypi-v7_5.15.bb includes
linux-raspberrypi-v7.inc and linux-raspberrypi.inc ( via
linux-raspberrypi_5.15.bb) and setting from linux-raspberrypi.inc takes
precedence over one coming from linux-raspberrypi-v7.inc as a result
linux-raspberrypi-v7 kernel recipe becomes available for raspberrypi4
machine as well, this recipe however needs certain defines
e.g.RASPBERRYPI_v7_KERNEL which are only available in
raspberrypi-armv7.conf
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Weston 10 (Yocto Langdale) fails to build with userland drivers
when the packageconfig options 'egl' or 'clients' are enabled, and
those are enabled by default. So disable them by default when
building with DISABLE_VC4GRAPHICS=1
Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
Upgrades version of ffmpeg to 4.3.4
* Reason for not upgrading to 4.3.5 all ported raspberrypi
team patches may not be included in that version/commit.
* SRCREV set to 246e1a55a0eca931537d8706acd8b133c07beb05
Updates to PACKAGECONFIG
* Only include --enable-opengl flag when opengl is set in
DISTRO_FEATURES
* Add new flag --enable-epoxy required by vout-egl
* vout-egl requires both libepoxy and x11. Only
enable vout-egl if x11 contained in DISTRO_FEATURES.
* The remaining RPI-Distro related flags added
through patches. Are only enabled if vc4graphics
is disabled and userland graphics enabled. As an
attempt to keep ffmpeg ./configure generic unless
specified other wise.
Removes TARGET_CFLAGS:append as include flags are set in
./configure via the 2001-configure-setup-for-OE-core-usage.patch
patch.
Replaces patches with updated patches used in actual commit.
Adds four new patches to fix ./configure, compile, runtime bugs.
PATCHES:
- 2001-configure-setup-for-OE-core-usage.patch
* The ./configure stage fails if neither x11 or wayland defined
in DISTRO_FEATURES. When opengl enabled ./configure checks for
relevant headers. The last header it checks for is ES2/gl.h which
doesn't exists. Neither do the others if certain perameters
are not meet. Patch addes check for GLES2/gl2.h which does
exists. We use utilize GLESv2 to compile and link with.
Patch also replaces where compiler find mmal and omx headers
and libs.
- 2002-libavdevice-opengl_enc-update-dynamic-function-loader.patch
* After configure stage succeeds the compile stage fails as
SelectedGetProcAddress isn't defined. It can't be define as
if x11 isn't enabled. Patch defines SelectedGetProcAddress
if x11 not enabled, but sdl2 enabled to SDL_GL_GetProcAddress.
If neither sdl2 or x11 is enabled patch loads GL functions
pointers at compile time versus dynamically at runtime.
- 2003-libavcodec-fix-v4l2_req_devscan.patch
* v412_req_devscan.h function definitions where different
from v412_req_devscan.c function implementations.
- 2004-libavcodec-omx-replace-opt-vc-path-with-usr-lib.patch
* Fixes where libbcm_host.so and libopenmaxil.so are loaded from.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
ERROR: Multiple .bb files are due to be built which each provide
libav/libpostproc:
/../../meta-raspberrypi/recipes-multimedia/rpidistro-ffmpeg/rpidistro-ffmpeg_4.3.4.bb
/../../openembedded-core/meta/recipes-multimedia/ffmpeg/ffmpeg_5.1.2.bb
Ensures bitbake understands which recipe to select first.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
Update is also meant to fix bug where if x11
isn't define in DISTRO_FEATURES builds will
fail to compile.
Upgrades version of VLC to 3.0.17
* Reason for update with version 3.0.12 compiling
using GLESv2 and without x11/wayland defined in
DISTRO_FEATURES it was proven to be difficult.
Newer version of VLC appears to have better support
for GLESv2 as there was far less hurdles.
* SRCREV set to b276eb0d7bc3213363e97dbb681ef7c927be6c73
Updates to PACKAGECONFIG
* Only include GLESv2 if opengl defined in DISTRO_FEATURES
* Only include libnotify is x11 included in DISTRO_FEATURES.
Not checking for wayland as well because wayland integration
requires a separate MR.
* remove ability to set certain flags as they require
significant more development time to integrate. Probably
best to include in separate MR.
Flags for:
- opencv
- freerdp
- samba
- dvdread
- vdpau
- wayland
- dca
Removal of
--------------------------------------------------------
TARGET_CFLAGS:append = " -fcommon"
TARGET_CXXFLAGS:append = " -fcommon"
--------------------------------------------------------
as define in configure.ac via the
3001-configure.ac-setup-for-OE-usage.patch patch
Removes extraneous sed operations in the do_configure
takes. Appears to nolonger be required.
Adds required flags to build that couldn't be set in configure.ac
------------------------------------------------------------------
TARGET_CFLAGS:append = " -I${STAGING_INCDIR}/drm"
TARGET_LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES',
'opengl', '-lGLESv2', '', d)}"
------------------------------------------------------------------
Replaces patches with updated patches used in actual commit.
Prepend patches that are from meta-openembedded/meta-multimedia
to 2XXX-<PATCH NAME>.patch. Adds nine new patches to fix ./configure,
compile, runtime bugs.
PATCHES:
- 3001-configure.ac-setup-for-OE-usage.patch
* Used to ensure crossed compilted OE libraries are used during
compilation. Specifically for the mmal and omxil libraries.
- 3002-fix-EGL-macro-undeclared-and-EGLImageKHR.patch
* Appears to be missing EGL preprocesor directives patch
defines them. The function createImageKHR also appears
to return EGLImageKHR not EGLImage patch updates. To
accommodate for change.
- 3003-codec-omxil_core-replace-opt-vc-path-with-usr-lib.patch
* Configures omxil_core.c for OE usages as libbcm_host.so
and libopenmaxil.so are located in a different location.
- 3004-use-GLESv2-headers-over-GL-headers.patch
* Ensures GLESv2 headers are used over OpenGL headers.
- 3005-modules-remove-glspectrum-usage.patch
* Removes glspectrum plugin as it appears to require
normal OpenGL and not GLESv2 for usage.
- 3006-codec-omxil_core.h-fix-multiple-definition-of.patch
* Removes compile error due to function pointer in omxil_core.h
header being defined multiple times as the header is included
in multiple c source files.
- 3007-remove-xorg-related-link-libs.patch
* Removes xorg related flags if x11 isn't defined in
DISTRO_FEATURES variable.
- 3008-vo-Makefile.am-exclude-libgl_plugin.patch
* Removes the libgl_plugin from being built if opengl
not defined in DISTRO_FEATURES variable.
- 3009-vo-converter_vaapi-Fix-EGL-macro-undeclared.patch
* Appears to be missing EGL preprocesor directives patch
defines them.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
Remove the single quotes from the
COMPATIBLE_HOST variable regex as it appears
to make expression invalid. Thus, leading to
ERROR: Nothing PROVIDES 'rpidistro-ffmpeg'
rpidistro-ffmpeg was skipped: incompatible with host arm-*-gnueabi (not in COMPATIBLE_HOST)
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
* it matches the default from tune-cortexa72.inc:
$ grep DEFAULTTUNE openembedded-core/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
DEFAULTTUNE ?= "cortexa72"
* the assignment was introduced in:
cd234925fa
to switch to cortexa72-crc, but this change was effectively reverted in:
42ef0f5046
by setting it back to default "cortexa72".
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Due to https://nvd.nist.gov/vuln/detail/cve-2022-24765, git introduced a
feature where without explicitly allowing it, it won't parse or consider
hooks that are owned by another git user while erroring out with:
fatal: detected dubious ownership in repository at [...]
This won't be an issue in our setup due to how we guard the code via PRs
so we configure git to avoid this check.
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
This addresses warnings like:
Node.js 12 actions are deprecated. [...] Please update the following
actions to use Node.js 16: actions/checkout, actions/checkout
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
@@ -74,6 +74,22 @@ To remove (or adjust) this delay set these variables in local.conf:
BOOT_DELAY = "0"
BOOT_DELAY_MS = "0"
## Boot media
The Raspberry Pi 4 board can load the boot image files from SD card and USB memory.
By default SD card media is used as boot media.
To switch the boot media from SD card to USB memory, the following variables are supported
in local.conf: `CMDLINE_ROOT_PARTITION` and `BOOT_MEDIA`.
The default value of `CMDLINE_ROOT_PARTITION` is "/dev/mmcblk0p2" to mount SD card. If you want to mount USB memory partition, set CMDLINE_ROOT_PARTITION to "/dev/sda2".
`BOOT_MEDIA` allows `mmc` and `usb`. The "mmc" is required to load an image from the SD card, following the u-boot specification. Similarly, if you want to load a boot image file from USB memory, set BOOT_MEDIA to "usb".
For example, if you want to use USB boot, please define
the following parameters in your local.conf file.
CMDLINE_ROOT_PARTITION = "/dev/sda2"
BOOT_MEDIA = "usb"
## Set overclocking options
The Raspberry Pi can be overclocked. As of now overclocking up to the "Turbo
@@ -155,6 +171,17 @@ For further customisation the KERNEL_IMAGETYPE and KERNEL_BOOTCMD variables can
be overridden to select the exact kernel image type (eg. zImage) and u-boot
command (eg. bootz) to be used.
To operate correctly, U-Boot requires `enable_uart=1` in `config.txt` file for
the following boards:
* Raspberry Pi Zero W
* Raspberry Pi 3 32-bit
* Raspberry Pi 3 64-bit
* Raspberry Pi 4 32-bit
* Raspberry Pi 4 64-bit
It means that, for those boards, `RPI_USE_U_BOOT = "1"` is not compatible with
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.