202 Commits

Author SHA1 Message Date
Gyorgy Sarvari
e75c190de3 libcamera: move PACKAGECONFIG def to meta-oe
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>
2025-10-18 09:04:23 +01:00
Gyorgy Sarvari
016b1cec8f libpisp: introduce recipe
It is a dependency of libcamera, when it is built with rpi support.

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
2025-10-18 09:04:23 +01:00
Gyorgy Sarvari
6bfb571142 libcamera-apps: upgrade 1.4.2 -> 1.9.0
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>
2025-10-18 09:04:23 +01:00
Leon Anavi
f2fd4b0ea2 rpi-base.inc: Add w1-gpio-pi5.dtbo
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>
2025-10-09 01:51:46 +01:00
Gaël PORTAY
90ce848980 raspberrypi2-64.conf: add machine for Raspberry Pi 2B V1.2 (64-bit)
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>
2025-10-08 11:22:01 +01:00
Jon Mason
bf065600bc raspberrypi2.conf: add QB_ variables for runqemu
Add the relevant QB_ variables sufficient to get the QEMU raspi2b model
running with runqemu.

Signed-off-by: Jon Mason <jdmason@kudzu.us>
2025-09-17 11:27:57 +01:00
Leon Anavi
33a3ab273d linux-firmware-rpidistro: Update and stabilize
Update to 20240709-2~bpo12+1+rpt3 and add brcmfmac module
parameters for stability.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-08-31 20:50:39 +03:00
Omri Sarig
cd66341124 linux-firmware-rpidistro: Fix wireless error message on RPi
Fixes: #1396

Signed-off-by: Omri Sarig <omri.sarig@prevas.dk>
2025-08-20 11:57:18 +03:00
Trevor Woerner
93375824f4 pi-blaster: 32-bit target only
The pi-blaster code only works on 32-bit targets.
See https://github.com/sarfata/pi-blaster/issues/114

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2025-08-20 11:32:22 +03:00
Joe Kale
65eec6d4e8 pi-bluetooth: Update version from 0.1.17 -> 0.1.19
Signed-off-by: Joe Kale <jkale@ptxag.com>
2025-08-20 10:19:06 +03:00
Bhargav Das
b32d1172a3 libcamera-apps: Fix library packaging issues for rpicam_app.so.1.4.2
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>
2025-08-20 10:10:31 +03:00
Khem Raj
5a2359bfa8 raspberrypi3-64,raspberrypi4-64: Use nocrypto default tunes
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>
2025-08-16 00:05:11 -07:00
Khem Raj
e145dc4d24 raspi-utils: Upgrade to latest tip
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-08-13 08:02:35 -07:00
Khem Raj
065874418d rpi-eeprom: Update to v2025.07.17-2712
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-08-13 08:02:35 -07:00
Khem Raj
b21dd5cd60 rpi-bootfiles: Update to latest tip as of 20250801
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-08-13 08:02:35 -07:00
Khem Raj
bb660e9ec7 linux-raspberrypi-6.12: Upgrade to 6.12.41
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-08-13 08:02:35 -07:00
Anibal Limon
a3b23e5cb8 recipes-bsp: u-boot drop rpi always set fdt_addr patch
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>
2025-08-12 08:15:24 -07:00
Moritz Boesenberg
55cdc0341c docs, conf/machine/include/rpi-base.inc, rpi-config: added seeed-can-fd-hat-v2.dtbo
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>
2025-07-29 18:48:43 -07:00
Martin Jansa
03981f9365 docker-build: use --no-cache
* --no-cache is needed to actually call apt update instead of using it
  from docker cache and then failing to fetch pruned packages as shown:
  https://github.com/agherzan/meta-raspberrypi/actions/runs/16327036376/job/46119768952?pr=1491

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-07-17 08:28:56 -07:00
Martin Jansa
3dedb92dcc raspberrypi-firmware: fix RPIFW_S to use UNPACKDIR
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>
2025-07-17 08:28:56 -07:00
Jan Vermaete
7bff7365cf rpi-bootfile: changed WORKDIR -> UNPACKDIR
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>
2025-07-17 08:28:56 -07:00
Alper Ak
0a29a2b44c omxplayer: use BB_GIT_DEFAULT_DESTSUFFIX instead of hardcoded git destsuffix
Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-07-17 08:28:56 -07:00
Alper Ak
6d6f02ad1f Remove consecutive blank lines
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>
2025-07-17 08:28:56 -07:00
Alper Ak
77654bddba set S from UNPACKDIR in recipes that use only local files
There is no need to have two assignments; also setting S from
UNPACKDIR (and not vice versa) is more logical as unpack
task comes first, and tasks that come after unpack use S to access
unpack results.

https://git.openembedded.org/openembedded-core/commit/?id=f64b7e5fb3181734c8dde87b27e872a026261a74
https://git.openembedded.org/openembedded-core/commit/?id=46480a5e66747a673041fe4452a0ab14a1736d5e

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-07-17 08:28:56 -07:00
Alper Ak
b9a4acca5f remove S in recipes that fetch from git via setting BB_GIT_DEFAULT_DESTSUFFIX
Removing all the S = ${WORKDIR}/git assignments works because BB_GIT_DEFAULT_DESTSUFFIX
is set to match S from bitbake.conf (which itself is set to match typical tarball
releases).

https://git.openembedded.org/openembedded-core/commit/?id=f80c07019ddadaf9c5fb890faabfda7920ecd15e
https://git.openembedded.org/openembedded-core/commit/?id=46480a5e66747a673041fe4452a0ab14a1736d5e

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-07-17 08:28:56 -07:00
Alper Ak
5aa62b1cf5 layer.conf: Update to whinlatter release series
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>
2025-07-17 08:28:56 -07:00
stu westerman
49a2d12489 raspi-utils: add the following utilities
* dtmerge
      * eeptools
      * otpset
      * overlaycheck
      * ovmerge
      * raspinfo
      * vcgencmd
      * vclog
      * vcmailbox

Signed-off-by: stu westerman <stuartwesterman@gmail.com>
2025-05-28 16:52:35 -07:00
Leon Anavi
c489c75260 rpi-base.inc: vc4-kms-dsi-ili9881-7inch.dtbo
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>
2025-05-17 14:27:52 -07:00
Markus Volk
b9d14e4289 rpi-bootfiles: update to latest release
Signed-off-by: Markus Volk <f_l_k@t-online.de>
2025-05-17 14:25:00 -07:00
Markus Volk
2b05eb76b9 rpi-default-versions: Switch default kernel to 6.12
Signed-off-by: Markus Volk <f_l_k@t-online.de>
2025-05-17 14:25:00 -07:00
Markus Volk
decad3c132 linux-raspberrypi: update 6.12.2 -> 6.12.25
6.12 is now the default in RPiOS and firmware switched to 6.12 initially in raspberrypi/firmware@fe200a5
now it's on 6.12.25

Signed-off-by: Markus Volk <f_l_k@t-online.de>
2025-05-17 14:25:00 -07:00
Markus Volk
d4a80461c8 mesa: drop dri3 PACKAGECONFIG
- 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>
2025-05-17 05:00:58 -07:00
Jan Vermaete
c4cb89e7c1 README.md: added how to set the machine when using Kas
Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
2025-05-10 18:50:05 -07:00
Martin Jansa
cdcbd825ec armstubs, rpi-config: add whitespace around assignments
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>
2025-05-10 18:13:55 -07:00
Damiano Ferrari
07ba2ff5fb rpi-bootfiles: Update to latest release
Signed-off-by: Damiano Ferrari <damiano.ferrari@ferrarigrowtech.com>
2025-05-10 15:47:18 -07:00
Damiano Ferrari
c705e756e3 rpi-eeprom: Update to latest release
Signed-off-by: Damiano Ferrari <damiano.ferrari@ferrarigrowtech.com>
2025-05-10 15:47:18 -07:00
Florin Sarbu
c300562cf8 linux-raspberrypi.inc: Change defconfig for RPi3 64 bits
Switch to bcm2711_defconfig for RPi3 64 bits as per
https://github.com/raspberrypi/linux/pull/6688

Signed-off-by: Florin Sarbu <florin@balena.io>
2025-05-09 18:45:46 -07:00
Martin Jansa
8d57f35e44 mesa: drop kmsro PACKAGECONFIG
kmsro is no longer valid gallium-drivers, the PACKAGECONFIG will be removed by:
https://lists.openembedded.org/g/openembedded-core/message/214763

we need to remove it here as well.

kmsro was removed in:
89863a050b

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2025-05-09 17:55:10 -07:00
Leon Anavi
1059a239ca .github/workflows: seccomp=unconfined
Run docker without the default seccomp profile

Suggested-by: Martin Steegmanns <martin.steegmanns@govcert.etat.lu>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-05-09 08:35:55 -07:00
Leon Anavi
2aa34651a7 .github/workflows: Disable apparmor
Add --security-opt apparmor=unconfined to docker cmdline.

Suggested-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-05-09 08:35:55 -07:00
Leon Anavi
48c571a537 Dockerfile: Increase vm.max_map_count
Fix the resource exhaustion problem on the build infrastructure.

Suggested-by: Stu Westerman @stu-spp
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-05-09 08:35:55 -07:00
Leon Anavi
dcf586cb7b yocto-builds.yml: Set ulimit
Add --ulimit "nofile=1024:1048576" to yocto-builds.yml.

Suggested-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-05-09 08:35:55 -07:00
Leon Anavi
54ed1f7c65 yocto-builder/Dockerfile: Ubuntu 22.04
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>
2025-05-09 08:35:55 -07:00
Jan Vermaete
3ba4438d9d doc: added raspberrypi5 to the list of supported machines
Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
2025-04-12 11:25:01 -07:00
Leon Anavi
cd558f77b6 u-boot_%.bbappend: Increase CONFIG_SYS_BOOTM_LEN
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>
2025-03-12 02:12:30 -07:00
Joshua Watt
d605ed7ae7 linux-firmware-rpidistro: Fix WiFi on Raspberry Pi 5
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>
2025-02-27 16:54:47 -08:00
Khem Raj
7494a37818 udev-rules-rpi: Delete fb.rules
OE-core has added fb.rules to psplash via [1] so avoid adding it here

This effectively reverts commit e9e5efa750

[1] https://git.yoctoproject.org/poky/commit/?id=af38235305fc2ac59a82f0413a1fe4cc5161ff86

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Bastian Wanner <bastian.wanner@inovex.de>
2025-02-21 10:11:43 -08:00
Gyorgy Sarvari
923ac579c7 libcamera: fix c++ flags and failed buildpaths QA check
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>
2025-02-14 11:28:31 +00:00
Markus Volk
4f934c0ed1 linux-raspberrypi: add recipe for 6.12
This release is tagged outside of branch.
Use 'nobranch=1' to still be able to fetch the code.
https://github.com/raspberrypi/linux/releases/tag/rpi-6.12.y_20241206_2

The kernel was tested to run on raspberrypi4-64

Signed-off-by: Markus Volk <f_l_k@t-online.de>
2025-02-12 13:41:42 +00:00
Gijs Peskens
810f1a2395 rpi-base: Fix CM5 boot panic
Compute module 5 depends on the bcm2712d0 overlay, and will
panic during boot without it.

Signed-off-by: Gijs Peskens <gijs.peskens@munisense.com>
2025-02-12 03:13:24 +00:00
Gijs Peskens
51f06365f3 raspberrypi5.conf: Add CM5 dtb's
Add new dtb's required for raspberry compute module 5

Signed-off-by: Gijs Peskens <gijs.peskens@munisense.com>
2025-02-12 03:13:24 +00:00
Andrei Gherzan
b58e2af859 docs: Fix ReadTheDocs sphinx.configuration requirement
Deprecation of projects using Sphinx or MkDocs without an explicit
configuration file:

https://about.readthedocs.com/blog/2024/12/deprecate-config-files-without-sphinx-or-mkdocs-config/

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2025-02-03 20:45:15 +00:00
Jan Vermaete
880d36b7c2 kas: debug-tweaks as IMAGE_FEATURE is removed
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>
2025-01-17 10:23:07 +00:00
Jan Vermaete
38c6930a8e kas: added the synaptics-killswitch license in comment
I leave it to the user to allow the license by uncomment it.

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
2025-01-17 10:23:07 +00:00
Anibal Limon
6e1d838b18 linux-firmware-rpidistro: Add cyfmac43455-sdio.bin symlink to minimal
According to the README on rpi-distro firmware-nonfree [1] this symlink
needs to exists.

Fixes,

```
[    6.794584] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin failed with error -2
```

There are previous reported stability issues with 802.11r [2] and
choosing minimal removes this support and indirectly fixes the issues.

[1] https://github.com/RPi-Distro/firmware-nonfree/blob/bookworm/debian/config/brcm80211/cypress/README.txt
[2] https://github.com/raspberrypi/linux/issues/3849

Signed-off-by: Anibal Limon <anibal@limonsoftware.com>
2025-01-17 06:27:29 +00:00
Luca Carlon
97d7a6b5ec picamera-libs: removed unused libraries from python3-picamera
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>
2024-12-13 11:36:32 +00:00
Khem Raj
a2f8a64bc6 SECURITY.md: Add instructions for reporting security issues
Fixes Issues like https://github.com/agherzan/meta-raspberrypi/pull/1390#issuecomment-2522661895

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-12-12 22:47:13 +00:00
Khem Raj
57fa41ae95 rpi-base: Remove bcm2712-rpi-5-b.dtb from RPI_KERNEL_DEVICETREE target
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>
2024-12-12 22:44:39 +00:00
Khem Raj
aea022fbc6 linux-raspberrypi-6.6: Upgrade to 6.6.63
supersedes https://github.com/agherzan/meta-raspberrypi/pull/1374

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-12-12 22:44:39 +00:00
Garrett Brown
aea47ad612 linux: Enable CONFIG_I2C_BRCMSTB for proper HDMI I2C support
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>
2024-12-05 20:09:29 +00:00
Jan Vermaete
f1fe818543 extra-build-config.md: added a white line
There was in the rendered MarkDown no new line between the bullet list and the next line.

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
2024-12-05 10:38:52 +00:00
Jan Vermaete
1aeda3f52a raspi-utils: added new recipe
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>
2024-11-06 08:59:42 +01:00
Robert Yang
1b6de69afd 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 <liezhi.yang@windriver.com>
2024-10-30 09:07:39 +01:00
Khem Raj
91868fb83f layer.conf: Update to walnascar (5.2) layer/release series
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-10-29 17:58:50 +01:00
Leon Anavi
fe96d4ddc3 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 <leon.anavi@konsulko.com>
2024-10-29 17:49:53 +01:00
Matthias Klein
d5ffe135c7 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 <matthias@extraklein.de>
2024-09-21 11:50:51 +01:00
Victor Löfgren
f44832bcdd README.md: Update link to compatible layers
The previous link pointing to Yocto Project Compatible Layers was no
longer valid.

Signed-off-by: Victor Löfgren <victor.l0fgr3n@gmail.com>
2024-09-09 13:59:04 +01:00
Pierrick Curt
e49de22873 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 <pierrickcurt@gmail.com>
2024-09-05 09:09:52 +01:00
Andrew Lalaev
f6c79cde63 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 <andrey.lalaev@gmail.com>
2024-09-05 00:51:04 +01:00
Vincent Davis Jr
43dada0771 docs: include PREFERRED_PROVIDER_ffmpeg,vlc change
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2024-09-04 10:49:54 +01:00
Vincent Davis Jr
2b97daf196 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 <vince@underview.tech>
2024-09-04 10:49:54 +01:00
Martin Jansa
ec745772dc 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 <martin.jansa@gmail.com>
2024-08-28 14:14:28 +01:00
Bastian Wanner
e9e5efa750 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 <bastian.wanner@inovex.de>
2024-08-03 07:35:56 +01:00
Khem Raj
3d6873db6b 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 <raj.khem@gmail.com>
2024-07-30 13:20:11 +01:00
Jan Vermaete
633e51f4bc 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 <jan.vermaete@gmail.com>
2024-07-19 00:21:26 +01:00
Leon Anavi
434ed33c90 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 <leon.anavi@konsulko.com>
2024-07-18 11:51:41 +01:00
Jan Vermaete
065d5a457f README.md: pi3-disable-bt is renamed to disable-bt in kas example
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>
2024-07-17 22:16:29 +01:00
Jaeyoon Jung
cc529a811d linux-raspberrypi: Drop deprecated configs from android-driver.cfg
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>
2024-07-17 22:13:21 +01:00
Khem Raj
6bf0b1874b linux-raspberrypi: Upgrade kernel to 6.6.36
Also bring matching linux-yocto kernel metadata

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-07-09 10:44:00 +01:00
Jan Vermaete
da35d1f663 kas: updated the refspec syntax of the kas file
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>
2024-07-08 13:41:52 +01:00
Vincent Davis Jr
eb8ffc4e63 rpidistro-ffmpeg: upgrade 4.3.4 -> 5.1.4
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>
2024-06-18 09:15:20 +01:00
Matthias Klein
b7fa9b4ba1 linux-firmware-rpidistro: Fix wireless on model Zero 2 W
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

Fixes agherzan/meta-raspberrypi#1324

Signed-off-by: Matthias Klein <matthias@extraklein.de>
2024-06-04 11:39:47 +01:00
Martin Jansa
380d2fc255 gstreamer1.0-omx: remove the .bbappend
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>
2024-06-03 22:38:53 +01:00
Martin Jansa
2174bfd0b2 layer.conf: declare compatibility only with styhead
* 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>
2024-05-30 00:33:12 +01:00
Martin Jansa
c39c2b165e rpi-u-boot-scr: use UNPACKDIR
* see:
  https://lists.openembedded.org/g/openembedded-architecture/message/2007

* fixes:
  sed: can't read TOPDIR/BUILD/work/raspberrypi4_64-webos-linux/rpi-u-boot-scr/1.0/boot.cmd.in: No such file or directory

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2024-05-30 00:33:12 +01:00
Khem Raj
ee5ae72808 recipes: Switch to using UNPACKDIR instead of WORKDIR
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>
2024-05-28 23:52:53 +01:00
alperak
0f46a1d376 rpi-cmdline: Fix being renamed of network interfaces
Add net.ifnames=0 kernel parameter into CMDLINE and make it possible to override.

If we boot the kernel this way, the network interfaces will not be renamed. Otherwise it will be renamed.

Without parameter:

root@raspberrypi3-64:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: enu1u1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel qlen 1000
    link/ether b8:27:eb:d9:fd:59 brd ff:ff:ff:ff:ff:ff
3: wlxb827eb8ca80c: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
    link/ether b8:27:eb:8c:a8:0c brd ff:ff:ff:ff:ff:ff

root@raspberrypi3-64:~# journalctl | grep wlan
Feb 27 17:26:08 raspberrypi3-64 kernel: brcmfmac mmc1:0001:1 wlxb827eb8ca80c: renamed from wlan0
Feb 27 17:26:10 raspberrypi3-64 kernel[296]: [    8.711897] brcmfmac mmc1:0001:1 wlxb827eb8ca80c: renamed from wlan0

With parameter:

root@raspberrypi3-64:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel qlen 1000
    link/ether b8:27:eb:d9:fd:59 brd ff:ff:ff:ff:ff:ff
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel qlen 1000
    link/ether b8:27:eb:8c:a8:0c brd ff:ff:ff:ff:ff:ff

Signed-off-by: alperak <alperyasinak1@gmail.com>
2024-05-28 23:14:17 +01:00
Tim Orling
fb03b44883 raspberrypi5.conf: Fix KERNEL_IMAGETYPE_UBOOT
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>
2024-05-28 23:06:18 +01:00
Tim Orling
6d593646ba u-boot: re-enable rapsberrypi5
With meta-lts-mixins scarthgap/u-boot we can now support raspberrypi5

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
2024-05-28 23:06:18 +01:00
Tim Orling
16656a66cf layer.conf: rpi5 recommends lts-u-boot-mixin
Add lts-u-boot-mixin to LAYERRECOMMENDS

https://git.yoctoproject.org/meta-lts-mixins 'scarthgap/u-boot' branch
adds u-boot v2024.04 support which includes the initial support for
raspberrypi5.

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
2024-05-28 23:06:18 +01:00
Martin Jansa
6160d0d737 linux: drop unused 5.15 version
* 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>
2024-05-28 22:18:43 +01:00
Martin Jansa
e7476edfcb linux: drop unused rpi4-64-kernel-misc.cfg
* it was used only for linux-raspberrypi_4.19.inc dropped in:
  2afeee9b82 (diff-7460e33493167fc60e3c40dcb0b3b9298e0bac97d5945414349c89cecc1cf3f1)

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2024-05-28 22:18:43 +01:00
Max Stepanov
1879cb831f rpi-eeprom: Update to support raspberrypi5 machine
- Upgraded rpi-eeprom to latest release
 - Updated recipe to support pi4 and pi5 machines

Signed-off-by: Max Stepanov <mast@imast.ru>
2024-04-09 09:18:38 +01:00
jdavidsson
d072cc8a48 rpi-base: Add hifiberry-dacplusadc overlay
Add support for HiFiBerry DAC+ ADC.

