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>
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>
Firmware links for model Zero 2 W were missing.
This patch sets the necessary links for brcmfmac firmware. Without the
links, the firmware cannot be loaded without causing boot messages like:
brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.bin failed with error -2
Fixesagherzan/meta-raspberrypi#1324
Signed-off-by: Matthias Klein <matthias@extraklein.de>
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>
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>
* 6.1 version was used by default since mickledore:
12a1187b01
and kirkstone for rpi5 MACHINEs since:
9dc6673d41
* scarthgap uses 6.6 by default since:
1cf3dd5e5e
* nobody is probably using 5.15 with newer release and there are issues with "iw reg" since
wireless-regdb upgrade in oe-core as well as shown in:
https://github.com/agherzan/meta-raspberrypi/pull/1317
so better to drop it from master/scarthgap together with
rpi.scc used only for 5.15 and 0001-gcc-plugins-Reorganize-gimple-includes-for-GCC-13.patch
used only by rpi.scc
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
This file is now used to fetch binary blobs used by picamera and
vc library recipes, which are only compatible with 32bit userspace
Perhaps we need to sunset these recipe as some point and repace
with alternatives like picamera2 which is built on top of libcamera
and works on both 32bit and 64 bit
rpi-bootfiles is fetching from latest firmware.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The firmware repo is huge ( 36G ) to clone is onerous
using shallow clone tarballs require them to be pre-populated
at some mirror which we don't have. Third option is to let
github provide the tarball, there is concern that tarballs
might change the compression etc and thus checksum would change
that is something github would communicate to users in advance [1]
Therefore this is the best solution for us right now.
Also upgrade to latest while here and drop PR settings
[1] https://docs.github.com/en/repositories/working-with-files/using-files/downloading-source-code-archives#stability-of-source-code-archives
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Be aware that whole userland repo is marked as ancient and deprecated:
96a7334ae9
and explicitly says:
"If you are using code from here you should rethink your solution."
But even if your build is using vc4graphics in MACHINE_FEATURES
to avoid most of userland, this issue with multilib was preventing
do_install:append to actually remove those libraries provided by
lib32-mesa when building lib32-userland (e.g. to provide
virtual/libomxil or as dependency of raspidmx or runtime dependency
of omxplayer).
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
* current aarch64 kernel image alone is 24MB:
24M tmp-glibc/deploy/images/raspberrypi4-64/Image-raspberrypi4-64-1-6.1.77+git0+43d1723dbe_77fc1fbcb5-r0.1-20110405230000.bin
and with rpi-bootfiles it takes around 46MB (e.g. this is from kirkstone raspberrypi4-64 build):
2.0K boot.scr
2.0K cmdline.txt
4.0K fixup4cd.dat
4.0K fixup_cd.dat
4.0K uEnv.txt
6.0K fixup4.dat
8.0K fixup.dat
10K fixup4db.dat
10K fixup4x.dat
10K fixup_db.dat
10K fixup_x.dat
16K uboot.env
36K config.txt
52K bcm2711-rpi-4-b.dtb
52K bcm2711-rpi-400.dtb
52K bcm2711-rpi-cm4.dtb
52K bootcode.bin
126K overlays
558K kernel8.img
786K start4cd.elf
786K start_cd.elf
2.2M start4.elf
2.9M start.elf
2.9M start4x.elf
3.6M start4db.elf
3.6M start_x.elf
4.6M start_db.elf
23M Image
* it is increased automatically to fit the content:
tmp-glibc/deploy/images/raspberrypi4-64 $ sfdisk -l core-image-minimal-raspberrypi4-64.rootfs--1.0-r0-20110405230000.wic
Disk core-image-minimal-raspberrypi4-64.rootfs--1.0-r0-20110405230000.wic: 241.2 MiB, 252915712 bytes, 493976 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x076c4a2a
Device Boot Start End Sectors Size Id Type
core-image-minimal-raspberrypi4-64.rootfs--1.0-r0-20110405230000.wic1 * 8192 157815 149624 73.1M c W95 FAT32 (LBA)
core-image-minimal-raspberrypi4-64.rootfs--1.0-r0-20110405230000.wic2 163840 493975 330136 161.2M 83 Linux
but if you want to update the kernel in place or add some additional files
later, it might not be big enough, increase the minimal size from 20M to 100M
* reminder (as I forgot about it before):
"--size" is just minimum
https://docs.yoctoproject.org/ref-manual/kickstart.html
says:
--size: The minimum partition size. Specify as an integer value optionally followed by one of the units “k” / “K” for kibibyte, “M” for mebibyte and “G” for gibibyte. The default unit if none is given is “M”. You do not need this option if you use --source.
--fixed-size: The exact partition size. Specify as an integer value optionally followed by one of the units “k” / “K” for kibibyte, “M” for mebibyte and “G” for gibibyte. The default unit if none is given is “M”. Cannot be specify together with --size. An error occurs when assembling the disk image if the partition data is larger than --fixed-size.
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
* Adjust to
https://git.openembedded.org/openembedded-core/commit/?id=26d97acc71379ab6702fa54a23b6542a3f51779c
* ${IMAGE_NAME}${IMAGE_NAME_SUFFIX} is almost always used together already
and when they aren't it's usually because of hardcoded '.rootfs' suffix
* it's a bit strange, because ${IMAGE_NAME_SUFFIX} is applied after the
version from ${IMAGE_VERSION_SUFFIX}, if we move it to ${IMAGE_LINK_NAME}
then it will be applied before the version and ${IMAGE_LINK_NAME}
will be just the version-less symlink to latest built version.
* it's not added to INITRAMFS_IMAGE_NAME as it assumes that all
images used as initramfs will set IMAGE_NAME_SUFFIX to empty.
Many already do as shown bellow, but you might need to extend
this list in your layer.
* without this fix, build with:
IMAGE_FSTYPES:rpi = "rpi-sdimg.gz"
will fail due to duplicated .rootfs suffix as shown in:
http://errors.yoctoproject.org/Errors/Details/754267/
130023424 bytes (130 MB, 124 MiB) copied, 0.0706353 s, 1.8 GB/s
gzip: skipping: core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rpi-sdimg does not exist
WARNING: TOPDIR/tmp-glibc/work/raspberrypi4_64-oe-linux/core-image-minimal/1.0/temp/run.do_image_rpi_sdimg.1238835:263 exit 1 from 'gzip -f -9 -n -c --rsyncable core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rpi-sdimg > core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rpi-sdimg.gz'
OE raspberrypi4-64@ /OE/build/oe-core/tmp-glibc/work/raspberrypi4_64-oe-linux/core-image-minimal/1.0/deploy-core-image-minimal-image-complete $ ll
total 305612
drwxr-xr-x 2 martin martin 4096 Feb 22 12:12 ./
drwxr-xr-x 17 martin martin 4096 Feb 22 12:12 ../
-rw-r--r-- 1 martin martin 130023424 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.ext3
-rw-r--r-- 1 martin martin 3535 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.manifest
-rw-r--r-- 1 martin martin 184549376 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rootfs.rpi-sdimg
-rw-r--r-- 1 martin martin 0 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rpi-sdimg.gz
-rw-r--r-- 1 martin martin 361441 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.spdx.tar.zst
-rw-r--r-- 1 martin martin 271541 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.testdata.json
-rw-r--r-- 1 martin martin 50331648 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.vfat
lrwxrwxrwx 1 martin martin 61 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.ext3 -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.ext3
lrwxrwxrwx 1 martin martin 65 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.manifest -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.manifest
lrwxrwxrwx 1 martin martin 69 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.spdx.tar.zst -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.spdx.tar.zst
lrwxrwxrwx 1 martin martin 70 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.testdata.json -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.testdata.json
lrwxrwxrwx 1 martin martin 61 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.vfat -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.vfat
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Starting OE core commit b566b1e32c7993d1ab7795562f648e52ce186a70,
we no longer need PYTHON_PN for any abstraction of python2 vs python3.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
There is anoter hifiberry hat, for which there is currently
no overlay added to the build, so let's add it:
hifiberry-dacplusadcpro.dtbo
Signed-off-by: Pascal Huerst <pascal.huerst@gmail.com>
* it's failing to build since the upgrade in:
https://git.openembedded.org/meta-openembedded/commit/?id=711c6fbce39df685225bca081c5f42bae2de658b
* fixes
../git/core/libcamera_app.cpp: In member function 'void LibcameraApp::ConfigureViewfinder()':
../git/core/libcamera_app.cpp:327:25: error: 'class libcamera::CameraConfiguration' has no member named 'transform'
327 | configuration_->transform = options_->transform;
| ^~~~~~~~~
* be aware that the repository and libraries were removed in 1.4.0 version with:
0ca9f41fea
but I'll leave that change to someone actually using this, I was just fixing
the build issue found in world builds
* tweak FILES to package library symlink without "lib" prefix to fix:
ERROR: libcamera-apps-1.4.2+git-r0 do_package: QA Issue: libcamera-apps: Files/directories were installed but not shipped in any package:
/usr/lib/rpicam_app.so
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
libcamera-apps: 1 installed and not shipped files. [installed-vs-shipped]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Current configuration hard-code the values of the CAN interrupt pins. This setting allows to change them. The default values are the same as before.
Signed-off-by: Damiano Ferrari <damiano.ferrari@ferrarigrowtech.com>
"zImage" not supported on arm64 so set KERNEL_IMAGETYPE_DIRECT to
"Image" for Raspberry Pi 5 and avoid the following errors:
| make: *** No rule to make target 'zImage'. Stop.
| ERROR: oe_runmake failed
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Set SERIAL_CONSOLES to ttyAMA10. This fixes login on the UART
no matter if systemd is used.
This work was sponsored by GOVCERT.LU.
Suggested-by: Gael PORTAY <gael.portay@rtone.fr>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Set SDIMG_KERNELIMAGE to kernel_2712.img instead of kernel8.img.
Raspberry Pi 5 firmware defaults to loading kernel_2712.img because
this image contains optimisations specific to Raspberry Pi 5
(e.g. 16K page-size). For more details:
https://www.raspberrypi.com/documentation/computers/config_txt.html#kernel
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Temporary avoid Raspberry Pi 5 machines because U-Boot has not been
ported to it yet.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Add overlays/vc4-kms-v3d-pi5.dtbo to use vc4-kms-v3d driver on
Raspberry Pi 5.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Update to version 1.73:
- Fixed some inconsistent indenting in bcm2835.c that triggers
warnings for some people.
- Added Timeout checks to bcm2835_i2c_write() in case of IO
problems. New reason code BCM2835_I2C_REASON_ERROR_TIMEOUT
added.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
The Raspberry Pi 4 board can boot the image from USB memory.
But current meta-raspberrypi supports only SD boot.
This commit allows switching SD boot to other device.
For example, if you want to use USB boot, please define
the following parameters in your conf/local.conf file.
CMDLINE_ROOT_PARTITION = "/dev/sda2"
BOOT_MEDIA = "usb"
v4: Update extra-build-config.md to explain more detail for new variable.
v3: Changed variable name to "BOOT_MEDIA" (was "BOOT_DEVTIPE").
v2: Set existing microSD parameter as default. User can overwrite
some parameters.
Signed-off-by: Harunobu Kurokawa <harunobu.kurokawa.dn@renesas.com>
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>