Signed-off-by: jdavidsson <johan.et.davidsson@gmail.com>
2024-03-28 03:35:31 +00:00
Khem Raj
ec06e94f2a raspberrypi-firmware: Revert to debian archive
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>
2024-03-27 10:23:17 +00:00
Khem Raj
bb8d5f7e9b rpi-bootfiles: Resort to github APIs for tarballs
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>
2024-03-27 10:23:17 +00:00
Khem Raj
e8d4ac24a4 linux-raspberrypi_6.6: Bump to 6.6.22
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-27 10:23:17 +00:00
Martin Jansa
d88e625cf2 userland: fix installed-vs-shipped in multilib builds
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>
2024-03-19 00:26:25 +00:00
Khem Raj
1cf3dd5e5e rpi-default-versions: Switch default kernel to 6.6
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-18 12:22:52 +00:00
Khem Raj
6a7aac79ce rpi-base: Add missing broadcom/ prefix to find DTB files
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-18 12:22:52 +00:00
Khem Raj
90d4e6568a raspberrypi-firmware: Fetch using git URI
This brings the matching binary blobs to latest kernel

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-18 12:22:52 +00:00
Khem Raj
a62c7c2ca6 linux-firmware-rpidistro: Upgrade to bookworm/20230625-2+rpt2
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-18 12:22:52 +00:00
Khem Raj
ba342d2a9e bluez-firmware-rpidistro: Upgrade to 1.2-9+rpt3 release
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-18 12:22:52 +00:00
Khem Raj
e9a1940bab linux-raspberrypi: Add recipe for 6.6 LTS kernel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-18 12:22:52 +00:00
Michał Kluska
92a9b7a012 rpi-base: Added missing HiFiBerry
Added support for missing HiFiBerry AMP100, AMP3, AMP4 Pro, DAC+ ADC Pro, DAC+ DSP, DAC+ HD, Digi Pro.

Signed-off-by: Michał Kluska <kluska.mk@gmail.com>
2024-03-05 10:46:04 +00:00
Martin Jansa
95a9103f91 sdimage-raspberrypi.wks: increase /boot partition minimal size from 20 to 100
* 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>
2024-02-23 01:24:46 +00:00
Martin Jansa
b65bff6323 sdcard_image-rpi.bbclass: include ${IMAGE_NAME_SUFFIX} directly in both ${IMAGE_NAME} and ${IMAGE_LINK_NAME}
* 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>
2024-02-22 15:21:59 +00:00
Khem Raj
8fa8d6bed7 python3-sense-hat: Drop PYTHON_PN
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>
2024-02-22 13:12:22 +00:00
Matthew Draws
dbf1113a82 rpi-eeprom_git: v.2024.01.05-2712 Update recipe to latest rpi-eeprom repo
This follows the current latest release of rpi-eeprom:
https://github.com/raspberrypi/rpi-eeprom

Signed-off-by: Matthew Draws <draws.matthew@gmail.com>
2024-02-20 13:00:04 +00:00
Kevin Hao
2e1ca4ce2e rpidistro-ffmpeg: Fix old override syntax
Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
2024-02-20 07:39:32 +00:00
Khem Raj
54f6b3c660 layer.conf: Update for the scarthgap release series
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-02-19 19:23:28 +00:00
Khem Raj
6d7c2f8080 linux-raspberrypi: Upgrade to 6.1.77
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-02-19 19:23:28 +00:00
Pascal Huerst
fc34bc3b86 rpi-base: Add missing hifiberry overlay
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>
2024-02-13 12:24:22 +00:00
Martin Jansa
e67feeff48 libcamera-apps: fix build with libcamera-0.2.0
* 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>
2024-02-01 11:44:18 +00:00
Khem Raj
99a1b4b5fa linux-raspberrypi_6.1.bb: Upgrade to 6.1.74
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-02-01 11:41:55 +00:00
Damiano Ferrari
9c901bf170 docs: add info on how to set different CAN interrupt pins
Signed-off-by: Damiano Ferrari <damiano.ferrari@ferrarigrowtech.com>
2024-01-26 00:39:32 +00:00
Damiano Ferrari
51386901d4 rpi-config: Add CAN0_INTERRUPT_PIN and CAN1_INTERRUPT_PIN variable
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>
2024-01-26 00:39:32 +00:00
Leon Anavi
fe7592fe9c conf/machine/raspberrypi5.conf: Use "Image"
"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>
2024-01-25 17:25:39 +00:00
Leon Anavi
1f35a585ca conf/machine/raspberrypi5.conf: ttyAMA10
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>
2024-01-25 17:25:39 +00:00
Leon Anavi
15967d6ad9 conf/machine/raspberrypi5.conf: kernel_2712.img
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>
2024-01-25 17:25:39 +00:00
Leon Anavi
ddb4d6652d linux-raspberrypi.inc: bcm2712_defconfig for rpi5
Use bcm2711_defconfig instead of bcm2712_defconfig for Raspberry
Pi 5 as per the instructions in the documentation:
https://www.raspberrypi.com/documentation/computers/linux_kernel.html#kernel-configuration

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-01-25 17:25:39 +00:00
Leon Anavi
357c85c5fb rpi-config: Reduce config.txt size
Remove some comments to reduce config.txt file size to avoid file
corruption and make sure Raspberry Pi 5 will boot successfully.

The issue with large config.txt has been reported to related
projects:
https://github.com/raspberrypi/firmware/issues/1848
https://github.com/Evilpaul/RPi-config/issues/9

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-01-25 17:25:39 +00:00
Leon Anavi
4814f09e49 u-boot_%.bbappend: Skip for Raspberry Pi 5
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>
2024-01-25 17:25:39 +00:00
Leon Anavi
df13222776 rpi-base.inc: Add vc4-kms-v3d-pi5.dtbo
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>
2024-01-25 17:25:39 +00:00
Florin Sarbu
1e7750e3c8 Add Raspberry Pi 5
Signed-off-by: Florin Sarbu <florin@balena.io>
2024-01-25 17:25:39 +00:00
Leon Anavi
b859bc3eca bcm2835: update 1.71 -> 1.73
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>
2024-01-08 11:45:41 +00:00
Harunobu Kurokawa
4c033eb074 rpi-cmdline, rpi-u-boot-src: Support USB boot
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>
2023-12-13 16:43:59 +02:00
Lorenzo Arena
fde68b24f0 docs: fix syntax for overriding fs type for initramfs image
Signed-off-by: Lorenzo Arena <arena.lor@gmail.com>
2023-12-05 17:00:50 +02:00
Leon Anavi
8231f97534 rpi-config: reintroduce start_x
Add a patch to reintroduce configuration start_x. This patch has
been submitted to the upstream of of the RPi-config GitHub repo:
https://github.com/Evilpaul/RPi-config/pull/8

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2023-11-24 08:06:17 +02:00
Vincent Davis Jr
0f6c5eab24 rpidistro-vlc: add new patch po-Fix-typos-in-oc
Fixes compilation issue that occur with
the latest in OE-core.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-11-24 06:00:33 +02:00
Leon Anavi
6008249722 rpi-config: Upgrade to tip of tree
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>
2023-11-17 16:49:53 +02:00
Matthew Draws
eb79172bc9 rpi-eeprom: Update to 2023.10.18-2712
This follows the current latest release of rpi-eeprom:
https://github.com/raspberrypi/rpi-eeprom

This also removes a patch that is already in upstream.
5ec5c003ba/rpi-eeprom-update (L122)
https://github.com/raspberrypi/rpi-eeprom/commit/55ca589

Signed-off-by: Matthew Draws <draws.matthew@gmail.com>
2023-11-15 00:51:30 +02:00
Khem Raj
08371543f7 linux-raspberrypi_6.1.bb: Update to 6.1.61 release
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-11-14 17:37:06 +02:00
Jose Quaresma
6ef8b576b8 rpi-base: Adds EXTRA_IMAGEDEPENDS to fix the image task do_populate_lic_deploy
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>
2023-10-27 01:30:36 +01:00
Carlos Alberto Lopez Perez
0a4a68dba6 linux-raspberrypi: stop setting powersave as the default CPU governor
* 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>
2023-10-25 20:44:38 +01:00
Jose Quaresma
3a0f6678e0 linux-raspberrypi/linux-raspberrypi-v7: drop 5.10 version
The overlays/imx708.dtbo is not supported and backport [1] the dtbo is not accepted so drop this kernel version.
[1] https://github.com/raspberrypi/linux/pull/5452

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
2023-10-24 12:41:50 +01:00
Andrei Gherzan
9a296d75a8 docs: Fix ReadTheDocs builds.os requirement
This fixes:

The configuration key "build.os" is required to build your
documentation. Read more at
https://docs.readthedocs.io/en/stable/config-file/v2.html#build-os

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2023-10-24 12:36:33 +01:00
Joshua Watt
482d864b8f rpi-base: Fix wic image kernel dependency
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>
2023-09-27 12:42:25 +01:00
Martin Jansa
c0aec2f628 layer.conf: update LAYERSERIES_COMPAT for nanbield
* oe-core switched to nanbield in:
  https://git.openembedded.org/openembedded-core/commit/?id=f212cb12a0db9c9de5afd3cc89b1331d386e55f6

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2023-09-22 10:39:52 +01:00
Khem Raj
6f93508662 raspberrypi-firmware: Update to 20230509~buster
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-09-22 10:39:52 +01:00
Khem Raj
82fb510fc6 bluez-firmware-rpidistro: Update to 1.2-4+rpt10
Drop a backport already in 1.2-4+rpt10

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-09-22 10:39:52 +01:00
Khem Raj
a871ecfb38 linux-firmware-rpidistro: Update to 20230210-5_bpo11+1
Symlinks are no longer needed as they already exist in the new raspbian firmware tarball

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-09-22 10:39:52 +01:00
Khem Raj
653f281c8f linux-raspberrypi: Upgrade 6.1 release to latest point release 6.1.54
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-09-22 10:39:52 +01:00
Khem Raj
108f83f0e9 userland: Update to trunk from 20230419
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-09-22 10:39:52 +01:00
Sangmo Kang
6501ec892c omxplayer: fix an error caused by new srcrev fetcher API
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>
2023-08-29 22:43:01 +01:00
Andrei Gherzan
98ee0439ca docs: Fix documentation theme
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>
2023-08-29 22:43:01 +01:00
Andrei Gherzan
a7f7272dca ci: Add usrmerge to distro features
unmerged-usr was deprecated upstream[1]. Follow up with our CI builds.

[1] https://lore.kernel.org/all/3f2f03085301d22854e5429019fb010f27d98bc7.camel@linuxfoundation.org/t/

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2023-08-29 22:43:01 +01:00
Vivien Didelot
5e2f79a6fa libcamera-apps: bump to latest main
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>
2023-08-08 01:54:22 +01:00
Vivien Didelot
5f9423e4f9 libcamera-apps: switch from CMake to meson
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>
2023-08-08 01:54:22 +01:00
Vivien Didelot
9d9f98d266 libcamera-apps: bump to 3d9ac10
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>
2023-08-08 01:54:22 +01:00
Vivien Didelot
55b6e121f9 libcamera-apps: move recipe to dynamic-layers
Move the libcamera-apps recipe to dynamic-layers/multimedia-layer
alongside with its libcamera dependency.

Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08 01:54:22 +01:00
Vivien Didelot
d9ffd5c828 rpi-libcamera-apps: rename to libcamera-apps
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>
2023-08-08 01:54:22 +01:00
Vivien Didelot
fbf6b355a3 rpi-libcamera-apps: don't force COMPATIBLE_MACHINE
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>
2023-08-08 01:54:22 +01:00
Vivien Didelot
c0fca29ff3 rpi-libcamera-apps: replace tensorflow config
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>
2023-08-08 01:54:22 +01:00
Vivien Didelot
83a422668c rpi-libcamera-apps: add drm support
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>
2023-08-08 01:54:22 +01:00
Vivien Didelot
48c3cc7413 rpi-libcamera-apps: add opencv build dependency
The 'opencv' PACKAGECONFIG entry was missing the build dependency.

Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08 01:54:22 +01:00
Vivien Didelot
2ae93b0f9f rpi-libcamera-apps: fix Illegal Instruction
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>
2023-08-08 01:54:22 +01:00
Khem Raj
3f12757165 rpi-base: Remove customizing SPLASH var
psplash-raspberrypi does not exist anymore, we use psplash from core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-08-02 10:53:23 +01:00
Vincent Davis Jr
be4867e494 rpidistro-vlc: fix error uint64_t does not name
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>
2023-08-02 10:52:06 +01:00
Martin Jansa
f78b4f159d libcamera: update PACKAGECONFIG for libcamera-0.1.0
* libcamera was updated in meta-oe in:
  https://git.openembedded.org/meta-openembedded/commit/?id=4e0281797277cf44287de93618c51e4a219fac75

* now it was failing with:
  meson.build:3:0: ERROR: Options "raspberrypi" are not in allowed choices: "all, auto, imx8-isi, ipu3, rkisp1, rpi/vc4, simple, uvcvideo, vimc"

  because raspberrypi support was updated and renamed to rpi/vc4 in:
  726e9274ea

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-07-27 15:01:55 +01:00
Jan Vermaete
05dceed006 rpi-base.inc: add the disable-wifi overlay
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>
2023-07-26 17:36:36 +01:00
Jan Vermaete
8585b42bd6 kas-poky-rpi.yml: renamed ABORT to HALT
Naming changed in Yocto.  And it avoids a warning during the run.

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
2023-07-24 12:09:29 +01:00
Khem Raj
e3f733cadd linux-raspberrypi_6.1.bb: Update to 6.1.38
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-07-11 15:05:10 +01:00
Khem Raj
dff85b9a9f linux-raspberrypi-6.1: Update to 6.1.34 release
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-06-22 09:58:22 +01:00
Martin Jansa
195c7d59bc *.patch: add Upstream-Status to all patches
There is new patch-status QA check in oe-core:
https://git.openembedded.org/openembedded-core/commit/?id=76a685bfcf927593eac67157762a53259089ea8a

This is temporary work around just to hide _many_ warnings from
optional patch-status (if you add it to WARN_QA).

This just added
Upstream-Status: Pending
everywhere without actually investigating what's the proper status.

This is just to hide current QA warnings and to catch new .patch files being
added without Upstream-Status, but the number of Pending patches is now terrible:
Patches in Pending state: 41 (57%)

With recent change to enable patch-status not only for all .patch
files in oe-core, but for all recipes from oe-core:
https://git.openembedded.org/openembedded-core/commit/?id=61a881fdbe8b5a21c6276b8a5d06cc30486b1eb3
this causes bluez5 do_patch failures as reported in:
https://lists.openembedded.org/g/openembedded-core/message/183177

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-06-22 00:04:40 +01:00
DOLE Olivier
8e07f0d328 rpi-config: U-Boot requires "enable_uart=1" to operate correctly.
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>
2023-06-09 02:09:42 +01:00
Florin Sarbu
492cb5a5d9 udev-rules-rpi: Use 99-com.rules directly from upstream
Rather than have an unsynchronized copy of this file, let's use this
udev rule directly from upstream.

Signed-off-by: Florin Sarbu <florin@balena.io>
2023-05-28 10:19:52 +01:00
Zachary T Welch
9240ea91ca machines: simplify MACHINEOVERRIDES definitions
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>
2023-05-24 11:30:04 +01:00
Martin Jansa
928bb234bb rpi-libcamera-apps: bump to latest SRCREV and set PV
$ 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>
2023-05-15 15:56:03 +01:00
Martin Jansa
f528c55c1f rpi-libcamera-apps: fix version generation on hosts with older python
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-05-15 15:56:03 +01:00
Martin Jansa
f16219293a rpi-libcamera-apps: fix flags used in aarch64 builds
* 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>
2023-05-15 15:56:03 +01:00
Rodrigo M. Duarte
bf948e0aa8 python3-adafruit-blinka: Fix the correct python recipes path in dynamic-layer sub-dir
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>
2023-04-17 11:06:52 +01:00
Jesse Visser
56fba81e37 docs: Update extra build config Raspberry Pi Camera Module section
Signed-off-by: Jesse Visser <jssvssr2000@gmail.com>
2023-04-17 11:06:24 +01:00
Jesse Visser
2ad4dd667a recipe-bsp: Add support for Raspberry Pi Camera Module v3
Signed-off-by: Jesse Visser <jssvssr2000@gmail.com>
2023-04-17 11:06:24 +01:00
Khem Raj
3afdbbf782 rpidistro-vlc: Fix build with clang16
Disable new warning about incompatible function pointers

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-27 09:34:06 +01:00
Khem Raj
1e5acb9d59 rpidistro-ffmpeg: Pin to use gcc always
When using clang some .S files are not clang friendly

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-27 09:34:06 +01:00
Khem Raj
9f6dfcf82c gstreamer1.0-plugins-bad: Drop gpl packageconfig
This packageconfig has been removed from oe-core via commit 3ec1f30ebba498566d4b266168e1faf182a38fb8
therefore adjust

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-27 09:34:06 +01:00
Khem Raj
12a1187b01 rpi-default-versions: Use 6.1 kernel as default
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-24 07:32:08 +00:00
Khem Raj
98349bb367 psplash: Make psplash wait for the framebuffer to be ready
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>
2023-03-24 07:32:08 +00:00
Khem Raj
b5753bd2ac linux-raspberrypi: Add recipes for 6.1 kernel
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>
2023-03-24 07:32:08 +00:00
Carlos Alberto Lopez Perez
15206a15b4 mesa-demos: enable build with userland graphics drivers.
* 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>
2023-03-07 01:09:06 +00:00
Khem Raj
e15b876155 linux-raspberrypi_5.15.bb: Upgrade to 5.15.92
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-01 23:44:52 +00:00
Florian Frank
dac1d9245b linux-firmware-rpidistro: Fix wireless on model 3B and Zero W
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>
2023-02-16 13:39:08 +00:00
Martin Jansa
659dd6d107 gstreamer1.0-plugins-good: rename bbappend, drop version
* the PACKAGECONFIG[rpi] isn't version specific, use versionless
  bbappend as other gstreamer1.0*.bbappend files here
* oe-core upgrade 1.20.5 -> 1.22.0:
  https://git.openembedded.org/openembedded-core/commit/?id=fb2d28e0315ece6180c87c7047587673024a09f7

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-02-16 12:06:18 +00:00
Allan Xavier
e43af1e3a6 rpi-eeprom: Add recipe for eeprom update/configuration
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>
2023-02-08 22:04:18 +00:00
Allan Xavier
c9d9582a23 linux-raspberrypi: Build eeprom access into kernel
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>
2023-02-08 22:04:18 +00:00
Martin Jansa
c759b5edf3 raspidmx, userland, omxplayer: Fix Upstream-Status formatting
* 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>
2023-02-03 21:39:37 +00:00
Khem Raj
a02173f597 linux-raspberrypi: Remove unused patches
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-02-01 23:15:11 +00:00
Khem Raj
3c5959ba85 linux-raspberrypi: Fix build with gcc13
Backport a needed patch

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-02-01 23:15:11 +00:00
Khem Raj
1d8a12ffa7 linux-raspberrypi: Update to 5.15.90
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-02-01 23:15:11 +00:00
Martin Jansa
6c57b92708 gstreamer1.0-omx: fix Upstream-Status format
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-01-26 19:20:07 +00:00
Martin Jansa
d76d59f5ac pi-bluetooth: fix typo in Upstream-Status
* fixes:
  WARNING: pi-bluetooth-0.1.17-r0 do_patch: QA Issue: Malformed Upstream-Status in patch
  meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth/0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch
  Please correct according to https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines#Patch_Header_Recommendations:_Upstream-Status :
  Upstream-Status: Inapproprate [OE-specific] [patch-status-noncore]

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-01-26 17:01:39 +00:00
Vincent Davis Jr
896566aa92 rpidistro-ffmpeg: remove --enable-v4l2-request flag
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>
2023-01-12 06:51:45 +00:00
Khem Raj
2e9b0c375f linux-raspberrypi.inc: Weakly assign COMPATIBLE_MACHINE
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>
2023-01-06 05:26:38 +00:00
Khem Raj
65d5176642 lirc: Drop upstreamed patch
This has been applied [1] in version now in OE-core

[1] aaa3493d09/

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-01-06 05:26:38 +00:00
Martin Jansa
e103faeff5 layer.conf: update LAYERSERIES_COMPAT for mickledore
* oe-core switched to mickedore in:
  https://git.openembedded.org/openembedded-core/commit/?id=57239d66b933c4313cf331d35d13ec2d0661c38f

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-01-03 19:24:38 +00:00
Carlos Alberto Lopez Perez
2b733d53f3 weston: disablepackageconfig options that fail to build with userland drivers
* 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>
2022-12-22 21:56:54 +00:00
Martin Jansa
9e655c6c9d bluez5: update patches to apply on 5.66 version
* updated in:
  https://git.openembedded.org/openembedded-core/commit/?id=45686afe96bb42c24bfd4ab540ea44423a0f57c3

* 0004-Move-the-43xx-firmware-into-lib-firmware.patch didn't apply and needed to be rebased
  maybe we should just set FIRMWARE_DIR in rpi builds instead of
  changing the default in the source, but I'll leave that to someone
  else

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2022-12-20 18:29:00 +00:00
Vincent Davis Jr
1f33240549 rpidistro-ffmpeg: upgrade 4.3.2 -> 4.3.4
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>
2022-12-13 02:32:11 +00:00
Vincent Davis Jr
813b299e09 rpi-default-providers: add libav and libpostproc
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>
2022-12-13 01:00:53 +00:00
Vincent Davis Jr
e493266180 rpidistro-vlc: upgrade 3.0.12 -> 3.0.17
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>
2022-12-12 23:29:00 +00:00
Vincent Davis Jr
4946b8d538 rpidistro-vlc,rpidistro-ffmpeg: update COMPATIBLE_HOST regex
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>
2022-12-05 20:55:13 +00:00
192 changed files with 27318 additions and 63225 deletions

View File

@@ -32,7 +32,7 @@ runs:
n=1
until [ "$n" -gt "$tries" ]; do
echo "Building the docker image ${{ inputs.docker_image }}-${{ inputs.id }}... try $n..."
if docker build . -f "${{ inputs.docker_image }}/Dockerfile" -t "${{ inputs.docker_image }}-${{ inputs.id }}"; then
if docker build --no-cache . -f "${{ inputs.docker_image }}/Dockerfile" -t "${{ inputs.docker_image }}-${{ inputs.id }}"; then
# This can fail if a dangling images cleaning job runs in
# parallel. So we try this a couple of times to minimize
# conflict. This is because while building, docker creates a

View File

@@ -23,7 +23,9 @@ jobs:
id: ${{ github.event.number }}
- name: Do DCO check
run: |
docker run --rm -v "$GITHUB_WORKSPACE:/work:ro" \
docker run --rm --security-opt apparmor=unconfined \
--security-opt seccomp=unconfined \
-v "$GITHUB_WORKSPACE:/work:ro" \
--env "BASE_REF=$GITHUB_BASE_REF" \
"dco-check-${{ github.event.number }}"
- name: Cleanup temporary docker image

View File

@@ -17,5 +17,5 @@ passing the appropriate `-f` argument.
Here is an example for building the `dco-check` image:
```
docker build . -f dco-check/Dockerfile -t dco-check
docker build --no-cache . -f dco-check/Dockerfile -t dco-check
```

View File

@@ -2,7 +2,7 @@
#
# SPDX-License-Identifier: MIT
FROM ubuntu:20.04
FROM ubuntu:22.04
ARG DEBIAN_FRONTEND="noninteractive"
RUN apt-get update -qq
@@ -10,12 +10,13 @@ RUN apt-get install -y eatmydata
# Yocto/OE build host dependencies
# Keep this in sync with
# https://git.yoctoproject.org/poky/tree/documentation/poky.yaml
# https://git.yoctoproject.org/poky/tree/documentation/poky.yaml.in
# https://git.yoctoproject.org/poky/tree/documentation/tools/host_packages_scripts/ubuntu_essential.sh
RUN eatmydata apt-get install -qq -y \
gawk wget git diffstat unzip texinfo gcc build-essential chrpath \
socat cpio python3 python3-pip python3-pexpect xz-utils debianutils \
iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
pylint3 xterm python3-subunit mesa-common-dev zstd liblz4-tool
build-essential chrpath cpio debianutils diffstat file gawk gcc \
git iputils-ping libacl1 liblz4-tool locales python3 python3-git \
python3-jinja2 python3-pexpect python3-pip python3-subunit socat \
texinfo unzip wget xz-utils zstd
# en_US.UTF-8 is required by the build system
RUN eatmydata apt-get install -qq -y locales \
@@ -29,6 +30,9 @@ RUN eatmydata apt-get clean && rm -rf /var/lib/apt/lists/*
RUN echo "dash dash/sh boolean false" | debconf-set-selections \
&& dpkg-reconfigure dash
# Fix the resource exhaustion problem on the build infrastructure
RUN echo 'vm.max_map_count = 4048576' >> /etc/sysctl.conf
# Run under normal user called 'ci'
RUN useradd --create-home --uid 1000 --shell /usr/bin/bash ci
USER ci

View File

@@ -42,7 +42,9 @@ printf "\n# ------ ci ------\n" >> conf/local.conf
cat <<EOCONF >>conf/local.conf
BB_NUMBER_THREADS = "6"
PARALLEL_MAKE = "-j 6"
DISTRO_FEATURES:append = " systemd"
# unmerged-usr is deprecated
# https://lore.kernel.org/all/3f2f03085301d22854e5429019fb010f27d98bc7.camel@linuxfoundation.org/t/
DISTRO_FEATURES:append = " systemd usrmerge"
VIRTUAL-RUNTIME_init_manager = "systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit"
VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"

View File

@@ -20,11 +20,13 @@ jobs:
- raspberrypi0-2w
- raspberrypi0
- raspberrypi0-wifi
- raspberrypi2-64
- raspberrypi2
- raspberrypi3-64
- raspberrypi3
- raspberrypi4-64
- raspberrypi4
- raspberrypi5
- raspberrypi-cm3
- raspberrypi-cm
- raspberrypi-armv7
@@ -65,7 +67,8 @@ jobs:
if: steps.changed-files-specific.outputs.any_changed == 'true'
- name: Build the image
run: |
docker run --rm \
docker run --rm --security-opt apparmor=unconfined \
--security-opt seccomp=unconfined \
-v "$GITHUB_WORKSPACE:/work:ro" \
-v "$DL_DIR:$DL_DIR:rw" \
-v "$SSTATE_DIR:$SSTATE_DIR:rw" \
@@ -75,6 +78,7 @@ jobs:
--env "IMAGE=${{ matrix.image }}" \
--env "DL_DIR=$DL_DIR" \
--env "SSTATE_DIR=$SSTATE_DIR" \
--ulimit "nofile=1024:1048576" \
"yocto-builder-${{ github.event.number }}" \
/entrypoint-build.sh
if: steps.changed-files-specific.outputs.any_changed == 'true'

View File

@@ -42,7 +42,8 @@ jobs:
if: steps.changed-files-specific.outputs.any_changed == 'true'
- name: Run yocto-check-layer
run: |
docker run --rm -v "$GITHUB_WORKSPACE:/work:ro" \
docker run --rm --security-opt apparmor=unconfined \
-v "$GITHUB_WORKSPACE:/work:ro" \
--env "BASE_REF=$GITHUB_BASE_REF" \
"yocto-builder-${{ github.event.number }}" \
/entrypoint-yocto-check-layer.sh

View File

@@ -1,6 +1,11 @@
version: 2
sphinx:
configuration: docs/conf.py
build:
os: ubuntu-22.04
tools:
python: "3.7"
python:
version: "3.7"
install:
- requirements: docs/requirements.txt

View File

@@ -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
@@ -70,9 +70,10 @@ This layer depends on:
## Quick Start with kas
1. Install kas build tool from PyPi (sudo pip3 install kas)
2. kas build meta-raspberrypi/kas-poky-rpi.yml
3. Use bmaptool to copy the generated .wic.bz2 file to the SD card
4. Boot your RPI
2. Set the `machine: ` in kas-poky-rpi.yml to one of the supported boards (see conf/machine/*.conf)
3. kas build meta-raspberrypi/kas-poky-rpi.yml
4. Use bmaptool to copy the generated .wic.bz2 file to the SD card
5. Boot your RPI
To adjust the build configuration with specific options (I2C, SPI, ...), simply add
a section as follows:
@@ -81,7 +82,7 @@ a section as follows:
local_conf_header:
rpi-specific: |
ENABLE_I2C = "1"
RPI_EXTRA_CONFIG = "dtoverlay=pi3-disable-bt"
RPI_EXTRA_CONFIG = "dtoverlay=disable-bt"
```
To configure the machine, you have to update the `machine` variable.

20
SECURITY.md Normal file
View File

@@ -0,0 +1,20 @@
How to Report a Potential Vulnerability?
========================================
If you would like to report a public issue (for example, one with a released
CVE number), please report it via GitHub issues:
https://github.com/agherzan/meta-raspberrypi/issues/new/choose
If you are dealing with a not-yet released or urgent issue, please send a
message to one of the maintainers listed in the [README.md](https://github.com/agherzan/meta-raspberrypi/blob/master/README.md). Include as many
details as possible:
- the layer or software module affected
- the recipe and its version
- any example code, if available
Branches maintained with security fixes
---------------------------------------
See https://wiki.yoctoproject.org/wiki/Releases for the list of current
releases. We only accept patches for the LTS releases and the master branch.

View File

@@ -60,7 +60,7 @@ do_image_rpi_sdimg[depends] = " \
do_image_rpi_sdimg[recrdeps] = "do_build"
# SD card image name
SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.rpi-sdimg"
SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rpi-sdimg"
# Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS.
FATPAYLOAD ?= ""

View File

@@ -9,7 +9,7 @@ BBFILE_COLLECTIONS += "raspberrypi"
BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
BBFILE_PRIORITY_raspberrypi = "9"
LAYERSERIES_COMPAT_raspberrypi = "kirkstone langdale"
LAYERSERIES_COMPAT_raspberrypi = "whinlatter"
LAYERDEPENDS_raspberrypi = "core"
# Additional license directories.
@@ -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"

View File

@@ -18,6 +18,9 @@ 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/disable-wifi-pi5.dtbo \
overlays/dwc2.dtbo \
overlays/gpio-ir.dtbo \
overlays/gpio-ir-tx.dtbo \
@@ -25,8 +28,16 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
overlays/gpio-poweroff.dtbo \
overlays/gpio-shutdown.dtbo \
overlays/hifiberry-amp.dtbo \
overlays/hifiberry-amp100.dtbo \
overlays/hifiberry-amp3.dtbo \
overlays/hifiberry-amp4pro.dtbo \
overlays/hifiberry-dac.dtbo \
overlays/hifiberry-dacplus.dtbo \
overlays/hifiberry-dacplusadc.dtbo \
overlays/hifiberry-dacplusadcpro.dtbo \
overlays/hifiberry-dacplusdsp.dtbo \
overlays/hifiberry-dacplushd.dtbo \
overlays/hifiberry-digi-pro.dtbo \
overlays/hifiberry-digi.dtbo \
overlays/justboom-both.dtbo \
overlays/justboom-dac.dtbo \
@@ -35,10 +46,12 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
overlays/i2c-rtc.dtbo \
overlays/imx219.dtbo \
overlays/imx477.dtbo \
overlays/imx708.dtbo \
overlays/iqaudio-dac.dtbo \
overlays/iqaudio-dacplus.dtbo \
overlays/mcp2515-can0.dtbo \
overlays/mcp2515-can1.dtbo \
overlays/seeed-can-fd-hat-v2.dtbo \
overlays/mcp3008.dtbo \
overlays/miniuart-bt.dtbo \
overlays/pitft22.dtbo \
@@ -48,33 +61,48 @@ 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 \
overlays/vc4-kms-v3d-pi4.dtbo \
overlays/vc4-kms-v3d-pi5.dtbo \
overlays/vc4-kms-dsi-7inch.dtbo \
overlays/vc4-kms-dsi-ili9881-7inch.dtbo \
overlays/w1-gpio.dtbo \
overlays/w1-gpio-pullup.dtbo \
overlays/w1-gpio-pi5.dtbo \
overlays/wm8960-soundcard.dtbo \
overlays/bcm2712d0.dtbo \
"
RPI_KERNEL_DEVICETREE ?= " \
bcm2708-rpi-zero.dtb \
bcm2708-rpi-zero-w.dtb \
bcm2708-rpi-b.dtb \
bcm2708-rpi-b-rev1.dtb \
bcm2708-rpi-b-plus.dtb \
bcm2709-rpi-2-b.dtb \
bcm2710-rpi-2-b.dtb \
bcm2710-rpi-3-b.dtb \
bcm2710-rpi-3-b-plus.dtb \
bcm2710-rpi-zero-2.dtb \
bcm2711-rpi-4-b.dtb \
bcm2711-rpi-400.dtb \
bcm2708-rpi-cm.dtb \
bcm2710-rpi-cm3.dtb \
bcm2711-rpi-cm4.dtb \
bcm2711-rpi-cm4s.dtb \
broadcom/bcm2708-rpi-zero.dtb \
broadcom/bcm2708-rpi-zero-w.dtb \
broadcom/bcm2708-rpi-b.dtb \
broadcom/bcm2708-rpi-b-rev1.dtb \
broadcom/bcm2708-rpi-b-plus.dtb \
broadcom/bcm2709-rpi-2-b.dtb \
broadcom/bcm2710-rpi-2-b.dtb \
broadcom/bcm2710-rpi-3-b.dtb \
broadcom/bcm2710-rpi-3-b-plus.dtb \
broadcom/bcm2710-rpi-zero-2.dtb \
broadcom/bcm2711-rpi-4-b.dtb \
broadcom/bcm2711-rpi-400.dtb \
broadcom/bcm2708-rpi-cm.dtb \
broadcom/bcm2710-rpi-cm3.dtb \
broadcom/bcm2711-rpi-cm4.dtb \
broadcom/bcm2711-rpi-cm4s.dtb \
"
KERNEL_DEVICETREE ??= " \
@@ -111,9 +139,6 @@ SERIAL_CONSOLES_CHECK ??= "${SERIAL_CONSOLES}"
# This variable is referred to by recipes fetching / generating the files.
BOOTFILES_DIR_NAME ?= "bootfiles"
# Set Raspberrypi splash image
SPLASH ?= "psplash-raspberrypi"
def make_dtb_boot_files(d):
# Generate IMAGE_BOOT_FILES entries for device tree files listed in
# KERNEL_DEVICETREE.
@@ -149,7 +174,11 @@ IMAGE_BOOT_FILES ?= "${BOOTFILES_DIR_NAME}/* \
${@make_dtb_boot_files(d)} \
${RPI_EXTRA_IMAGE_BOOT_FILES} \
"
EXTRA_IMAGEDEPENDS += "rpi-bootfiles"
do_image_wic[depends] += " \
virtual/kernel:do_deploy \
rpi-bootfiles:do_deploy \
${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
"

View File

@@ -7,8 +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_jpeg ?= "jpeg"
PREFERRED_PROVIDER_virtual/libomxil ?= "userland"

View File

@@ -1,4 +1,4 @@
# RaspberryPi BSP default versions
PREFERRED_VERSION_linux-raspberrypi ??= "5.15.%"
PREFERRED_VERSION_linux-raspberrypi ??= "6.12.%"
PREFERRED_VERSION_linux-raspberrypi-v7 ??= "${PREFERRED_VERSION_linux-raspberrypi}"

View File

@@ -23,6 +23,7 @@ MACHINE_EXTRA_RRECOMMENDS += "\
"
RPI_KERNEL_DEVICETREE = " \
broadcom/bcm2710-rpi-2-b.dtb \
broadcom/bcm2710-rpi-3-b.dtb \
broadcom/bcm2710-rpi-3-b-plus.dtb \
broadcom/bcm2837-rpi-3-b.dtb \
@@ -32,6 +33,11 @@ RPI_KERNEL_DEVICETREE = " \
broadcom/bcm2711-rpi-400.dtb \
broadcom/bcm2711-rpi-cm4.dtb \
broadcom/bcm2711-rpi-cm4s.dtb \
broadcom/bcm2712-rpi-5-b.dtb \
broadcom/bcm2712-rpi-cm5-cm5io.dtb \
broadcom/bcm2712-rpi-cm5-cm4io.dtb \
broadcom/bcm2712-rpi-cm5l-cm5io.dtb \
broadcom/bcm2712-rpi-cm5l-cm4io.dtb \
"
SDIMG_KERNELIMAGE ?= "kernel8.img"

View File

@@ -2,7 +2,7 @@
#@NAME: RaspberryPi Compute Module (CM1)
#@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module (CM1)
MACHINEOVERRIDES = "raspberrypi:${MACHINE}"
MACHINEOVERRIDES =. "raspberrypi:"
include conf/machine/raspberrypi.conf
ARMSTUB ?= "armstub.bin"

View File

@@ -2,9 +2,9 @@
#@NAME: RaspberryPi0 2 Wifi Development Board
#@DESCRIPTION: Machine configuration for the RaspberryPi0 2 Wifi in 64 bits mode
include conf/machine/raspberrypi3-64.conf
MACHINEOVERRIDES =. "raspberrypi3-64:"
MACHINEOVERRIDES := "${@'${MACHINEOVERRIDES}'.replace(':${MACHINE}',':raspberrypi3-64:${MACHINE}')}"
include conf/machine/raspberrypi3-64.conf
MACHINE_EXTRA_RRECOMMENDS += "\
linux-firmware-rpidistro-bcm43436 \

View File

@@ -2,9 +2,9 @@
#@NAME: RaspberryPi0 2 Wifi Development Board
#@DESCRIPTION: Machine configuration for the RaspberryPi0 2 Wifi in 32 bits mode
include conf/machine/raspberrypi3.conf
MACHINEOVERRIDES =. "raspberrypi3:"
MACHINEOVERRIDES := "${@'${MACHINEOVERRIDES}'.replace(':${MACHINE}',':raspberrypi3:${MACHINE}')}"
include conf/machine/raspberrypi3.conf
MACHINE_EXTRA_RRECOMMENDS += "\
linux-firmware-rpidistro-bcm43436 \

View File

@@ -2,7 +2,7 @@
#@NAME: RaspberryPi Zero Development Board
#@DESCRIPTION: Machine configuration for the RaspberryPi Zero board (https://www.raspberrypi.org/blog/raspberry-pi-zero)
MACHINEOVERRIDES = "raspberrypi:${MACHINE}"
MACHINEOVERRIDES =. "raspberrypi:"
include conf/machine/raspberrypi.conf
SERIAL_CONSOLES ?= "115200;ttyAMA0"

View File

@@ -0,0 +1,30 @@
#@TYPE: Machine
#@NAME: RaspberryPi 2 V1.2 Development Board
#@DESCRIPTION: Machine configuration for the RaspberryPi 2 in 64 bits mode
MACHINEOVERRIDES =. "raspberrypi3-64:"
DEFAULTTUNE ?= "cortexa53-nocrypto"
require conf/machine/include/arm/armv8a/tune-cortexa53.inc
include conf/machine/include/rpi-base.inc
RPI_KERNEL_DEVICETREE = " \
broadcom/bcm2710-rpi-2-b.dtb \
broadcom/bcm2710-rpi-3-b.dtb \
broadcom/bcm2710-rpi-3-b-plus.dtb \
broadcom/bcm2837-rpi-3-b.dtb \
broadcom/bcm2710-rpi-cm3.dtb \
"
SDIMG_KERNELIMAGE ?= "kernel8.img"
# When u-boot is enabled we need to use the "Image" format and the "booti"
# command to load the kernel
KERNEL_IMAGETYPE_UBOOT ?= "Image"
# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet
KERNEL_IMAGETYPE_DIRECT ?= "Image"
KERNEL_BOOTCMD ?= "booti"
UBOOT_MACHINE = "rpi_arm64_config"
SERIAL_CONSOLES ?= "115200;ttyAMA0"
VC4DTBO ?= "vc4-fkms-v3d"
ARMSTUB ?= "armstub8.bin"

View File

@@ -12,3 +12,19 @@ SERIAL_CONSOLES ?= "115200;ttyAMA0"
UBOOT_MACHINE = "rpi_2_config"
ARMSTUB ?= "armstub7.bin"
#
# Below are variables ONLY needed for running with Yocto/OE's runqemu script
#
IMAGE_CLASSES += "qemuboot"
QB_SYSTEM_NAME = "qemu-system-arm"
QB_MACHINE = "-machine raspi2b"
QB_MEM = "-m 1024"
QB_DTB = "bcm2709-rpi-2-b.dtb"
QB_NET = "none"
QB_KERNEL_ROOT = "/dev/mmcblk0"
QB_KERNEL_CMDLINE_APPEND = "rootwait"
QB_RNG = ""
QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=sd,format=raw"
QB_DEFAULT_FSTYPE = "ext3"

View File

@@ -2,7 +2,7 @@
#@NAME: RaspberryPi 3 Development Board
#@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 64 bits mode
MACHINEOVERRIDES = "raspberrypi3:${MACHINE}"
MACHINEOVERRIDES =. "raspberrypi3:"
MACHINE_EXTRA_RRECOMMENDS += "\
linux-firmware-rpidistro-bcm43430 \
@@ -11,10 +11,12 @@ MACHINE_EXTRA_RRECOMMENDS += "\
bluez-firmware-rpidistro-bcm4345c0-hcd \
"
DEFAULTTUNE ?= "cortexa53-nocrypto"
require conf/machine/include/arm/armv8a/tune-cortexa53.inc
include conf/machine/include/rpi-base.inc
RPI_KERNEL_DEVICETREE = " \
broadcom/bcm2710-rpi-2-b.dtb \
broadcom/bcm2710-rpi-3-b.dtb \
broadcom/bcm2710-rpi-3-b-plus.dtb \
broadcom/bcm2837-rpi-3-b.dtb \

View File

@@ -2,7 +2,7 @@
#@NAME: RaspberryPi 4 Development Board (64bit)
#@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 64 bits mode
MACHINEOVERRIDES = "raspberrypi4:${MACHINE}"
MACHINEOVERRIDES =. "raspberrypi4:"
MACHINE_FEATURES += "pci"
MACHINE_EXTRA_RRECOMMENDS += "\
@@ -12,6 +12,8 @@ MACHINE_EXTRA_RRECOMMENDS += "\
bluez-firmware-rpidistro-bcm4345c5-hcd \
"
DEFAULTTUNE = "cortexa72-nocrypto"
require conf/machine/include/arm/armv8a/tune-cortexa72.inc
include conf/machine/include/rpi-base.inc

View File

@@ -0,0 +1,36 @@
#@TYPE: Machine
#@NAME: RaspberryPi 5 Development Board (64bit)
#@DESCRIPTION: Machine configuration for the RaspberryPi 5 in 64 bits mode
require conf/machine/include/arm/armv8-2a/tune-cortexa76.inc
include conf/machine/include/rpi-base.inc
MACHINE_FEATURES += "pci"
MACHINE_EXTRA_RRECOMMENDS += "\
linux-firmware-rpidistro-bcm43455 \
bluez-firmware-rpidistro-bcm4345c0-hcd \
linux-firmware-rpidistro-bcm43456 \
bluez-firmware-rpidistro-bcm4345c5-hcd \
"
RPI_KERNEL_DEVICETREE = " \
broadcom/bcm2712-rpi-5-b.dtb \
broadcom/bcm2712-rpi-cm5-cm5io.dtb \
broadcom/bcm2712-rpi-cm5-cm4io.dtb \
broadcom/bcm2712-rpi-cm5l-cm5io.dtb \
broadcom/bcm2712-rpi-cm5l-cm4io.dtb \
"
SDIMG_KERNELIMAGE ?= "kernel_2712.img"
SERIAL_CONSOLES ?= "115200;ttyAMA10"
VC4DTBO ?= "vc4-kms-v3d"
# When u-boot is enabled we need to use the "Image" format and the "booti"
# command to load the kernel
KERNEL_IMAGETYPE_UBOOT ?= "Image"
# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet
KERNEL_IMAGETYPE_DIRECT ?= "Image"
KERNEL_BOOTCMD ?= "booti"
UBOOT_MACHINE = "rpi_arm64_config"

View File

@@ -30,7 +30,10 @@
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ['myst_parser']
extensions = [
'myst_parser',
'sphinx_rtd_theme'
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
@@ -121,6 +124,7 @@ todo_include_todos = False
# a list of builtin themes.
#
# html_theme = 'alabaster'
html_theme = "sphinx_rtd_theme"
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the

View File

@@ -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
`ENABLE_UART = "0"`.
## Image with Initramfs
To build an initramfs image:
@@ -170,7 +197,7 @@ To build an initramfs image:
- `INITRAMFS_IMAGE_BUNDLE = "1"`
- `BOOT_SPACE = "1073741"`
- `INITRAMFS_MAXSIZE = "315400"`
- `IMAGE_FSTYPES_pn-${INITRAMFS_IMAGE} = "${INITRAMFS_FSTYPES}"`
- `IMAGE_FSTYPES:pn-${INITRAMFS_IMAGE} = "${INITRAMFS_FSTYPES}"`
## Including additional files in the SD card image boot partition
@@ -314,12 +341,25 @@ Some modules may require setting the frequency of the crystal oscillator used on
CAN_OSCILLATOR="8000000"
Configure the interrupt pin to the one connected to the CAN module. By default,
the pins are set to 25 for can0 and 24 for can1. To change them to 12 and 16,
the following variables also have to be set:
CAN0_INTERRUPT_PIN = "12"
CAN1_INTERRUPT_PIN = "16"
Tested modules:
* PiCAN2 (16 MHz crystal): <http://skpang.co.uk/catalog/pican2-canbus-board-for-raspberry-pi-23-p-1475.html>
* WaveShare RS485 CAN HAT (8 MHz or 12 MHz crystal): <https://www.waveshare.com/rs485-can-hat.htm>
* PiCAN2 Duo (16 MHz crystal): <http://skpang.co.uk/catalog/pican2-duo-canbus-board-for-raspberry-pi-23-p-1480.html>
To enable the 2-Channel CAN-BUS(FD) Shield (MCP2518FD), set:
ENABLE_DUAL_CAN_SEED_FD_HAT_V2 = "1"
* Seed Studio (2-Channel CAN-BUS(FD) Shield): <https://wiki.seeedstudio.com/2-Channel-CAN-BUS-FD-Shield-for-Raspberry-Pi/>
## Enable infrared
Users who want to enable infrared support, for example for using LIRC (Linux
@@ -379,19 +419,27 @@ option:
# Raspberry Pi 7\" display/touch screen \n \
lcd_rotate=2 \n \
'
## Enable Raspberrypi Camera V2
## Enable Raspberry Pi Camera Module
RaspberryPi does not have the unicam device ( RaspberryPi Camera ) enabled by default.
Raspberry Pi does not have the unicam device ( Raspberry Pi Camera ) enabled by default.
Because this unicam device ( bcm2835-unicam ) as of now is used by libcamera opensource.
So we have to explicitly set in local.conf.
So we have to explicitly enable it in local.conf.
RASPBERRYPI_CAMERA_V2 = "1"
This will add the device tree overlays imx219 ( RaspberryPi Camera sensor V2 driver ) to config.txt.
Also, this will enable adding Contiguous Memory Allocation value in the cmdline.txt.
This will add the device tree overlay imx219 ( Raspberry Pi Camera Module V2 sensor driver
) to config.txt. Also, this will enable adding Contiguous Memory Allocation value in the
cmdline.txt.
Ref.:
* <https://github.com/raspberrypi/documentation/blob/master/linux/software/libcamera/README.md>
Similarly, the Raspberry Pi Camera Module v3 also has to be explicitly enabled in local.conf.
RASPBERRYPI_CAMERA_V3 = "1"
This will add the device tree overlay imx708 ( Raspberry Pi Camera Module V3 sensor driver )
to config.txt.
See:
* <https://www.raspberrypi.com/documentation/computers/camera_software.html>
* <https://www.raspberrypi.org/blog/an-open-source-camera-stack-for-raspberry-pi-using-libcamera/>
## WM8960 soundcard support
@@ -446,14 +494,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:
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_ffmpeg = "ffmpeg"
PREFERRED_PROVIDER_vlc = "vlc"
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.

View File

@@ -7,13 +7,18 @@
* raspberrypi0-wifi
* raspberrypi0-2w-64
* raspberrypi2
* raspberrypi2-64 (64 bit kernel & userspace)
* raspberrypi3
* raspberrypi3-64 (64 bit kernel & userspace)
* raspberrypi4
* raspberrypi4-64 (64 bit kernel & userspace)
* raspberrypi5
* raspberrypi-cm (dummy alias for raspberrypi)
* raspberrypi-cm3
Note: The raspberrypi2-64 machine includes 64-bit support for Raspberry Pi 2B
V1.2.
Note: The raspberrypi3 machines include support for Raspberry Pi 3B+.
## Multi-board Machines

View File

@@ -1 +1,2 @@
myst_parser
sphinx_rtd_theme

View File

@@ -1,175 +0,0 @@
diff -ruN lirc-0.10.1.orig/lib/config_file.c lirc-0.10.1/lib/config_file.c
--- lirc-0.10.1.orig/lib/config_file.c 2017-09-10 17:52:19.000000000 +0900
+++ lirc-0.10.1/lib/config_file.c 2019-06-26 00:39:45.734320696 +0900
@@ -71,7 +71,7 @@
typedef void* (*array_guest_func)(void* item, void* arg);
-#define LINE_LEN 1024
+#define LINE_LEN 4096
#define MAX_INCLUDES 10
const char* whitespace = " \t";
diff -ruN lirc-0.10.1.orig/lib/ir_remote.h lirc-0.10.1/lib/ir_remote.h
--- lirc-0.10.1.orig/lib/ir_remote.h 2017-09-10 17:52:19.000000000 +0900
+++ lirc-0.10.1/lib/ir_remote.h 2019-06-26 00:39:45.714321224 +0900
@@ -110,12 +110,17 @@
static inline int is_pulse(lirc_t data)
{
- return data & PULSE_BIT ? 1 : 0;
+ return ((data & LIRC_MODE2_MASK)==LIRC_MODE2_PULSE) ? 1 : 0;
}
static inline int is_space(lirc_t data)
{
- return !is_pulse(data);
+ return ((data & LIRC_MODE2_MASK)==LIRC_MODE2_SPACE) ? 1 : 0;
+}
+
+static inline int is_timeout(lirc_t data)
+{
+ return ((data & LIRC_MODE2_MASK)==LIRC_MODE2_TIMEOUT) ? 1 : 0;
}
static inline int has_repeat(const struct ir_remote* remote)
diff -ruN lirc-0.10.1.orig/lib/irrecord.c lirc-0.10.1/lib/irrecord.c
--- lirc-0.10.1.orig/lib/irrecord.c 2017-09-10 17:52:19.000000000 +0900
+++ lirc-0.10.1/lib/irrecord.c 2019-06-26 00:39:45.724320960 +0900
@@ -1398,9 +1398,16 @@
state->retval = 0;
return STS_LEN_TIMEOUT;
}
+ if (is_timeout(state->data)) {
+ return STS_LEN_AGAIN;
+ }
state->count++;
if (state->mode == MODE_GET_GAP) {
- state->sum += state->data & PULSE_MASK;
+ if (state->sum != 0 || is_pulse(state->data)) {
+ state->sum += state->data & PULSE_MASK;
+ }else{
+ return STS_LEN_AGAIN;
+ }
if (state->average == 0 && is_space(state->data)) {
if (state->data > 100000) {
state->sum = 0;
@@ -1472,6 +1479,10 @@
state->keypresses = lastmaxcount;
return STS_LEN_AGAIN;
} else if (state->mode == MODE_HAVE_GAP) {
+ if (state->count==1 && is_space(state->data)) {
+ state->count = 0;
+ return STS_LEN_AGAIN;
+ }
if (state->count <= MAX_SIGNALS) {
signals[state->count - 1] = state->data & PULSE_MASK;
} else {
@@ -1510,7 +1521,7 @@
/* such long pulses may appear with
* crappy hardware (receiver? / remote?)
*/
- else {
+ else if(is_pulse(state->data)) {
remote->gap = 0;
return STS_LEN_NO_GAP_FOUND;
}
@@ -1811,22 +1822,24 @@
static int raw_data_ok(struct button_state* btn_state)
{
- int r;
+ int r = 0;
int ref;
- if (!is_space(btn_state->data)) {
+ if (is_pulse(btn_state->data)) {
r = 0;
- } else if (is_const(&remote)) {
- if (remote.gap > btn_state->sum) {
- ref = (remote.gap - btn_state->sum);
- ref *= (100 - remote.eps);
- ref /= 100;
+ } else if (is_space(btn_state->data)) {
+ if (is_const(&remote)) {
+ if (remote.gap > btn_state->sum) {
+ ref = (remote.gap - btn_state->sum);
+ ref *= (100 - remote.eps);
+ ref /= 100;
+ } else {
+ ref = 0;
+ }
+ r = btn_state->data > ref;
} else {
- ref = 0;
+ r = btn_state->data > (remote.gap * (100 - remote.eps)) / 100;
}
- r = btn_state->data > ref;
- } else {
- r = btn_state->data > (remote.gap * (100 - remote.eps)) / 100;
}
return r;
}
@@ -1970,7 +1983,7 @@
btn_state->data = remote.gap;
}
if (btn_state->count == 0) {
- if (!is_space(btn_state->data)
+ if (is_pulse(btn_state->data)
|| btn_state->data <
remote.gap - remote.gap * remote.eps /
100) {
diff -ruN lirc-0.10.1.orig/lib/lirc/ir_remote.h lirc-0.10.1/lib/lirc/ir_remote.h
--- lirc-0.10.1.orig/lib/lirc/ir_remote.h 2017-09-10 17:52:58.000000000 +0900
+++ lirc-0.10.1/lib/lirc/ir_remote.h 2019-06-26 00:39:45.724320960 +0900
@@ -110,12 +110,17 @@
static inline int is_pulse(lirc_t data)
{
- return data & PULSE_BIT ? 1 : 0;
+ return ((data & LIRC_MODE2_MASK)==LIRC_MODE2_PULSE) ? 1 : 0;
}
static inline int is_space(lirc_t data)
{
- return !is_pulse(data);
+ return ((data & LIRC_MODE2_MASK)==LIRC_MODE2_SPACE) ? 1 : 0;
+}
+
+static inline int is_timeout(lirc_t data)
+{
+ return ((data & LIRC_MODE2_MASK)==LIRC_MODE2_TIMEOUT) ? 1 : 0;
}
static inline int has_repeat(const struct ir_remote* remote)
diff -ruN lirc-0.10.1.orig/tools/mode2.cpp lirc-0.10.1/tools/mode2.cpp
--- lirc-0.10.1.orig/tools/mode2.cpp 2017-09-10 17:52:19.000000000 +0900
+++ lirc-0.10.1/tools/mode2.cpp 2019-06-26 00:45:38.840404976 +0900
@@ -326,12 +326,24 @@
void print_mode2_data(unsigned int data)
{
static int bitno = 1;
+ static bool leading_space = true;
+ unsigned int msg = data & LIRC_MODE2_MASK;
switch (opt_dmode) {
case 0:
- printf("%s %u\n", (
- data & PULSE_BIT) ? "pulse" : "space",
- (uint32_t)(data & PULSE_MASK));
+ if (leading_space && msg == LIRC_MODE2_SPACE ) {
+ break;
+ } else {
+ leading_space = false;
+ }
+ if (msg == LIRC_MODE2_PULSE) {
+ printf("pulse %u\n", (__u32)(data & PULSE_MASK));
+ } else if (msg == LIRC_MODE2_SPACE) {
+ printf("space %u\n", (__u32)(data & PULSE_MASK));
+ } else if (msg == LIRC_MODE2_TIMEOUT) {
+ printf("timeout %u\n", (__u32)(data & PULSE_MASK));
+ leading_space = true;
+ }
break;
case 1: {
/* print output like irrecord raw config file data */

View File

@@ -1,6 +1,5 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI:append:rpi = " \
file://lirc-gpio-ir-0.10.patch \
file://lircd.service \
"

View File

@@ -18,7 +18,7 @@ DEPENDS += " \
"
RDEPENDS:${PN} += " \
${PYTHON_PN}-numpy \
${PYTHON_PN}-rtimu \
${PYTHON_PN}-pillow \
python3-numpy \
python3-rtimu \
python3-pillow \
"

View File

@@ -0,0 +1,42 @@
From bbc1ea3e4119c665723cfd1c5a364bc8c7cbb464 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Thu, 4 May 2023 18:07:16 +0000
Subject: [PATCH] utils/version.py: use /usr/bin/env in shebang
* it uses subprocess text=True which is available only since python-3.7
when running on host with python-3.6 it fails with:
Traceback (most recent call last):
File "TOPDIR/BUILD/work/raspberrypi4_64-oe-linux/rpi-libcamera-apps/git-r0/git/utils/version.py", line 19, in generate_version
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, text=True)
File "/usr/lib/python3.6/subprocess.py", line 423, in run
with Popen(*popenargs, **kwargs) as process:
TypeError: __init__() got an unexpected keyword argument 'text'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "TOPDIR/BUILD/work/raspberrypi4_64-oe-linux/rpi-libcamera-apps/git-r0/git/utils/version.py", line 52, in <module>
generate_version()
File "TOPDIR/BUILD/work/raspberrypi4_64-oe-linux/rpi-libcamera-apps/git-r0/git/utils/version.py", line 48, in generate_version
print(f'{commit} {datetime.now().strftime("%d-%m-%Y (%H:%M:%S)")}', end="")
UnboundLocalError: local variable 'commit' referenced before assignment
Generating version string:
even when newer python3 is in PATH (either from buildtools or from python3native)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Upstream-Status: Pending
---
utils/version.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/utils/version.py b/utils/version.py
index 48d7e05..4a5e35c 100755
--- a/utils/version.py
+++ b/utils/version.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python3
+#!/usr/bin/env python3
# Copyright (C) 2021, Raspberry Pi (Trading) Limited
# Generate version information for rpicam-apps

View File

@@ -0,0 +1,24 @@
add missing header
When compiling with gcc15, compiliation fails with the following error:
| In file included from ../sources/libcamera-apps-1.9.0/post_processing_stages/segmentation_tf_stage.cpp:8:
| ../sources/libcamera-apps-1.9.0/post_processing_stages/segmentation.hpp:15:82: error: 'uint8_t' was not declared in this scope
| 15 | Segmentation(int w, int h, std::vector<std::string> l, const std::vector<uint8_t> &s)
To avoid it, add the cstdint header to the offending file.
Upstream-Status: Submitted [https://github.com/raspberrypi/rpicam-apps/pull/861]
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
diff --git a/post_processing_stages/segmentation.hpp b/post_processing_stages/segmentation.hpp
index ac87228..82d7939 100644
--- a/post_processing_stages/segmentation.hpp
+++ b/post_processing_stages/segmentation.hpp
@@ -7,6 +7,7 @@
#pragma once
+#include <cstdint>
#include <string>
#include <vector>

View File

@@ -0,0 +1,47 @@
SUMMARY = "A suite of libcamera-based apps"
DESCRIPTION = "This is a small suite of libcamera-based apps that aim to \
copy the functionality of the existing \"raspicam\" apps."
HOMEPAGE = "https://github.com/raspberrypi/rpicam-apps"
SECTION = "console/utils"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://license.txt;md5=a0013d1b383d72ba4bdc5b750e7d1d77"
SRC_URI = "\
git://github.com/raspberrypi/rpicam-apps.git;protocol=https;branch=main \
file://0001-utils-version.py-use-usr-bin-env-in-shebang.patch \
file://add-missing-header.patch \
"
SRCREV = "eca9928b76c106141667288f1cef935d02ba59b3"
PROVIDES += "rpicam-apps"
DEPENDS = "libcamera libexif jpeg tiff libpng boost"
PACKAGECONFIG ??= "drm"
PACKAGECONFIG[libav] = "-Denable_libav=enabled, -Denable_libav=disabled, libav"
PACKAGECONFIG[drm] = "-Denable_drm=enabled, -Denable_drm=disabled, libdrm"
PACKAGECONFIG[egl] = "-Denable_egl=enabled, -Denable_egl=disabled, virtual/egl"
PACKAGECONFIG[qt] = "-Denable_qt=enabled, -Denable_qt=disabled, qtbase"
PACKAGECONFIG[opencv] = "-Denable_opencv=enabled, -Denable_opencv=disabled, opencv"
PACKAGECONFIG[tflite] = "-Denable_tflite=enabled, -Denable_tflite=disabled, tensorflow-lite"
inherit meson pkgconfig
NEON_FLAGS = ""
NEON_FLAGS:aarch64 = "-Dneon_flags=arm64"
NEON_FLAGS:arm:raspberrypi3 = "-Dneon_flags=armv8-neon"
NEON_FLAGS:arm:raspberrypi4 = "-Dneon_flags=armv8-neon"
EXTRA_OEMESON += "${NEON_FLAGS}"
# QA Issue: /usr/bin/camera-bug-report contained in package libcamera-apps requires /usr/bin/python3
# QA Issue: File /usr/lib/pkgconfig/rpicam_app.pc in package libcamera-apps-dev contains reference to TMPDIR
do_install:append() {
rm -v ${D}/${bindir}/camera-bug-report
sed -i "s,${RECIPE_SYSROOT}${libdir},$\{libdir},g" ${D}${libdir}/pkgconfig/rpicam_app.pc
}
FILES:${PN} += "${libdir}/rpicam-apps-postproc \
${libdir}/rpicam-apps-preview \
${datadir}/rpi-camera-assets"

View File

@@ -1,2 +1,3 @@
PACKAGECONFIG[raspberrypi] = "-Dpipelines=raspberrypi -Dipas=raspberrypi -Dcpp_args=-Wno-unaligned-access"
EXTRA_OEMESON:append:rpi = " -Dipas=rpi/vc4,rpi/pisp"
PACKAGECONFIG:append:rpi = " raspberrypi"
CXXFLAGS:append:rpi = " -Wno-unaligned-access "

View File

@@ -0,0 +1,34 @@
From 230d9c127d45af11739214e78488a93255b832bb Mon Sep 17 00:00:00 2001
From: Gyorgy Sarvari <skandigraun@gmail.com>
Date: Tue, 16 Sep 2025 16:28:34 +0200
Subject: [PATCH] ignore lockf() return value
gcc15 returns an error otherwise:
| ../sources/libpisp-1.2.1/src/helpers/media_device.cpp: In member function 'std::map<std::__cxx11::basic_string<char>, libpisp::helpers::DeviceFd>::iterator libpisp::helpers::MediaDevice::unlock(const std::string&)':
| ../sources/libpisp-1.2.1/src/helpers/media_device.cpp:251:14: error: ignoring return value of 'int lockf(int, int, __off64_t)' declared with attribute 'warn_unused_result' [-Werror=unused-result]
| 251 | lockf(it->second.Get(), F_ULOCK, 0);
| | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Upstream-Status: Submitted [https://github.com/raspberrypi/libpisp/pull/53]
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
---
src/helpers/media_device.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/helpers/media_device.cpp b/src/helpers/media_device.cpp
index 0dd64d6..121ce79 100644
--- a/src/helpers/media_device.cpp
+++ b/src/helpers/media_device.cpp
@@ -248,6 +248,6 @@ std::map<std::string, DeviceFd>::iterator MediaDevice::unlock(const std::string
if (it == lock_map_.end())
return lock_map_.end();
- lockf(it->second.Get(), F_ULOCK, 0);
+ std::ignore = lockf(it->second.Get(), F_ULOCK, 0);
return lock_map_.erase(it);
}
--
2.51.0

View File

@@ -0,0 +1,16 @@
DESCRIPTION = "A helper library to generate run-time configuration for the Raspberry Pi \
ISP (PiSP), consisting of the Frontend and Backend hardware components."
HOMEPAGE = "https://github.com/raspberrypi/libpisp"
LICENSE = "BSD-2-Clause & GPL-2.0-only & GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3417a46e992fdf62e5759fba9baef7a7 \
file://LICENSES/GPL-2.0-only.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LICENSES/GPL-2.0-or-later.txt;md5=fed54355545ffd980b814dab4a3b312c"
SRC_URI = "git://github.com/raspberrypi/libpisp.git;protocol=https;branch=main \
file://0001-ignore-lockf-return-value.patch"
SRCREV = "981977ff21f32c8a97d2a0ecbdff3e39d42ccce3"
DEPENDS = "nlohmann-json"
inherit meson pkgconfig

View File

@@ -2,11 +2,17 @@ From: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= <remi@remlab.net>
Date: Sat, 16 Jun 2018 21:31:45 +0300
Subject: configure: fix linking on RISC-V ISA
Upstream-status: Pending
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
---
configure.ac | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure.ac b/configure.ac
index 2037a9e..df26367 100644
--- a/configure.ac
+++ b/configure.ac
@@ -113,6 +113,7 @@ case "${host_os}" in

View File

@@ -2,13 +2,18 @@ From: Sebastian Ramacher <sramacher@debian.org>
Date: Mon, 19 Aug 2019 21:08:26 +0200
Subject: Revert "configure: Require libmodplug >= 0.8.9"
This reverts commit 48f014768dc22ecad23d0e9f53c38805a3aff832.
Upstream-Status: Inappropriate
Upstream-status: Pending
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
This reverts commit 48f014768dc22ecad23d0e9f53c38805a3aff832.
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index df26367..b8580ec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2207,7 +2207,7 @@ AC_ARG_ENABLE(mod,

View File

@@ -0,0 +1,83 @@
From 4fcace61801f418786c42487c6b06b693ee87666 Mon Sep 17 00:00:00 2001
From: Romain Vimont <rom1v@videolabs.io>
Date: Mon, 19 Sep 2022 17:17:01 +0200
Subject: [PATCH] vnc: fix possible buffer overflow
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
Thanks to 0xMitsurugi [1] from Synacktiv [2] for the bug report and fix.
[1] https://twitter.com/0xMitsurugi
[2] https://www.synacktiv.com/
Fixes #27335
(cherry picked from commit 5eb783fd44ed6298db3e38f7765f21c42e4405f9)
---
modules/access/vnc.c | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
--- a/modules/access/vnc.c
+++ b/modules/access/vnc.c
@@ -33,6 +33,7 @@
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
+#include <assert.h>
#include <vlc_common.h>
#include <vlc_plugin.h>
@@ -115,7 +116,7 @@
int i_cancel_state;
rfbClient* p_client;
- int i_framebuffersize;
+ size_t i_framebuffersize;
block_t *p_block;
float f_fps;
@@ -143,11 +144,16 @@
p_sys->es = NULL;
}
- int i_width = p_client->width;
- int i_height = p_client->height;
- int i_depth = p_client->format.bitsPerPixel;
+ assert(!(p_client->width & ~0xffff)); // fits in 16 bits
+ uint16_t i_width = p_client->width;
- switch( i_depth )
+ assert(!(p_client->height & ~0xffff)); // fits in 16 bits
+ uint16_t i_height = p_client->height;
+
+ uint8_t i_bits_per_pixel = p_client->format.bitsPerPixel;
+ assert((i_bits_per_pixel & 0x7) == 0); // multiple of 8
+
+ switch( i_bits_per_pixel )
{
case 8:
i_chroma = VLC_CODEC_RGB8;
@@ -180,7 +186,10 @@
}
/* Set up framebuffer */
- p_sys->i_framebuffersize = i_width * i_height * i_depth / 8;
+ if (mul_overflow(i_width, i_height * (i_bits_per_pixel / 8), &p_sys->i_framebuffersize)) {
+ msg_Err(p_demux, "VNC framebuffersize overflow");
+ return FALSE;
+ }
/* Reuse unsent block */
if ( p_sys->p_block )
@@ -211,7 +220,7 @@
fmt.video.i_frame_rate_base = 1000;
fmt.video.i_frame_rate = 1000 * p_sys->f_fps;
- fmt.video.i_bits_per_pixel = i_depth;
+ fmt.video.i_bits_per_pixel = i_bits_per_pixel;
fmt.video.i_rmask = p_client->format.redMax << p_client->format.redShift;
fmt.video.i_gmask = p_client->format.greenMax << p_client->format.greenShift;
fmt.video.i_bmask = p_client->format.blueMax << p_client->format.blueShift;

View File

@@ -1,4 +1,7 @@
Upstream-status: Pending
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
--- a/bin/vlc.c
+++ b/bin/vlc.c
@@ -12,5 +15,5 @@ Upstream-status: Pending
+// signal (SIGINT, SIG_DFL);
+ _exit(0);
}
/*****************************************************************************

View File

@@ -1,56 +0,0 @@
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 07 Jan 2022 07:10:47 PM CST
Subject: [PATCH] Use packageconfig to acquire mmal flags
Need to use userland graphics libraries package files as it's best to not assume /opt/vc is where
all libs and headers are installed per distro. Also, needed to include $BCMHOST_MMAL_LIBS variable as
AC_CHECK_LIB(bcm_host) fails to find `vc_tv_unregister_callback_full`. Adding $BCMHOST_MMAL_LIBS uses all
libs inside bcm_host,mmal,vcsm,openmaxil .pc files when checking for `vc_tv_unregister_callback_full`
function.
Upstream-status: Pending
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
diff --git a/configure.ac b/configure.ac
index bff220510..4d487409d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3483,23 +3483,25 @@ AC_ARG_ENABLE(mmal_avcodec,
[Use MMAL enabled avcodec libs (default disable)]))
if test "${enable_mmal}" != "no"; then
VLC_SAVE_FLAGS
- LDFLAGS="${LDFLAGS} -L/opt/vc/lib -lvchostif"
- CPPFLAGS="${CPPFLAGS} -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux"
- AC_CHECK_HEADERS(interface/mmal/mmal.h,
- [ AC_CHECK_LIB(bcm_host, vc_tv_unregister_callback_full, [
+ PKG_CHECK_MODULES(BCMHOST_MMAL, [bcm_host mmal vcsm openmaxil egl], [
+ HAVE_MMAL=yes
+ AC_CHECK_HEADERS(interface/mmal/mmal.h,
+ [ AC_CHECK_LIB(bcm_host $BCMHOST_MMAL_LIBS, vc_tv_unregister_callback_full, [
have_mmal="yes"
- VLC_ADD_PLUGIN([mmal])
- VLC_ADD_LDFLAGS([mmal],[ -L/opt/vc/lib ])
- VLC_ADD_CFLAGS([mmal],[ -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux ])
- VLC_ADD_LIBS([mmal],[ -lbcm_host -lmmal -lmmal_core -lmmal_components -lmmal_util -lvchostif -lvchiq_arm -lvcsm ]) ], [
+ VLC_ADD_PLUGIN([bcm_host mmal vcsm openmaxil egl])
+ VLC_ADD_CFLAGS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_CFLAGS])
+ VLC_ADD_LIBS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_LIBS]) ], [
AS_IF([test "${enable_mmal}" = "yes"],
[ AC_MSG_ERROR([Cannot find bcm library...]) ],
[ AC_MSG_WARN([Cannot find bcm library...]) ])
- ],
- [])
- ] , [ AS_IF([test "${enable_mmal}" = "yes"],
- [ AC_MSG_ERROR([Cannot find development headers for mmal...]) ],
- [ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ])
+ ],[])
+ ],[ AS_IF([test "${enable_mmal}" = "yes"],
+ [ AC_MSG_ERROR([Cannot find development headers for mmal...]) ],
+ [ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ])
+ ],:[
+ AC_MSG_WARN([${BCMHOST_PKG_ERRORS}: userland graphics not available.])
+ HAVE_MMAL=no
+ ])
VLC_RESTORE_FLAGS
fi
AM_CONDITIONAL([HAVE_MMAL], [test "${have_mmal}" = "yes"])

View File

@@ -1,10 +1,13 @@
Upstream-status: Pending
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
--- a/modules/video_chroma/chain.c
+++ b/modules/video_chroma/chain.c
@@ -280,8 +280,9 @@ static int BuildTransformChain( filter_t
return VLC_SUCCESS;
/* Lets try resize+chroma first, then transform */
- msg_Dbg( p_filter, "Trying to build chroma+resize" );
- EsFormatMergeSize( &fmt_mid, &p_filter->fmt_out, &p_filter->fmt_in );

View File

@@ -0,0 +1,53 @@
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
--- a/modules/hw/mmal/blend_rgba_neon.S
+++ b/modules/hw/mmal/blend_rgba_neon.S
@@ -1,10 +1,10 @@
- .syntax unified
- .arm
-// .thumb
- .text
+#include "../../arm_neon/asm.S"
.align 16
.arch armv7-a
- .fpu neon-vfpv4
+ .syntax unified
+#if HAVE_AS_FPU_DIRECTIVE
+ .fpu neon-vfpv4
+#endif
@ blend_rgbx_rgba_neon
--- a/modules/hw/mmal/codec.c
+++ b/modules/hw/mmal/codec.c
@@ -29,6 +29,7 @@
#include <stdatomic.h>
#include <vlc_common.h>
+#include <vlc_cpu.h>
#include <vlc_plugin.h>
#include <vlc_codec.h>
#include <vlc_filter.h>
@@ -2311,6 +2312,9 @@ static int OpenBlendMmal(vlc_object_t *o
filter_t * const p_filter = (filter_t *)object;
const vlc_fourcc_t vfcc_dst = p_filter->fmt_out.video.i_chroma;
+ if (!vlc_CPU_ARM_NEON())
+ return VLC_EGENERIC;
+
if (!hw_mmal_chroma_is_mmal(vfcc_dst) ||
!hw_mmal_vzc_subpic_fmt_valid(&p_filter->fmt_in.video))
{
@@ -2421,6 +2425,9 @@ static int OpenBlendNeon(vlc_object_t *o
MMAL_FOURCC_T mfcc_dst = vlc_to_mmal_video_fourcc(&p_filter->fmt_out.video);
blend_neon_fn * blend_fn = (blend_neon_fn *)0;
+ if (!vlc_CPU_ARM_NEON())
+ return VLC_EGENERIC;
+
// Non-alpha RGB only for dest
if (vfcc_dst != VLC_CODEC_RGB32)
return VLC_EGENERIC;

View File

@@ -1,18 +0,0 @@
* tremor provides libvorbisidec, use it instead of libvorbisdec
Upstream-status: Pending
Signed-off-by: Tim Orling <TicoTimo@gmail.com>
Index: vlc-2.2.1/modules/codec/Makefile.am
===================================================================
--- vlc-2.2.1.orig/modules/codec/Makefile.am
+++ vlc-2.2.1/modules/codec/Makefile.am
@@ -234,7 +234,7 @@ codec_LTLIBRARIES += $(LTLIBtheora)
libtremor_plugin_la_SOURCES = codec/vorbis.c
libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor
libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)'
-libtremor_plugin_la_LIBADD = -lvorbisdec -logg
+libtremor_plugin_la_LIBADD = -lvorbisidec -logg
EXTRA_LTLIBRARIES += libtremor_plugin.la
codec_LTLIBRARIES += $(LTLIBtremor)

View File

@@ -0,0 +1,26 @@
From 048e4fdd08ac588feb27b03e3ec1824e24f77d62 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 5 Mar 2023 14:13:25 -0800
Subject: [PATCH 3/3] configure: Disable incompatible-function-pointer-types
warning
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
configure.ac | 5 +++++
1 file changed, 5 insertions(+)
--- a/configure.ac
+++ b/configure.ac
@@ -105,6 +105,11 @@ AC_SUBST([AM_CFLAGS], [-fcommon])
dnl Prevent clang from accepting unknown flags with a mere warning
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CFLAGS])
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CXXFLAGS])
+dnl disable clang from erroring on function pointer protype mismatch, vlc seems to rely on that
+dnl especially in modules/video_filter/deinterlace/algo_yadif.c how it interpolates 'filter` variable
+dnl between different functions yadif_filter_line_c_16bit() and yadif_filter_line_c()
+AX_APPEND_COMPILE_FLAGS([-Wno-error=incompatible-function-pointer-types -Wno-error=incompatible-function-pointer-types], [CFLAGS])
+AX_APPEND_COMPILE_FLAGS([-Wno-error=incompatible-function-pointer-types -Wno-error=incompatible-function-pointer-types], [CXXFLAGS])
dnl
dnl Check the operating system

View File

@@ -0,0 +1,30 @@
From 6fca76ebd76bf8fce9b111e31bda64015cdc770f Mon Sep 17 00:00:00 2001
From: Johannes Kauffmann <johanneskauffmann@hotmail.com>
Date: Mon, 11 Jul 2022 19:35:57 +0000
Subject: [PATCH] demux: dash: include cstdint, needed for uint64_t
Fixes #27077.
Upstream-Status: Backport
https://github.com/videolan/vlc/commit/6fca76ebd76bf8fce9b111e31bda64015cdc770f
---
modules/demux/dash/mpd/TemplatedUri.hpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules/demux/dash/mpd/TemplatedUri.hpp b/modules/demux/dash/mpd/TemplatedUri.hpp
index 1eeb70cbb6..7f7264a9c8 100644
--- a/modules/demux/dash/mpd/TemplatedUri.hpp
+++ b/modules/demux/dash/mpd/TemplatedUri.hpp
@@ -21,6 +21,7 @@
#ifndef TEMPLATEDURI_HPP
#define TEMPLATEDURI_HPP
+#include <cstdint>
#include <string>
namespace dash
--
2.34.1

View File

@@ -1,35 +0,0 @@
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 07 Jan 2022 07:10:47 PM CST
Subject: [PATCH] Fix numeric limits not a member
* Fixes bellow compiler issue:
../../git/modules/demux/adaptive/playlist/SegmentInformation.cpp:397:23: error: 'numeric_limits' is not a member of 'std'
397 | if(number == std::numeric_limits<uint64_t>::max())
Upstream-status: Pending
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
diff --git a/modules/demux/adaptive/playlist/SegmentInformation.cpp b/modules/demux/adaptive/playlist/SegmentInformation.cpp
index 344e155c7..8eeb05439 100644
--- a/modules/demux/adaptive/playlist/SegmentInformation.cpp
+++ b/modules/demux/adaptive/playlist/SegmentInformation.cpp
@@ -34,6 +34,7 @@
#include <algorithm>
#include <cassert>
+#include <limits>
using namespace adaptive::playlist;
diff --git a/modules/demux/hls/playlist/Parser.cpp b/modules/demux/hls/playlist/Parser.cpp
index 67110e4cd..743969922 100644
--- a/modules/demux/hls/playlist/Parser.cpp
+++ b/modules/demux/hls/playlist/Parser.cpp
@@ -42,6 +42,7 @@
#include <map>
#include <cctype>
#include <algorithm>
+#include <limits>
using namespace adaptive;
using namespace adaptive::playlist;

View File

@@ -1,7 +1,10 @@
* luaL_checkint and luaL_optint were deprecated in lua 5.3
* replacement functions are luaL_checkinteger and luaL_optinteger
Upstream-status: Pending
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
Signed-off-by: Tim Orling <TicoTimo@gmail.com>

View File

@@ -0,0 +1,33 @@
From d0a7ba506fd302ad195f79f287b5a5a154ac02a3 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Sun, 4 Dec 2022 16:09:51 -0600
Subject: [PATCH] tremor provides libvorbisidec, use it instead of libvorbisdec
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
THIS PATCHES HAS BEEN REIMPLEMENTED INORDER TO APPLY PROPERLY.
Signed-off-by: Tim Orling <TicoTimo@gmail.com>
---
modules/codec/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am
index 3dadf1119..8b6189e92 100644
--- a/modules/codec/Makefile.am
+++ b/modules/codec/Makefile.am
@@ -324,7 +324,7 @@ codec_LTLIBRARIES += $(LTLIBdaala)
libtremor_plugin_la_SOURCES = codec/vorbis.c
libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor
libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)'
-libtremor_plugin_la_LIBADD = -lvorbisdec -logg
+libtremor_plugin_la_LIBADD = -lvorbisidec -logg
EXTRA_LTLIBRARIES += libtremor_plugin.la
codec_LTLIBRARIES += $(LTLIBtremor)
--
2.38.1

View File

@@ -0,0 +1,124 @@
From ddc2ea76058466b45a1acf37bed0d794cd3112a3 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 19:04:42 -0600
Subject: [PATCH] configure.ac: setup for OE usage
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
Need to use userland graphics libraries package files as it's best
to not assume /opt/vc is where all libs and headers are installed per
distro. Also, needed to include $BCMHOST_MMAL_LIBS variable as
AC_CHECK_LIB(bcm_host) fails to find `vc_tv_unregister_callback_full`.
Adding $BCMHOST_MMAL_LIBS uses all libs inside
bcm_host.pc, mmal.pc, vcsm.pc, openmaxil.pc files when checking
for `vc_tv_unregister_callback_full` function.
Supposed to change linked version to opengl to GLESv2
Ensure correct package config file is used for:
* opencv
* freerdp
Adds Workaround for modules/codec/omxil/omxil_core.h
multiple definition of `pf_enable_graphic_buffers'
multiple definition of `pf_get_graphic_buffer_usage'
multiple definition of `pf_get_hal_format'
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
configure.ac | 34 ++++++++++++++++++++++------------
1 file changed, 22 insertions(+), 12 deletions(-)
diff --git a/configure.ac b/configure.ac
index a72dca0b6..5b8585a26 100644
--- a/configure.ac
+++ b/configure.ac
@@ -95,6 +95,13 @@ AS_IF([test -n "${with_binary_version}"],[
[Binary specific version])
])
+# Workaround for modules/codec/omxil/omxil_core.h
+# multiple definition of `pf_enable_graphic_buffers'
+# multiple definition of `pf_get_graphic_buffer_usage'
+# multiple definition of `pf_get_hal_format'
+AC_SUBST([AM_CXXFLAGS], [-fcommon])
+AC_SUBST([AM_CFLAGS], [-fcommon])
+
dnl Prevent clang from accepting unknown flags with a mere warning
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CFLAGS])
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CXXFLAGS])
@@ -1900,7 +1907,7 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.6.2], (libbluray f
dnl
dnl OpenCV wrapper and example filters
dnl
-PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto])
+PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv4 >= 2.0], (OpenCV (computer vision) filter), [auto])
dnl
@@ -2077,7 +2084,7 @@ PKG_ENABLE_MODULES_VLC([VNC], [vnc], [libvncclient >= 0.9.9], (VNC/rfb client su
dnl RDP/Remote Desktop access module
dnl
-PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) )
+PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp2 >= 1.0.1], (RDP/Remote Desktop client support) )
dnl
dnl Real RTSP plugin
@@ -3089,14 +3096,14 @@ PKG_CHECK_MODULES([GL], [gl], [
#ifdef _WIN32
# include <GL/glew.h>
#endif
-#include <GL/gl.h>
+#include <GLES2/gl2.h>
]], [
[int t0 = GL_TEXTURE0;]])
], [
GL_CFLAGS=""
have_gl="yes"
AS_IF([test "${SYS}" != "mingw32"], [
- GL_LIBS="-lGL"
+ GL_LIBS="-lGLESv2"
], [
GL_LIBS="-lopengl32"
])
@@ -3483,15 +3490,14 @@ AC_ARG_ENABLE(mmal_avcodec,
[Use MMAL enabled avcodec libs (default disable)]))
if test "${enable_mmal}" != "no"; then
VLC_SAVE_FLAGS
- LDFLAGS="${LDFLAGS} -L/opt/vc/lib -lvchostif"
- CPPFLAGS="${CPPFLAGS} -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux"
- AC_CHECK_HEADERS(interface/mmal/mmal.h,
- [ AC_CHECK_LIB(bcm_host, vc_tv_unregister_callback_full, [
+ PKG_CHECK_MODULES(BCMHOST_MMAL, [bcm_host mmal vcsm openmaxil egl], [
+ HAVE_MMAL=yes
+ AC_CHECK_HEADERS(interface/mmal/mmal.h,
+ [ AC_CHECK_LIB(bcm_host $BCMHOST_MMAL_LIBS, vc_tv_unregister_callback_full, [
have_mmal="yes"
- VLC_ADD_PLUGIN([mmal])
- VLC_ADD_LDFLAGS([mmal],[ -L/opt/vc/lib ])
- VLC_ADD_CFLAGS([mmal],[ -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux ])
- VLC_ADD_LIBS([mmal],[ -lbcm_host -lmmal -lmmal_core -lmmal_components -lmmal_util -lvchostif -lvchiq_arm -lvcsm ]) ], [
+ VLC_ADD_PLUGIN([bcm_host mmal vcsm openmaxil egl])
+ VLC_ADD_CFLAGS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_CFLAGS])
+ VLC_ADD_LIBS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_LIBS -lmmal_components]) ], [
AS_IF([test "${enable_mmal}" = "yes"],
[ AC_MSG_ERROR([Cannot find bcm library...]) ],
[ AC_MSG_WARN([Cannot find bcm library...]) ])
@@ -3500,6 +3506,10 @@ if test "${enable_mmal}" != "no"; then
] , [ AS_IF([test "${enable_mmal}" = "yes"],
[ AC_MSG_ERROR([Cannot find development headers for mmal...]) ],
[ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ])
+ ],:[
+ AC_MSG_WARN([${BCMHOST_PKG_ERRORS}: userland graphics not available.])
+ HAVE_MMAL=NO
+ ])
VLC_RESTORE_FLAGS
fi
AM_CONDITIONAL([HAVE_MMAL], [test "${have_mmal}" = "yes"])
--
2.38.1

View File

@@ -2,11 +2,14 @@ From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 07 Jan 2022 07:01:47 PM CST
Subject: [PATCH] Fix EGL macro undeclared and EGLImageKHR
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
* Fixes compiler issues related to EGL macro constant/enum value type not being defined
* Updates EGLImage to EGLImageKHR
Upstream-status: Pending
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
diff --git a/modules/hw/mmal/converter_mmal.c b/modules/hw/mmal/converter_mmal.c
index f31cb81d8..426af668b 100644

View File

@@ -0,0 +1,43 @@
From 85f6603aca1d174848b42e696a4cff8af57613d6 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Thu, 8 Dec 2022 23:38:36 -0600
Subject: [PATCH] codec: omxil_core replace /opt/vc path with /usr/lib
Upstream-Status: Inappropriate
RPI-Distro repo clones original VLC and applies patches to enable
raspiberry pi support.
Configures omxil_core.c for OE usages as libbcm_host.so
and libopenmaxil.so are located in a different location.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/codec/omxil/omxil_core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules/codec/omxil/omxil_core.c b/modules/codec/omxil/omxil_core.c
index 5098f517a..5922d9034 100644
--- a/modules/codec/omxil/omxil_core.c
+++ b/modules/codec/omxil/omxil_core.c
@@ -56,7 +56,7 @@ static const char *ppsz_dll_list[] =
#if defined(USE_IOMX)
"libiomx.so", /* Not used when using IOMX, the lib should already be loaded */
#elif defined(RPI_OMX)
- "/opt/vc/lib/libopenmaxil.so", /* Broadcom IL core */
+ "/usr/lib/libopenmaxil.so", /* Broadcom IL core */
#elif 1
"libOMX_Core.so", /* TI OMAP IL core */
"libOmxCore.so", /* Qualcomm IL core */
@@ -70,7 +70,7 @@ static const char *ppsz_dll_list[] =
#ifdef RPI_OMX
static const char *ppsz_extra_dll_list[] =
{
- "/opt/vc/lib/libbcm_host.so", /* Broadcom host library */
+ "/usr/lib/libbcm_host.so", /* Broadcom host library */
0
};
#endif
--
2.38.1

View File

@@ -0,0 +1,60 @@
From 377a67af6c3f7c38f6f7ba24f042ba1a6cfd3f24 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 00:21:43 -0600
Subject: [PATCH] use GLESv2 headers over GL headers
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
We utilize GLESv2 during compilation. Patches ensures
we utilize headers for it.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/video_output/opengl/converter.h | 12 +++---------
modules/visualization/glspectrum.c | 4 +++-
2 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/modules/video_output/opengl/converter.h b/modules/video_output/opengl/converter.h
index 7000e1f38..a3fe32671 100644
--- a/modules/video_output/opengl/converter.h
+++ b/modules/video_output/opengl/converter.h
@@ -41,15 +41,9 @@
# include <OpenGLES/ES2/glext.h>
# endif
#else /* !defined (__APPLE__) */
-# if defined (USE_OPENGL_ES2)
-# include <GLES2/gl2.h>
-# include <GLES2/gl2ext.h>
-# else
-# ifdef _WIN32
-# include <GL/glew.h>
-# endif
-# include <GL/gl.h>
-# endif
+#define USE_OPENGL_ES2
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
#endif
#define VLCGL_PICTURE_MAX 128
diff --git a/modules/visualization/glspectrum.c b/modules/visualization/glspectrum.c
index 06f8d1bdf..470080b1a 100644
--- a/modules/visualization/glspectrum.c
+++ b/modules/visualization/glspectrum.c
@@ -37,7 +37,9 @@
#ifdef __APPLE__
# include <OpenGL/gl.h>
#else
-# include <GL/gl.h>
+#define USE_OPENGL_ES2
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
#endif
#include <math.h>
--
2.38.1

View File

@@ -0,0 +1,149 @@
From 5f1bb5889d838719e381350b25c00ef3a75d0e02 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 01:07:55 -0600
Subject: [PATCH] modules: remove glspectrum usage
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
The glspectrum modules requries OpenGL
while we only want to utilize GLESv2.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/Makefile.in | 24 ------------------------
modules/visualization/Makefile.am | 10 ----------
2 files changed, 34 deletions(-)
diff --git a/modules/Makefile.in b/modules/Makefile.in
index bde45db53..c9c4342ad 100644
--- a/modules/Makefile.in
+++ b/modules/Makefile.in
@@ -481,7 +481,6 @@ TESTS = hpack_test$(EXEEXT) hpackenc_test$(EXEEXT) \
@HAVE_WIN32_FALSE@am__append_247 = $(X_LIBS) $(X_PRE_LIBS) -lX11
@HAVE_DARWIN_FALSE@@HAVE_WIN32_FALSE@am__append_248 = $(X_LIBS) $(X_PRE_LIBS) -lX11
@HAVE_EVAS_TRUE@am__append_249 = libevas_plugin.la
-@HAVE_GL_TRUE@am__append_250 = libglspectrum_plugin.la
@ENABLE_SOUT_TRUE@@HAVE_GCRYPT_TRUE@am__append_251 = libaccess_output_livehttp_plugin.la
@ENABLE_SOUT_TRUE@am__append_252 = libaccess_output_shout_plugin.la \
@ENABLE_SOUT_TRUE@ libaccess_output_srt_plugin.la \
@@ -2028,13 +2027,7 @@ libgles2_plugin_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(libgles2_plugin_la_CFLAGS) $(CFLAGS) \
$(libgles2_plugin_la_LDFLAGS) $(LDFLAGS) -o $@
-libglspectrum_plugin_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1)
-am_libglspectrum_plugin_la_OBJECTS = visualization/glspectrum.lo \
- visualization/visual/fft.lo visualization/visual/window.lo
-libglspectrum_plugin_la_OBJECTS = \
- $(am_libglspectrum_plugin_la_OBJECTS)
-@HAVE_GL_TRUE@am_libglspectrum_plugin_la_rpath = -rpath $(visudir)
libglwin32_plugin_la_DEPENDENCIES = libchroma_copy.la \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_5)
am__objects_23 = \
@@ -6507,7 +6500,6 @@ am__depfiles_remade = \
video_splitter/$(DEPDIR)/clone.Plo \
video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo \
video_splitter/$(DEPDIR)/wall.Plo \
- visualization/$(DEPDIR)/glspectrum.Plo \
visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo \
visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo \
visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo \
@@ -6731,7 +6723,6 @@ SOURCES = $(liba52_plugin_la_SOURCES) $(libaa_plugin_la_SOURCES) \
$(libglconv_vaapi_x11_plugin_la_SOURCES) \
$(libglconv_vdpau_plugin_la_SOURCES) \
$(libgles2_plugin_la_SOURCES) \
- $(libglspectrum_plugin_la_SOURCES) \
$(libglwin32_plugin_la_SOURCES) $(libglx_plugin_la_SOURCES) \
$(libgme_plugin_la_SOURCES) $(libgnutls_plugin_la_SOURCES) \
$(libgoom_plugin_la_SOURCES) $(libgradfun_plugin_la_SOURCES) \
@@ -7130,7 +7121,6 @@ DIST_SOURCES = $(liba52_plugin_la_SOURCES) $(libaa_plugin_la_SOURCES) \
$(libglconv_vaapi_x11_plugin_la_SOURCES) \
$(libglconv_vdpau_plugin_la_SOURCES) \
$(libgles2_plugin_la_SOURCES) \
- $(libglspectrum_plugin_la_SOURCES) \
$(libglwin32_plugin_la_SOURCES) $(libglx_plugin_la_SOURCES) \
$(libgme_plugin_la_SOURCES) $(libgnutls_plugin_la_SOURCES) \
$(libgoom_plugin_la_SOURCES) $(libgradfun_plugin_la_SOURCES) \
@@ -12696,13 +12686,6 @@ libevent_thread_la_LDFLAGS = -static
visudir = $(pluginsdir)/visualization
visu_LTLIBRARIES = $(am__append_250) $(LTLIBgoom) $(LTLIBprojectm) \
libvisual_plugin.la $(LTLIBvsxu)
-libglspectrum_plugin_la_SOURCES = \
- visualization/glspectrum.c \
- visualization/visual/fft.c visualization/visual/fft.h \
- visualization/visual/window.c visualization/visual/window.h \
- visualization/visual/window_presets.h
-
-libglspectrum_plugin_la_LIBADD = $(GL_LIBS) $(LIBM)
libgoom_plugin_la_SOURCES = visualization/goom.c
libgoom_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(GOOM_CFLAGS)
libgoom_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(visudir)'
@@ -15715,8 +15698,6 @@ visualization/$(am__dirstamp):
visualization/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) visualization/$(DEPDIR)
@: > visualization/$(DEPDIR)/$(am__dirstamp)
-visualization/glspectrum.lo: visualization/$(am__dirstamp) \
- visualization/$(DEPDIR)/$(am__dirstamp)
visualization/visual/$(am__dirstamp):
@$(MKDIR_P) visualization/visual
@: > visualization/visual/$(am__dirstamp)
@@ -15728,8 +15709,6 @@ visualization/visual/fft.lo: visualization/visual/$(am__dirstamp) \
visualization/visual/window.lo: visualization/visual/$(am__dirstamp) \
visualization/visual/$(DEPDIR)/$(am__dirstamp)
-libglspectrum_plugin.la: $(libglspectrum_plugin_la_OBJECTS) $(libglspectrum_plugin_la_DEPENDENCIES) $(EXTRA_libglspectrum_plugin_la_DEPENDENCIES)
- $(AM_V_CCLD)$(LINK) $(am_libglspectrum_plugin_la_rpath) $(libglspectrum_plugin_la_OBJECTS) $(libglspectrum_plugin_la_LIBADD) $(LIBS)
video_output/opengl/libglwin32_plugin_la-vout_helper.lo: \
video_output/opengl/$(am__dirstamp) \
video_output/opengl/$(DEPDIR)/$(am__dirstamp)
@@ -21420,7 +21399,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@video_splitter/$(DEPDIR)/clone.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@video_splitter/$(DEPDIR)/wall.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/glspectrum.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo@am__quote@ # am--include-marker
@@ -30324,7 +30302,6 @@ distclean: distclean-recursive
-rm -f video_splitter/$(DEPDIR)/clone.Plo
-rm -f video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo
-rm -f video_splitter/$(DEPDIR)/wall.Plo
- -rm -f visualization/$(DEPDIR)/glspectrum.Plo
-rm -f visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo
-rm -f visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo
-rm -f visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo
@@ -31722,7 +31699,6 @@ maintainer-clean: maintainer-clean-recursive
-rm -f video_splitter/$(DEPDIR)/clone.Plo
-rm -f video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo
-rm -f video_splitter/$(DEPDIR)/wall.Plo
- -rm -f visualization/$(DEPDIR)/glspectrum.Plo
-rm -f visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo
-rm -f visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo
-rm -f visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo
diff --git a/modules/visualization/Makefile.am b/modules/visualization/Makefile.am
index 10619e030..aafc97f87 100644
--- a/modules/visualization/Makefile.am
+++ b/modules/visualization/Makefile.am
@@ -1,16 +1,6 @@
visudir = $(pluginsdir)/visualization
visu_LTLIBRARIES =
-libglspectrum_plugin_la_SOURCES = \
- visualization/glspectrum.c \
- visualization/visual/fft.c visualization/visual/fft.h \
- visualization/visual/window.c visualization/visual/window.h \
- visualization/visual/window_presets.h
-libglspectrum_plugin_la_LIBADD = $(GL_LIBS) $(LIBM)
-if HAVE_GL
-visu_LTLIBRARIES += libglspectrum_plugin.la
-endif
-
libgoom_plugin_la_SOURCES = visualization/goom.c
libgoom_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(GOOM_CFLAGS)
libgoom_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(visudir)'
--
2.38.1

View File

@@ -0,0 +1,43 @@
From fd4d233757cc46cd89f68b45ec4b059940dd84ae Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 19:58:11 -0600
Subject: [PATCH] codec: omxil_core.h fix multiple definition of
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
Issue occurs during compilation as
* pf_enable_graphic_buffers
* pf_get_graphic_buffer_usage
* pf_get_hal_format
Apears to be defined multiple times as the omxil_core.h
is included in multiple files.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/codec/omxil/omxil_core.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/modules/codec/omxil/omxil_core.h b/modules/codec/omxil/omxil_core.h
index ac3db510b..f6e42f5ed 100644
--- a/modules/codec/omxil/omxil_core.h
+++ b/modules/codec/omxil/omxil_core.h
@@ -34,9 +34,9 @@ extern OMX_ERRORTYPE (*pf_component_enum)(OMX_STRING, OMX_U32, OMX_U32);
extern OMX_ERRORTYPE (*pf_get_roles_of_component)(OMX_STRING, OMX_U32 *, OMX_U8 **);
/* Extra IOMX android functions. Can be NULL if we don't link with libiomx */
-OMX_ERRORTYPE (*pf_enable_graphic_buffers)(OMX_HANDLETYPE, OMX_U32, OMX_BOOL);
-OMX_ERRORTYPE (*pf_get_graphic_buffer_usage)(OMX_HANDLETYPE, OMX_U32, OMX_U32*);
-OMX_ERRORTYPE (*pf_get_hal_format) (const char *, int *);
+extern OMX_ERRORTYPE (*pf_enable_graphic_buffers)(OMX_HANDLETYPE, OMX_U32, OMX_BOOL);
+extern OMX_ERRORTYPE (*pf_get_graphic_buffer_usage)(OMX_HANDLETYPE, OMX_U32, OMX_U32*);
+extern OMX_ERRORTYPE (*pf_get_hal_format) (const char *, int *);
int InitOmxCore(vlc_object_t *p_this);
void DeinitOmxCore(void);
--
2.38.1

View File

@@ -0,0 +1,36 @@
From 34e4f4dad923095989ccb0ab8efb883c592bdbfd Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 20:04:27 -0600
Subject: [PATCH] remove xorg related link libs
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
If x11 isn't defined in DISTRO_FEATURES
required xorg related libs are not included
in recipe-sysroot resulting in compilation
failure.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/hw/mmal/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/hw/mmal/Makefile.am b/modules/hw/mmal/Makefile.am
index 4abe68e2e..86dad2c2d 100644
--- a/modules/hw/mmal/Makefile.am
+++ b/modules/hw/mmal/Makefile.am
@@ -8,7 +8,7 @@ libmmal_vout_plugin_la_SOURCES = vout.c mmal_cma.c mmal_picture.c subpic.c\
mmal_cma.h mmal_picture.h subpic.h transform_ops.h\
mmal_piccpy_neon.S
libmmal_vout_plugin_la_CFLAGS = $(AM_CFLAGS)
-libmmal_vout_plugin_la_LDFLAGS = $(AM_LDFLAGS) -lm -lX11 -lXrandr
+libmmal_vout_plugin_la_LDFLAGS = $(AM_LDFLAGS) -lm
libmmal_vout_plugin_la_LIBADD = $(LIBS_mmal)
mmal_LTLIBRARIES = libmmal_vout_plugin.la
--
2.38.1

View File

@@ -0,0 +1,97 @@
From 28917a258a4173af0abda0eef7faef5cbf95f123 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 21:28:48 -0600
Subject: [PATCH] vo: Makefile.am exclude libgl_plugin
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
In the situation where opengl isn't included in
DISTRO_FEATURES. We need to exclude the opengl
vout plugin from being built.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/video_output/Makefile.am | 64 --------------------------------
1 file changed, 64 deletions(-)
diff --git a/modules/video_output/Makefile.am b/modules/video_output/Makefile.am
index 78c06cfc4..14a330e68 100644
--- a/modules/video_output/Makefile.am
+++ b/modules/video_output/Makefile.am
@@ -57,70 +57,6 @@ if HAVE_TVOS
vout_LTLIBRARIES += libvout_ios_plugin.la libglconv_cvpx_plugin.la
endif
-### OpenGL ###
-libgles2_plugin_la_SOURCES = $(OPENGL_COMMONSOURCES) video_output/opengl/display.c
-libgles2_plugin_la_CFLAGS = $(AM_CFLAGS) $(GLES2_CFLAGS) -DUSE_OPENGL_ES2 $(OPENGL_COMMONCLFAGS)
-libgles2_plugin_la_LIBADD = $(GLES2_LIBS) $(LIBM) $(OPENGL_COMMONLIBS)
-libgles2_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)'
-
-EXTRA_LTLIBRARIES += libgles2_plugin.la
-vout_LTLIBRARIES += $(LTLIBgles2)
-
-libgl_plugin_la_SOURCES = $(OPENGL_COMMONSOURCES) video_output/opengl/display.c
-libgl_plugin_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAGS) $(OPENGL_COMMONCLFAGS)
-libgl_plugin_la_LIBADD = $(LIBM) $(OPENGL_COMMONLIBS)
-if HAVE_WIN32
-libgl_plugin_la_CFLAGS += -DHAVE_GL_CORE_SYMBOLS
-libgl_plugin_la_LIBADD += $(GL_LIBS)
-endif
-
-libglconv_vaapi_wl_plugin_la_SOURCES = video_output/opengl/converter_vaapi.c \
- video_output/opengl/converter.h \
- hw/vaapi/vlc_vaapi.c hw/vaapi/vlc_vaapi.h
-libglconv_vaapi_wl_plugin_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAGS) -DHAVE_VA_WL $(LIBVA_WL_CFLAGS)
-libglconv_vaapi_wl_plugin_la_LIBADD = $(LIBVA_LIBS) $(LIBVA_EGL_LIBS) \
- $(LIBVA_WL_LIBS)
-
-libglconv_vaapi_x11_plugin_la_SOURCES = $(libglconv_vaapi_wl_plugin_la_SOURCES)
-libglconv_vaapi_x11_plugin_la_CFLAGS = $(AM_CFLAGS) -DHAVE_VA_X11
-libglconv_vaapi_x11_plugin_la_LIBADD = $(LIBVA_LIBS) $(LIBVA_EGL_LIBS) \
- $(LIBVA_X11_LIBS) $(X_LIBS) $(X_PRE_LIBS) -lX11
-
-libglconv_vaapi_drm_plugin_la_SOURCES = $(libglconv_vaapi_wl_plugin_la_SOURCES)
-libglconv_vaapi_drm_plugin_la_CFLAGS = $(AM_CFLAGS) -DHAVE_VA_DRM
-libglconv_vaapi_drm_plugin_la_LIBADD = $(LIBVA_LIBS) $(LIBVA_EGL_LIBS) \
- $(LIBVA_DRM_LIBS)
-
-libglconv_vdpau_plugin_la_SOURCES = video_output/opengl/converter_vdpau.c \
- video_output/opengl/converter.h hw/vdpau/vlc_vdpau.h
-libglconv_vdpau_plugin_la_CFLAGS = $(AM_CFLAGS) $(VDPAU_CFLAGS)
-libglconv_vdpau_plugin_la_LIBADD = $(LIBDL) libvlc_vdpau.la $(X_LIBS) $(X_PRE_LIBS) -lX11
-
-if HAVE_GL
-vout_LTLIBRARIES += libgl_plugin.la
-if HAVE_EGL
-if HAVE_VAAPI
-if HAVE_WAYLAND_EGL
-if HAVE_VAAPI_WL
-vout_LTLIBRARIES += libglconv_vaapi_wl_plugin.la
-endif
-endif
-if HAVE_XCB
-if HAVE_VAAPI_X11
-vout_LTLIBRARIES += libglconv_vaapi_x11_plugin.la
-endif
-endif
-if HAVE_VAAPI_DRM
-vout_LTLIBRARIES += libglconv_vaapi_drm_plugin.la
-endif
-endif
-endif # HAVE_EGL
-
-if HAVE_VDPAU
-vout_LTLIBRARIES += libglconv_vdpau_plugin.la
-endif
-endif # HAVE_GL
-
### XCB ###
libvlc_xcb_events_la_SOURCES = \
video_output/xcb/events.c video_output/xcb/events.h
--
2.38.1

View File

@@ -0,0 +1,59 @@
From 35276c4b02b9114436108e74727d192f1e21f239 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 23:31:33 -0600
Subject: [PATCH] vo: converter_vaapi Fix EGL macro undeclared
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
Fixes compiler issues related to EGL macro constant/enum value type
not being defined
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/video_output/opengl/converter_vaapi.c | 27 +++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/modules/video_output/opengl/converter_vaapi.c b/modules/video_output/opengl/converter_vaapi.c
index cd842f711..59245fe4c 100644
--- a/modules/video_output/opengl/converter_vaapi.c
+++ b/modules/video_output/opengl/converter_vaapi.c
@@ -55,6 +55,33 @@
#define DRM_FORMAT_MOD_INVALID fourcc_mod_code(NONE, DRM_FORMAT_RESERVED)
+#define EGL_LINUX_DMA_BUF_EXT 0x3270
+#define EGL_LINUX_DRM_FOURCC_EXT 0x3271
+#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
+#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
+#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
+#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275
+#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276
+#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277
+#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278
+#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279
+#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A
+#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B
+#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C
+#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
+#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
+#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443
+#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444
+#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445
+#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446
+#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447
+#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448
+#define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440
+#define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441
+#define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442
+#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449
+#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A
+
struct priv
{
struct vlc_vaapi_instance *vainst;
--
2.38.1

View File

@@ -0,0 +1,59 @@
From 4caba7560aec54f6d944accd1a8d216e8d9b1d92 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Tue, 14 Nov 2023 20:17:11 -0500
Subject: [PATCH] po: Fix typos in oc.po for gettext compatibility
Upstream-Status: Inappropriate
Ws moved upstream, but upstream patch couldn't be applied.
https://code.videolan.org/videolan/vlc/-/commit/9d67e20c2edd25251b46d1780a7973b44ac5e5ba
gettext-0.22 became stricter and started to validate format strings. Fix
the typos.
Bug: https://bugs.gentoo.org/909015
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
po/oc.po | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/po/oc.po b/po/oc.po
index 86f2ed8a1..ce68c581f 100644
--- a/po/oc.po
+++ b/po/oc.po
@@ -5298,18 +5298,18 @@ msgstr "Comanda+"
#: src/misc/update.c:482
#, c-format
msgid "%.1f GiB"
-msgstr "%.lf Gio"
+msgstr "%.1f Gio"
#: src/misc/update.c:484
#, c-format
msgid "%.1f MiB"
-msgstr "%.lf Mio"
+msgstr "%.1f Mio"
#: src/misc/update.c:486 modules/gui/macosx/VLCPlaylistInfo.m:138
#: modules/gui/macosx/VLCPlaylistInfo.m:140
#, c-format
msgid "%.1f KiB"
-msgstr "%.lf Kio"
+msgstr "%.1f Kio"
#: src/misc/update.c:488
#, c-format
@@ -33071,7 +33071,7 @@ msgstr "Lista del gestionari de mèdias"
#, fuzzy
#~ msgid "%.1f kB"
-#~ msgstr "%.lf Gio"
+#~ msgstr "%.1f Gio"
#, fuzzy
#~ msgid "Speed"
--
2.34.1

View File

@@ -9,19 +9,28 @@ SRC_URI = "\
git://git@github.com/RPi-Distro/vlc;protocol=https;branch=buster-rpt \
file://0001-configure-fix-linking-on-RISC-V-ISA.patch \
file://0002-Revert-configure-Require-libmodplug-0.8.9.patch \
file://0003-mmal_20.patch \
file://0004-mmal_exit_fix.patch \
file://0005-mmal_chain.patch \
file://0006-Use-packageconfig-to-detect-mmal-support.patch \
file://0007-use-vorbisidec.patch \
file://0008-fix-luaL-checkint.patch \
file://0009-fix-EGL-macro-undeclared-and-EGLImageKHR.patch \
file://0010-fix-numeric_limits-is-not-a-member-of-std.patch \
"
file://0003-CVE-2022-41325.patch \
file://0004-mmal_20.patch \
file://0005-mmal_exit_fix.patch \
file://0006-mmal_chain.patch \
file://0007-armv6.patch \
file://0008-configure-Disable-incompatible-function-pointer-type.patch \
file://0009-demux-dash-include-cstdint-needed-for-uint64_t.patch \
file://2001-fix-luaL-checkint.patch \
file://2002-use-vorbisidec.patch \
file://3001-configure.ac-setup-for-OE-usage.patch \
file://3002-fix-EGL-macro-undeclared-and-EGLImageKHR.patch \
file://3003-codec-omxil_core-replace-opt-vc-path-with-usr-lib.patch \
file://3004-use-GLESv2-headers-over-GL-headers.patch \
file://3005-modules-remove-glspectrum-usage.patch \
file://3006-codec-omxil_core.h-fix-multiple-definition-of.patch \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'file://3007-remove-xorg-related-link-libs.patch', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '', 'file://3008-vo-Makefile.am-exclude-libgl_plugin.patch', d)} \
file://3009-vo-converter_vaapi-Fix-EGL-macro-undeclared.patch \
file://3010-po-Fix-typos-in-oc.po-for-gettext-compatibility.patch \
"
SRCREV = "f7fd69f12a3b89d03768fa3bd468e8f33cd1dc7c"
S = "${WORKDIR}/git"
SRCREV = "b276eb0d7bc3213363e97dbb681ef7c927be6c73"
PROVIDES = "vlc"
RPROVIDES:${PN} = "${PROVIDES}"
@@ -37,24 +46,29 @@ EXTRA_OECONF = "\
--enable-run-as-root \
--enable-xvideo \
--disable-lua \
--disable-screen --disable-caca \
--disable-screen \
--disable-caca \
--enable-vlm \
--enable-tremor \
--disable-aa --disable-faad \
--disable-aa \
--disable-faad \
--enable-dbus \
--without-contrib \
--without-kde-solid \
--enable-realrtsp \
--disable-libtar \
--enable-avcodec \
"
--disable-css \
"
PACKAGECONFIG ?= "\
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'mmal', d)} \
live555 dv1394 notify fontconfig fluidsynth freetype dvdread png udev \
x264 alsa harfbuzz jack neon fribidi dvbpsi a52 v4l2 gles2 \
"
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)} \
${@bb.utils.contains_any('DISTRO_FEATURES', 'x11', 'notify', '', d)} \
live555 dv1394 fontconfig fluidsynth freetype png udev \
x264 alsa harfbuzz jack neon fribidi dvbpsi a52 v4l2 \
"
PACKAGECONFIG[mmal] = "--enable-omxil --enable-omxil-vout --enable-rpi-omxil --enable-mmal --enable-mmal-avcodec,,userland"
PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264"
@@ -65,13 +79,13 @@ PACKAGECONFIG[live555] = "--enable-live555 LIVE555_PREFIX=${STAGING_DIR_HOST}${p
PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc"
PACKAGECONFIG[libva] = "--enable-libva,--disable-libva,libva"
PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
#PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex"
PACKAGECONFIG[gstreamer] = "--enable-gst-decode,--disable-gst-decode,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx, libvpx"
PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp"
#PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp"
PACKAGECONFIG[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi"
PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba"
#PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba"
PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp"
PACKAGECONFIG[dvdnav] = "--enable-dvdnav,--disable-dvdnav,libdvdnav libdvdcss"
PACKAGECONFIG[sftp] = "--enable-sftp,--disable-sftp,libssh2"
@@ -84,14 +98,14 @@ PACKAGECONFIG[svgdec] = "--enable-svgdec,--disable-svgdec,librsvg cairo"
PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+3"
PACKAGECONFIG[fontconfig] = "--enable-fontconfig,--disable-fontconfig, fontconfig"
PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype, freetype"
PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss"
#PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss"
PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver"
PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama"
PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama"
PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native"
#PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
#PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native"
PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2"
PACKAGECONFIG[dca] = "--enable-dca,,"
#PACKAGECONFIG[dca] = "--enable-dca,--disable-dca,libdca"
PACKAGECONFIG[fribidi] = "--enable-fribidi,,fribidi"
PACKAGECONFIG[gnutls] = "--enable-gnutls,,gnutls"
PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,,fluidsynth"
@@ -105,25 +119,15 @@ PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
PACKAGECONFIG[sdl-image] = "--enable-sdl-image,,libsdl-image"
PACKAGECONFIG[v4l2] = "--enable-v4l2,,v4l-utils"
# Workaround for modules/codec/omxil/omxil_core.h
# multiple definition of `pf_enable_graphic_buffers'
# multiple definition of `pf_get_graphic_buffer_usage'
# multiple definition of `pf_get_hal_format'
TARGET_CFLAGS:append = " -fcommon"
TARGET_CXXFLAGS:append = " -fcommon"
TARGET_CFLAGS:append = " -I${STAGING_INCDIR}/drm"
TARGET_LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '-lGLESv2', '', d)}"
# Ensures the --enable-mmal-avcodec flag is available for usage
do_configure:prepend() {
olddir=`pwd`
cd ${S}
./bootstrap
cd $olddir
}
do_configure:append() {
# https://forums.raspberrypi.com/viewtopic.php?p=1601535
sed -i "/GLAPI void APIENTRY glShaderSource (/d" ${STAGING_INCDIR}/GL/glext.h
#sed -i -e s:'${top_builddir_slash}libtool':'${top_builddir_slash}'${TARGET_SYS}-libtool:g ${B}/doltlibtool
cd $olddir
}
# This recipe packages vlc as a library as well, so qt4 dependencies
@@ -140,20 +144,20 @@ FILES:${PN} += "\
${datadir}/vlc \
${datadir}/icons \
${datadir}/metainfo/vlc.appdata.xml \
"
"
FILES:${PN}-dbg += "\
${libdir}/vlc/*/.debug \
${libdir}/vlc/plugins/*/.debug \
"
"
FILES:${PN}-staticdev += "\
${libdir}/vlc/plugins/*/*.a \
${libdir}/vlc/libcompat.a \
"
"
# Only enable it for rpi class of machines
COMPATIBLE_HOST = "null"
COMPATIBLE_HOST:rpi = "'(.*)'"
COMPATIBLE_HOST:rpi = "(.*)"
INSANE_SKIP:${PN} = "dev-so"

View File

@@ -6,8 +6,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=660e614bc7efb0697cc793d8a22a55c2"
SRC_URI = "git://github.com/adafruit/Adafruit_Blinka.git;branch=main;protocol=https"
SRCREV = "dc688f354fe779c9267c208b99f310af87e79272"
S = "${WORKDIR}/git"
inherit setuptools3
DEPENDS += "python3-setuptools-scm-native"

View File

@@ -6,8 +6,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=6ec69d6e9e6c85adfb7799d7f8cf044e"
SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_BusDevice.git;branch=main;protocol=https"
SRCREV = "1bfe8005293205e2f7b2cc498ab5a946f1133b40"
S = "${WORKDIR}/git"
inherit setuptools3
DEPENDS += "python3-setuptools-scm-native"

View File

@@ -6,8 +6,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=b72678307cc7c10910b5ef460216af07"
SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_Motor.git;branch=main;protocol=https"
SRCREV = "2251bfc0501d0acfb96c0a43f4f2b4c6a10ca14e"
S = "${WORKDIR}/git"
inherit setuptools3
DEPENDS += "python3-setuptools-scm-native"

View File

@@ -6,8 +6,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=6ad4a8854b39ad474755ef1aea813bac"
SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_MotorKit.git;branch=main;protocol=https"
SRCREV = "8c1462b4129b21f6db156d1517abb017bb74b982"
S = "${WORKDIR}/git"
inherit setuptools3
DEPENDS += "python3-setuptools-scm-native"

View File

@@ -6,8 +6,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=e7eb6b599fb0cfb06485c64cd4242f62"
SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_PCA9685.git;branch=main;protocol=https"
SRCREV = "2780c4102f4c23fbab252aa1198b61ba7e2d1b2c"
S = "${WORKDIR}/git"
inherit setuptools3
DEPENDS += "python3-setuptools-scm-native"

View File

@@ -12,7 +12,7 @@ repos:
poky:
url: https://git.yoctoproject.org/git/poky
path: layers/poky
refspec: master
branch: master
layers:
meta:
meta-poky:
@@ -21,7 +21,7 @@ repos:
meta-openembedded:
url: http://git.openembedded.org/meta-openembedded
path: layers/meta-openembedded
refspec: master
branch: master
layers:
meta-oe:
meta-python:
@@ -31,7 +31,7 @@ repos:
meta-qt5:
url: https://github.com/meta-qt5/meta-qt5/
path: layers/meta-qt5
refspec: master
branch: master
bblayers_conf_header:
standard: |
@@ -48,14 +48,18 @@ local_conf_header:
USER_CLASSES = "buildstats"
PATCHRESOLVE = "noop"
debug-tweaks: |
EXTRA_IMAGE_FEATURES = "debug-tweaks"
IMAGE_FEATURES += "empty-root-password allow-empty-password allow-root-login post-install-logging"
diskmon: |
BB_DISKMON_DIRS = "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K \
ABORT,/tmp,10M,1K"
HALT,${TMPDIR},100M,1K \
HALT,${DL_DIR},100M,1K \
HALT,${SSTATE_DIR},100M,1K \
HALT,/tmp,10M,1K"
license: |
# Uncomment next line to allow the license
# See: linux-firmware-rpidistro in docs/ipcompliance.md
#LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch"

View File

@@ -11,14 +11,14 @@ COMPATIBLE_MACHINE = "^rpi$"
S = "${RPITOOLS_S}/armstubs"
export CC7="${CC}"
export LD7="${LD}"
export OBJCOPY7="${OBJCOPY}"
export OBJDUMP7="${OBJDUMP}"
export CC8="${CC}"
export LD8="${LD}"
export OBJCOPY8="${OBJCOPY}"
export OBJDUMP8="${OBJDUMP} -maarch64"
export CC7 = "${CC}"
export LD7 = "${LD}"
export OBJCOPY7 = "${OBJCOPY}"
export OBJDUMP7 = "${OBJDUMP}"
export CC8 = "${CC}"
export LD8 = "${LD}"
export OBJCOPY8 = "${OBJCOPY}"
export OBJDUMP8 = "${OBJDUMP} -maarch64"
do_compile() {
[ -z "${ARMSTUB}" ] && bbfatal "No ARMSTUB defined for your machine."

View File

@@ -5,7 +5,16 @@ LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=c403841ff2837657b2ed8e5bb474ac8d
inherit deploy nopackages
include recipes-bsp/common/raspberrypi-firmware.inc
RPIFW_DATE ?= "20250801"
SRCREV = "95be71b8c0f63f03dc06dd0e4c2e5535e6fb4a93"
SHORTREV = "${@d.getVar("SRCREV", False).__str__()[:7]}"
RPIFW_SRC_URI ?= "https://api.github.com/repos/raspberrypi/firmware/tarball/${SRCREV};downloadfilename=raspberrypi-firmware-${SHORTREV}.tar.gz"
RPIFW_S ?= "${UNPACKDIR}/raspberrypi-firmware-${SHORTREV}"
SRC_URI = "${RPIFW_SRC_URI}"
SRC_URI[sha256sum] = "8b270b44b7702aae2d60e12b9bb4ea9ce0d9bc34662f7229092b8110d34ef7dd"
PV = "${RPIFW_DATE}"
INHIBIT_DEFAULT_DEPS = "1"

View File

@@ -9,7 +9,9 @@ inherit deploy nopackages
CMDLINE_DWC_OTG ?= "dwc_otg.lpm_enable=0"
CMDLINE_ROOT_FSTYPE ?= "rootfstype=ext4"
CMDLINE_ROOTFS ?= "root=/dev/mmcblk0p2 ${CMDLINE_ROOT_FSTYPE} rootwait"
CMDLINE_ROOT_PARTITION ?= "/dev/mmcblk0p2"
CMDLINE_ROOTFS ?= "root=${CMDLINE_ROOT_PARTITION} ${CMDLINE_ROOT_FSTYPE} rootwait"
CMDLINE_SERIAL ?= "${@oe.utils.conditional("ENABLE_UART", "1", "console=serial0,115200", "", d)}"
@@ -44,6 +46,9 @@ CMDLINE_ISOL_CPUS ?= "${@setup_isolcpus(d)}"
# if the MAC addresses are omitted, random values will be used
CMDLINE_RNDIS ?= ""
# That allows to keep the traditional network interface names
CMDLINE_IFNAMES ?= "net.ifnames=0"
CMDLINE = " \
${CMDLINE_ISOL_CPUS} \
${CMDLINE_DWC_OTG} \
@@ -55,6 +60,7 @@ CMDLINE = " \
${CMDLINE_PITFT} \
${CMDLINE_DEBUG} \
${CMDLINE_RNDIS} \
${CMDLINE_IFNAMES} \
"
do_compile() {

View File

@@ -0,0 +1,55 @@
From ce27f7e22b2cd7453a425e08780a338a71301961 Mon Sep 17 00:00:00 2001
From: Leon Anavi <leon.anavi@konsulko.com>
Date: Mon, 20 Nov 2023 15:19:15 +0200
Subject: [PATCH] config.txt: reintroduce start_x
Reintroduce configuration "start_x". Based on the experience with
Yocto/OpenEmbedded layer meta-raspberrypi, it has been observed
that Raspberry Pi 4B 4GB may fail to enable the camera if
"start_x=1" is at the end of the file. Therefore, "start_x=1"
is expected in config.txt template and it has been set to replace
the original occurrence, which is at the middle of the file.
Also update revision and date stamp.
GitHub pull request: https://github.com/Evilpaul/RPi-config/pull/8
Upstream-Status: Submitted
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
---
config.txt | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/config.txt b/config.txt
index 1cf7b29..e28ed02 100644
--- a/config.txt
+++ b/config.txt
@@ -1,7 +1,7 @@
################################################################################
## Raspberry Pi Configuration Settings
##
-## Revision 17, 2021/08/15
+## Revision 18, 2023/11/20
##
## Details taken from the eLinux wiki and official Raspberry Pi documentation.
## For up-to-date information please refer to links below.
@@ -760,6 +760,16 @@
## Camera Settings
################################################################################
+## start_x
+## Set to "1" to enable the camera module.
+##
+## Enabling the camera requires gpu_mem option to be specified with a value
+## of at least 128.
+##
+## Default 0
+##
+#start_x=0
+
## disable_camera_led
## Turn off the red camera led when recording video or taking a still
## picture.
--
2.39.2

View File

@@ -7,32 +7,33 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
COMPATIBLE_MACHINE = "^rpi$"
SRCREV = "648ffc470824c43eb0d16c485f4c24816b32cd6f"
SRCREV = "6ac2d832c6c3b208e2669f50ec1abf2c20cb7ff4"
SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=https;branch=master \
file://0001-config.txt-reintroduce-start_x.patch \
"
S = "${WORKDIR}/git"
PR = "r5"
INHIBIT_DEFAULT_DEPS = "1"
PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"
PITFT22="${@bb.utils.contains("MACHINE_FEATURES", "pitft22", "1", "0", d)}"
PITFT28r="${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", "1", "0", d)}"
PITFT28c="${@bb.utils.contains("MACHINE_FEATURES", "pitft28c", "1", "0", d)}"
PITFT35r="${@bb.utils.contains("MACHINE_FEATURES", "pitft35r", "1", "0", d)}"
PITFT = "${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"
PITFT22 = "${@bb.utils.contains("MACHINE_FEATURES", "pitft22", "1", "0", d)}"
PITFT28r = "${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", "1", "0", d)}"
PITFT28c = "${@bb.utils.contains("MACHINE_FEATURES", "pitft28c", "1", "0", d)}"
PITFT35r = "${@bb.utils.contains("MACHINE_FEATURES", "pitft35r", "1", "0", d)}"
VC4GRAPHICS="${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}"
VC4GRAPHICS = "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}"
VC4DTBO ?= "vc4-kms-v3d"
GPIO_IR ?= "18"
GPIO_IR_TX ?= "17"
CAN_OSCILLATOR ?= "16000000"
CAN0_INTERRUPT_PIN ?= "25"
CAN1_INTERRUPT_PIN ?= "24"
ENABLE_UART ??= ""
WM8960="${@bb.utils.contains("MACHINE_FEATURES", "wm8960", "1", "0", d)}"
WM8960 = "${@bb.utils.contains("MACHINE_FEATURES", "wm8960", "1", "0", d)}"
GPIO_SHUTDOWN_PIN ??= ""
@@ -178,13 +179,27 @@ do_deploy() {
fi
# UART support
if [ "${ENABLE_UART}" = "1" ] || [ "${ENABLE_UART}" = "0" ] ; then
if [ "${ENABLE_UART}" = "1" ] || [ "${ENABLE_UART}" = "0" ]; then
echo "# Enable UART" >>$CONFIG
echo "enable_uart=${ENABLE_UART}" >>$CONFIG
elif [ -n "${ENABLE_UART}" ]; then
bbfatal "Invalid value for ENABLE_UART [${ENABLE_UART}]. The value for ENABLE_UART can be 0 or 1."
fi
# U-Boot requires "enable_uart=1" for various boards to operate correctly
# cf https://source.denx.de/u-boot/u-boot/-/blob/v2023.04/arch/arm/mach-bcm283x/Kconfig?ref_type=tags#L65
if [ "${RPI_USE_U_BOOT}" = "1" ] && [ "${ENABLE_UART}" != "1" ]; then
case "${UBOOT_MACHINE}" in
rpi_0_w_defconfig|rpi_3_32b_config|rpi_4_32b_config|rpi_arm64_config)
if [ "${ENABLE_UART}" = "0" ]; then
bbfatal "Invalid configuration: RPI_USE_U_BOOT requires to enable the UART in config.txt for ${MACHINE}"
fi
echo "# U-Boot requires UART" >>$CONFIG
echo "enable_uart=1" >>$CONFIG
;;
esac
fi
# Infrared support
if [ "${ENABLE_IR}" = "1" ]; then
echo "# Enable infrared" >>$CONFIG
@@ -210,6 +225,12 @@ do_deploy() {
# echo "dtoverlay=imx477" >> $CONFIG
#fi
# Choose Camera Sensor to be used, default imx708 sensor
if [ "${RASPBERRYPI_CAMERA_V3}" = "1" ]; then
echo "# Enable Sony RaspberryPi Camera(imx708)" >> $CONFIG
echo "dtoverlay=imx708" >> $CONFIG
fi
# Waveshare "C" 1024x600 7" Rev2.1 IPS capacitive touch (http://www.waveshare.com/7inch-HDMI-LCD-C.htm)
if [ "${WAVESHARE_1024X600_C_2_1}" = "1" ]; then
echo "# Waveshare \"C\" 1024x600 7\" Rev2.1 IPS capacitive touch screen" >> $CONFIG
@@ -247,15 +268,18 @@ do_deploy() {
# ENABLE DUAL CAN
if [ "${ENABLE_DUAL_CAN}" = "1" ]; then
echo "# Enable DUAL CAN" >>$CONFIG
echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=25" >>$CONFIG
echo "dtoverlay=mcp2515-can1,oscillator=${CAN_OSCILLATOR},interrupt=24" >>$CONFIG
echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=${CAN0_INTERRUPT_PIN}" >>$CONFIG
echo "dtoverlay=mcp2515-can1,oscillator=${CAN_OSCILLATOR},interrupt=${CAN1_INTERRUPT_PIN}" >>$CONFIG
# Enable DUAL CAN FOR SEED CAN FD HAT V2
elif [ "${ENABLE_DUAL_CAN_SEED_FD_HAT_V2}" = "1" ]; then
echo "# Enable DUAL CAN FOR SEED CAN FD HAT V2" >>$CONFIG
echo "dtoverlay=seeed-can-fd-hat-v2" >>$CONFIG
# ENABLE CAN
elif [ "${ENABLE_CAN}" = "1" ]; then
echo "# Enable CAN" >>$CONFIG
echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=25" >>$CONFIG
echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=${CAN0_INTERRUPT_PIN}" >>$CONFIG
fi
if [ "${ENABLE_GPIO_SHUTDOWN}" = "1" ]; then
if ([ "${ENABLE_I2C}" = "1" ] || [ "${PITFT}" = "1" ]) && [ -z "${GPIO_SHUTDOWN_PIN}" ]; then
# By default GPIO shutdown uses the same pin as the (master) I2C SCL.
@@ -296,6 +320,13 @@ do_deploy() {
echo "# Enable One-Wire Interface" >> $CONFIG
echo "dtoverlay=w1-gpio" >> $CONFIG
fi
# Reduce config.txt file size to avoid corruption and
# to boot successfully Raspberry Pi 5. The issue has
# been reported to related projects:
# https://github.com/raspberrypi/firmware/issues/1848
# https://github.com/Evilpaul/RPi-config/issues/9
sed -i '/^##/d' $CONFIG
}
do_deploy:append:raspberrypi3-64() {

View File

@@ -1,9 +1,9 @@
RPIFW_DATE ?= "20220830"
RPIFW_DATE ?= "20230509~buster"
RPIFW_SRC_URI ?= "https://archive.raspberrypi.com/debian/pool/main/r/raspberrypi-firmware/raspberrypi-firmware_1.${RPIFW_DATE}.orig.tar.xz"
RPIFW_S ?= "${WORKDIR}/raspberrypi-firmware-1.${RPIFW_DATE}"
RPIFW_S ?= "${UNPACKDIR}/raspberrypi-firmware-1.${RPIFW_DATE}"
SRC_URI = "${RPIFW_SRC_URI}"
SRC_URI[sha256sum] = "2b27e4b3c4d2664a0a1d0dd8602bd80ea41dd006eb0ad9c67d7b659c9c8bb4e5"
SRC_URI[sha256sum] = "1d9eb83111826b708f461101766fd2000d45f1c171ad573936d000f623ca8098"
PV = "${RPIFW_DATE}"

View File

@@ -1,7 +1,7 @@
RPITOOLS_DATE ?= "20220711"
SRCREV ?= "439b6198a9b340de5998dd14a26a0d9d38a6bcac"
RPITOOLS_SRC_URI ?= "git://github.com/raspberrypi/tools;protocol=https;branch=master"
RPITOOLS_S ?= "${WORKDIR}/git"
RPITOOLS_S ?= "${UNPACKDIR}/${BP}"
SRC_URI = "${RPITOOLS_SRC_URI}"

View File

@@ -6,6 +6,8 @@ SRC_URI = "file://bind_gpio_shutdown.tab \
file://gpio-shutdown-keymap.sh \
"
S = "${UNPACKDIR}"
inherit update-rc.d
INITSCRIPT_NAME = "gpio-shutdown-keymap.sh"
@@ -19,8 +21,8 @@ do_install() {
${D}${sysconfdir}/inittab.d \
${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/gpio-shutdown-keymap.sh ${D}${sysconfdir}/init.d/
install -m 0755 ${WORKDIR}/bind_gpio_shutdown.tab ${D}${sysconfdir}/inittab.d/
install -m 0755 ${UNPACKDIR}/gpio-shutdown-keymap.sh ${D}${sysconfdir}/init.d/
install -m 0755 ${UNPACKDIR}/bind_gpio_shutdown.tab ${D}${sysconfdir}/inittab.d/
elif ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
# Systemd init does not require any configuration.
# Note: cannot have an empty branch, hence the redundant dir install.

View File

@@ -0,0 +1,67 @@
SUMMARY = "Installation scripts and binaries for the Raspberry Pi 4 EEPROM"
DESCRIPTION = "This repository contains the rpi4/rpi5 bootloader and scripts \
for updating it in the spi eeprom"
LICENSE = "BSD-3-Clause & Broadcom-RPi"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a6c5149578a16272119f3f9c13d6549b"
SRC_URI = " \
git://github.com/raspberrypi/rpi-eeprom.git;protocol=https;branch=master \
"
SRCREV = "2349daafacfb7a7abe2cfecf30a49ae837bdf2c6"
PV = "v2025.07.17-2712"
RDEPENDS:${PN} += " \
coreutils \
python3 \
python3-pycryptodomex \
openssl \
xxd \
pciutils \
"
inherit python3native
do_install() {
install -d ${D}${bindir}
# install executables
install -m 0755 ${S}/tools/vl805 ${D}${bindir}
install -m 0755 ${S}/rpi-eeprom-update ${D}${bindir}
install -m 0755 ${S}/rpi-eeprom-config ${D}${bindir}
install -m 0755 ${S}/rpi-eeprom-digest ${D}${bindir}
# copy firmware files
install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/default
install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/latest
install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/default
install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/latest
install -m 644 ${S}/firmware-2711/default/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/default
install -m 644 ${S}/firmware-2711/latest/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/latest
install -m 644 ${S}/firmware-2712/default/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/default
install -m 644 ${S}/firmware-2712/latest/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/latest
ln -s default ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/critical
ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/stable
ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/beta
ln -s default ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/critical
ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/stable
ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/beta
# copy default config
install -d ${D}${sysconfdir}/default
install -D ${S}/rpi-eeprom-update-default ${D}${sysconfdir}/default/rpi-eeprom-update
}
FILES:${PN} += "${base_libdir}/firmware/raspberrypi/bootloader-*"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
# vl805 tool sources are not available (yet), as it comes as a precompiled
# binary only. It has ARM architecture whereas target machine is Aarch64. We
# need to disable arch check for it otherwise it cannot packed.
QAPATHTEST[arch] = ""
COMPATIBLE_MACHINE = "raspberrypi4|raspberrypi4-64|raspberrypi5"

View File

@@ -1,4 +1,4 @@
fdt addr ${fdt_addr} && fdt get value bootargs /chosen bootargs
fatload mmc 0:1 ${kernel_addr_r} @@KERNEL_IMAGETYPE@@
if test ! -e mmc 0:1 uboot.env; then saveenv; fi;
fatload @@BOOT_MEDIA@@ 0:1 ${kernel_addr_r} @@KERNEL_IMAGETYPE@@
if test ! -e @@BOOT_MEDIA@@ 0:1 uboot.env; then saveenv; fi;
@@KERNEL_BOOTCMD@@ ${kernel_addr_r} - ${fdt_addr}

View File

@@ -9,15 +9,20 @@ INHIBIT_DEFAULT_DEPS = "1"
SRC_URI = "file://boot.cmd.in"
BOOT_MEDIA ?= "mmc"
do_compile() {
sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \
-e 's/@@KERNEL_BOOTCMD@@/${KERNEL_BOOTCMD}/' \
"${WORKDIR}/boot.cmd.in" > "${WORKDIR}/boot.cmd"
-e 's/@@BOOT_MEDIA@@/${BOOT_MEDIA}/' \
"${UNPACKDIR}/boot.cmd.in" > "${WORKDIR}/boot.cmd"
mkimage -A ${UBOOT_ARCH} -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr
}
inherit kernel-arch deploy nopackages
S = "${UNPACKDIR}"
do_deploy() {
install -d ${DEPLOYDIR}
install -m 0644 boot.scr ${DEPLOYDIR}

View File

@@ -1,50 +0,0 @@
From: Mauro Salvini <m.salvini@koansoftware.com>
To: u-boot@lists.denx.de
Subject: [PATCH] rpi: always set fdt_addr with firmware-provided FDT address
Date: Wed, 12 May 2021 14:39:45 +0200 [thread overview]
Message-ID: <20210512123945.25649-1-m.salvini@koansoftware.com> (raw)
Raspberry firmware prepares the FDT blob in memory at an address
that depends on both the memory size and the blob size [1].
After commit ade243a211d6 ("rpi: passthrough of the firmware provided FDT
blob") this FDT is passed to kernel through fdt_addr environment variable,
handled in set_fdt_addr() function in board file.
When u-boot environment is persistently saved, if a change happens
in loaded FDT (e.g. for a new overlay applied), firmware produces a FDT
address different from the saved one, but u-boot still use the saved
one because set_fdt_addr() function does not overwrite the fdt_addr
variable. So, for example, if there is a script that uses fdt commands for
e.g. manipulate the bootargs, boot hangs with error
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Removing the fdt_addr variable in saved environment allows to boot.
With this patch set_fdt_addr() function always overwrite fdt_addr value.
[1] https://www.raspberrypi.org/forums//viewtopic.php?f=107&t=134018
Signed-off-by: Mauro Salvini <m.salvini@koansoftware.com>
Cc: C?dric Schieli <cschieli@gmail.com>
Cc: Matthias Brugger <mbrugger@suse.com>
---
board/raspberrypi/rpi/rpi.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index df52a4689f..611013471e 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -318,9 +318,6 @@ static void set_fdtfile(void)
*/
static void set_fdt_addr(void)
{
- if (env_get("fdt_addr"))
- return;
-
if (fdt_magic(fw_dtb_pointer) != FDT_MAGIC)
return;
--
2.17.1

View File

@@ -0,0 +1 @@
CONFIG_SYS_BOOTM_LEN=0x1000000

View File

@@ -4,11 +4,11 @@ SRC_URI:append:rpi = " \
file://fw_env.config \
"
SRC_URI:append:rpi = " file://0001-rpi-always-set-fdt_addr-with-firmware-provided-FDT-address.patch"
SRC_URI:append:raspberrypi4 = " file://maxsize.cfg"
DEPENDS:append:rpi = " u-boot-default-script"
do_install:append:rpi () {
install -d ${D}${sysconfdir}
install -m 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
install -m 0644 ${UNPACKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
}

View File

@@ -1,17 +1,19 @@
From b4f2b77472aeb967d3a7595e8a965785c7a37c87 Mon Sep 17 00:00:00 2001
From 8e8321cd597d3d9d342a8a3533ad10751dde5885 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 16 Feb 2016 16:40:46 +0000
Subject: [PATCH 1/4] bcm43xx: Add bcm43xx-3wire variant
Subject: [PATCH] bcm43xx: Add bcm43xx-3wire variant
---
Upstream-Status: Pending
tools/hciattach.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tools/hciattach.c b/tools/hciattach.c
index 59a76a7..5861d33 100644
index 276a4e56e..7d01d8b74 100644
--- a/tools/hciattach.c
+++ b/tools/hciattach.c
@@ -1144,6 +1144,9 @@ struct uart_t uart[] = {
@@ -1078,6 +1078,9 @@ struct uart_t uart[] = {
{ "bcm43xx", 0x0000, 0x0000, HCI_UART_H4, 115200, 3000000,
FLOW_CTL, DISABLE_PM, NULL, bcm43xx, NULL },
@@ -21,6 +23,3 @@ index 59a76a7..5861d33 100644
{ "ath3k", 0x0000, 0x0000, HCI_UART_ATH3K, 115200, 115200,
FLOW_CTL, DISABLE_PM, NULL, ath3k_ps, ath3k_pm },
--
1.9.1

View File

@@ -1,17 +1,20 @@
From e145c9621f976063e5c573db1f2053d906f63427 Mon Sep 17 00:00:00 2001
From 96e5e5eef04c6c4ae83d4d822a536cfa87605ae2 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 16 Feb 2016 16:39:09 +0000
Subject: [PATCH 2/4] bcm43xx: The UART speed must be reset after the firmware download
Subject: [PATCH] bcm43xx: The UART speed must be reset after the firmware
download
---
Upstream-Status: Pending
tools/hciattach_bcm43xx.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/tools/hciattach_bcm43xx.c b/tools/hciattach_bcm43xx.c
index 81f38cb..0b792e0 100644
index b89fc1b50..de01a6aea 100644
--- a/tools/hciattach_bcm43xx.c
+++ b/tools/hciattach_bcm43xx.c
@@ -366,11 +366,8 @@ int bcm43xx_init(int fd, int def_speed, int speed, struct termios *ti,
@@ -350,11 +350,8 @@ int bcm43xx_init(int fd, int def_speed, int speed, struct termios *ti,
return -1;
if (bcm43xx_locate_patch(FIRMWARE_DIR, chip_name, fw_path)) {
@@ -24,7 +27,7 @@ index 81f38cb..0b792e0 100644
if (bcm43xx_load_firmware(fd, fw_path))
return -1;
@@ -380,6 +377,7 @@ int bcm43xx_init(int fd, int def_speed, int speed, struct termios *ti,
@@ -364,6 +361,7 @@ int bcm43xx_init(int fd, int def_speed, int speed, struct termios *ti,
return -1;
}
@@ -32,6 +35,3 @@ index 81f38cb..0b792e0 100644
if (bcm43xx_reset(fd))
return -1;
}
--
1.9.1

View File

@@ -1,17 +1,19 @@
From d41dc2046dd08d8c95197f677e224506f5b39bdd Mon Sep 17 00:00:00 2001
From 05c3e145b5aa62e7e759932ea99f94d495b651c3 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 20 Jan 2016 16:00:37 +0000
Subject: [PATCH 3/4] Increase firmware load timeout to 30s
Subject: [PATCH] Increase firmware load timeout to 30s
---
Upstream-Status: Pending
tools/hciattach.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/hciattach.c b/tools/hciattach.c
index 5861d33..4141796 100644
index 7d01d8b74..465bb17dd 100644
--- a/tools/hciattach.c
+++ b/tools/hciattach.c
@@ -1293,7 +1293,7 @@ int main(int argc, char *argv[])
@@ -1227,7 +1227,7 @@ int main(int argc, char *argv[])
{
struct uart_t *u = NULL;
int detach, printpid, raw, opt, i, n, ld, err;
@@ -20,6 +22,3 @@ index 5861d33..4141796 100644
int init_speed = 0;
int send_break = 0;
pid_t pid;
--
1.9.1

View File

@@ -1,25 +0,0 @@
From 76681284b0ea49852041fdb97a35175089a08781 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 23 Feb 2016 17:52:29 +0000
Subject: [PATCH 4/4] Move the 43xx firmware into /lib/firmware
---
tools/hciattach_bcm43xx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/hciattach_bcm43xx.c b/tools/hciattach_bcm43xx.c
index 0b792e0..207f668 100644
--- a/tools/hciattach_bcm43xx.c
+++ b/tools/hciattach_bcm43xx.c
@@ -43,7 +43,7 @@
#include "hciattach.h"
#ifndef FIRMWARE_DIR
-#define FIRMWARE_DIR "/etc/firmware"
+#define FIRMWARE_DIR "/lib/firmware"
#endif
#define FW_EXT ".hcd"
--
1.9.1

View File

@@ -0,0 +1,31 @@
From 744f894e42d05b1dee917cc221ed3c1815990459 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 23 Feb 2016 17:52:29 +0000
Subject: [PATCH] Move the hciattach firmware into /lib/firmware
* FIRMWARE_DIR is now used by all hciattach firmware (not just bcm43xx) since 5.66 with:
commit d9253248363b995e44c1f5e393ed1c7aa4ec81ce
Author: Marek Vasut <marex@denx.de>
Date: Tue Nov 1 12:53:33 2022 +0100
Subject: tools: Make hciattach_* firmware path build-time configurable
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
Upstream-Status: Pending
tools/hciattach.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/hciattach.h b/tools/hciattach.h
index dfa4c1e7a..e88484766 100644
--- a/tools/hciattach.h
+++ b/tools/hciattach.h
@@ -41,7 +41,7 @@
#define HCI_UART_VND_DETECT 5
#ifndef FIRMWARE_DIR
-#define FIRMWARE_DIR "/etc/firmware"
+#define FIRMWARE_DIR "/lib/firmware"
#endif
int read_hci_event(int fd, unsigned char *buf, int size);

View File

@@ -4,7 +4,7 @@ SRC_URI:append:rpi = "\
file://0001-bcm43xx-Add-bcm43xx-3wire-variant.patch \
file://0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch \
file://0003-Increase-firmware-load-timeout-to-30s.patch \
file://0004-Move-the-43xx-firmware-into-lib-firmware.patch \
file://0004-Move-the-hciattach-firmware-into-lib-firmware.patch \
"
RDEPENDS:${PN}:append:rpi = " pi-bluetooth"

View File

@@ -3,7 +3,7 @@ From: "Peter A. Bigot" <pab@pabigot.com>
Date: Wed, 14 Nov 2018 09:19:51 -0600
Subject: [PATCH] bthelper: correct path for hciconfig under Yocto
Upstream-Status: Inapproprate [OE-specific]
Upstream-Status: Inappropriate [OE-specific]
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>

View File

@@ -10,9 +10,7 @@ SRC_URI = "\
git://github.com/RPi-Distro/pi-bluetooth;branch=master;protocol=https \
file://0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch \
"
SRCREV = "fd4775bf90e037551532fc214a958074830bb80d"
S = "${WORKDIR}/git"
SRCREV = "87248a382d1a81b80a62730975135d87fffd7ef1"
inherit ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'update-rc.d', d)}
# hciuart.service replaces what was brcm43438.service

View File

@@ -16,7 +16,6 @@ RDEPENDS:${PN} = "\
raspi-gpio \
rpio \
rpi-gpio \
pi-blaster \
python3-adafruit-circuitpython-register \
python3-adafruit-platformdetect \
python3-adafruit-pureio \
@@ -27,6 +26,9 @@ RDEPENDS:${PN} = "\
bluez5 \
"
RDEPENDS:${PN}:append:rpi:armv7a = " pi-blaster"
RDEPENDS:${PN}:append:rpi:armv7ve = " pi-blaster"
RRECOMMENDS:${PN} = "\
${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-multimedia", "bigbuckbunny-1080p bigbuckbunny-480p bigbuckbunny-720p", "", d)} \
${MACHINE_EXTRA_RRECOMMENDS} \

View File

@@ -0,0 +1,4 @@
[Unit]
Requires=sys-devices-platform-gpu-graphics-fb0.device
After=sys-devices-platform-gpu-graphics-fb0.device

View File

@@ -1,2 +1,12 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
SPLASH_IMAGES:rpi = "file://psplash-raspberrypi-img.h;outsuffix=raspberrypi"
SRC_URI:append:rpi = " file://framebuf.conf"
do_install:append:rpi() {
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then
install -Dm 0644 ${UNPACKDIR}/framebuf.conf ${D}${systemd_system_unitdir}/psplash-start.service.d/framebuf.conf
fi
}
FILES:${PN}:append:rpi = " ${systemd_system_unitdir}/psplash-start.service.d"

View File

@@ -3,16 +3,15 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI = " \
file://99-com.rules \
git://github.com/RPi-Distro/raspberrypi-sys-mods;protocol=https;branch=master \
file://can.rules \
"
S = "${WORKDIR}"
SRCREV = "5ce3ef2b7f377c23fea440ca9df0e30f3f8447cf"
INHIBIT_DEFAULT_DEPS = "1"
do_install () {
install -d ${D}${sysconfdir}/udev/rules.d
install -m 0644 ${WORKDIR}/99-com.rules ${D}${sysconfdir}/udev/rules.d/
install -m 0644 ${WORKDIR}/can.rules ${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/
}

View File

@@ -1,21 +0,0 @@
KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\
ALIASES=/proc/device-tree/aliases; \
if cmp -s $$ALIASES/uart0 $$ALIASES/serial0; then \
echo 0;\
elif cmp -s $$ALIASES/uart0 $$ALIASES/serial1; then \
echo 1; \
else \
exit 1; \
fi\
'", SYMLINK+="serial%c"
KERNEL=="ttyS0", PROGRAM="/bin/sh -c '\
ALIASES=/proc/device-tree/aliases; \
if cmp -s $$ALIASES/uart1 $$ALIASES/serial0; then \
echo 0; \
elif cmp -s $$ALIASES/uart1 $$ALIASES/serial1; then \
echo 1; \
else \
exit 1; \
fi \
'", SYMLINK+="serial%c"

View File

@@ -3,11 +3,13 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI = "file://80-udisks-rpi.rules"
S = "${UNPACKDIR}"
INHIBIT_DEFAULT_DEPS = "1"
do_install () {
install -d ${D}${base_libdir}/udev/rules.d
install -m 644 ${WORKDIR}/80-udisks-rpi.rules ${D}${base_libdir}/udev/rules.d
install -m 644 ${UNPACKDIR}/80-udisks-rpi.rules ${D}${base_libdir}/udev/rules.d
}
FILES:${PN} = "${base_libdir}/udev/rules.d"

View File

@@ -12,8 +12,7 @@ COMPATIBLE_MACHINE = "^rpi$"
SRC_URI = "http://www.airspayce.com/mikem/bcm2835/bcm2835-${PV}.tar.gz"
SRC_URI[md5sum] = "9bd2d39bf4b3a9e81dce799ca51c826a"
SRC_URI[sha256sum] = "564920d205977d7e2846e434947708455d468d3a952feca9faef643abd03a227"
SRC_URI[sha256sum] = "e67a986462618988a5a86752e36e3ebdd7c5cae66940ff7330aea243b2762525"
inherit autotools

View File

@@ -8,8 +8,6 @@ SRC_URI = "git://github.com/sarfata/pi-blaster;branch=master;protocol=https \
file://remove-initscript-lsb-dependency.patch \
"
S = "${WORKDIR}/git"
SRCREV = "fbba9a7dcef0f352a11f8a2a5f6cbc15b62c0829"
inherit update-rc.d autotools
@@ -18,6 +16,10 @@ INITSCRIPT_PACKAGES = "${PN}"
INITSCRIPT_NAME:${PN} = "${PN}.boot.sh"
INITSCRIPT_PARAMS:${PN} = "defaults 15 85"
COMPATIBLE_MACHINE = "^rpi$"
# only works on 32-bit targets
# https://github.com/sarfata/pi-blaster/issues/114
COMPATIBLE_MACHINE = "(^$)"
COMPATIBLE_MACHINE:rpi:armv7a = "(.*)"
COMPATIBLE_MACHINE:rpi:armv7ve = "(.*)"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -5,7 +5,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=6ec69d6e9e6c85adfb7799d7f8cf044e"
SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_Register.git;branch=main;protocol=https"
SRCREV = "d1e8ac7ad9dcd65ab83749db3e5c96ffee80ebb7"
S = "${WORKDIR}/git"
DEPENDS += "python3-setuptools-scm-native"

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