Changelog:
- 3868f47 blob: constify attr argument to blob_memdup
- eb9bcb6 ustream: prevent recursive calls to the read callback
- 12bda4b CI: add CodeQL workflow tests
- a2fce00 CI: add build test run
- c1be505 udebug: fix crash in udebug_entry_vprintf with longer strings
- 6339204 CMakeLists.txt: bump minimum cmake version
- ca3f6d0 udebug: fix file descriptor initialization for __udebug_buf_map
- df5b714 udebug: add mips specific quirk
- d27acfe udebug: add more checks for uninitialized buffers
- 40acbe3 udebug: wait for response after buffer add/remove
- e84c000 udebug: add inline helper function to test if a buffer is allocated
- 325fea5 udebug: add functions for manipulating entry length
- e80dc00 link librt if needed for shm_open
- 260ad5b udebug: add ulog support
- b77f2a4 uloop: fix build using C++ compilers
- d4c3066 udebug: add udebug library code
- b3fa3d9 uloop: reset flags after __uloop_fd_delete call
- 8a5a431 uloop: fix typo in signal handling rework
- f7d1569 uloop: properly initialize signal handler mask
- 13d9b04 uloop: add support for user defined signal handlers
- 82fa648 uloop: add support for interval timers
Signed-off-by: Lance Fredrickson <lancethepants@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Since iptables v1.8.11, `iptables -C` commands return unexpected zero status
even for cases when the rules don't exist. This breaks e.g. standard Docker
operation, where checking for existing rules is used extensively when creating
networks.
The patch fixing the behavior is available upstream - apply it to v1.8.11
before a newer version is available.
Signed-off-by: Jan Čermák <sairon@sairon.cz>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The ARMV7-A toolchains are capable to compile binaries for ARMv8-A CPU
in AArch32 execution state.
This adds the BR2_ARM_CPU_ARMV8A option in the 'conditions' to allow
ARMV8-A CPU such as Cortex-A53 or Cortex-A72 to use ARMV7-A toolchains.
Signed-off-by: Gaël PORTAY <gael.portay+rtone@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Without this, packages using libopenmpt are not able to find
the dependency.
Signed-off-by: J. Neuschäfer <j.neuschaefer@gmx.net>
[Julien: reword commit log]
Signed-off-by: Julien Olivain <ju.o@free.fr>
The patch bumps the Linux kernel to version 6.12.23 and U-Boot to
version 2025.04.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
The patch bumps the Linux kernel to version 6.1.134 and U-Boot to
version 2025.04.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
This installs the device-tree blob for the Raspberry Pi 500.
Signed-off-by: Gaël PORTAY <gael.portay+rtone@gmail.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
The ARM64 bcmrpi3_defconfig has been deleted since 6.12.20[1]. It was
introduced since 4.9.11[2]. It appears to be the 64-bit version of the
ARM bcm2709_defconfig used by Raspberry Pi 2 and Raspberry Pi 3.
The .github/workflows/kernel-build.yml was introduced in 5.15.81[3], and
it shows the ARM64 bcm2711_defconfig is used to build the kernel8.img of
the Raspberry Pi 4 (released in June 2019). The ARM64 bcmrpi3_defconfig
appears to be not used officially, even it was still maintained accross
the different bumps.
The raspberrypi-firmware[5] repository has introduced the kernel8.img
image with 4.19.69[6], and the Raspberry Pi 4 was released a little bit
earlier since 4.19.50 with the ARM64 kernel8.img[7] image (and the ARM
kernel7l.img[8]) (released in September 2019). That kernel8.img appears
to boot the Raspberry Pi 4 (using the ARM64 bcm2711_defconfig).
Raspberry Pi OS 64-bit boots the image kernel8.img on Raspberry 3. The
64-bit version was released in February 2022. It is not certain it takes
the kernel images from the raspberrypi-firmware repository. However, the
firmware boots the exact same image kernel8.img on a Raspberry Pi 3 and
on a Raspberry Pi 4.
Raspberry Pi OS 64-bit on Raspberry Pi 3:
MESS:00:00:01.423488:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:01.428389:0: brfs: File read: 1361 bytes
MESS:00:00:01.493416:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:01.498339:0: gpioman: gpioman_get_pin_num: pin LEDS_PWR_OK not defined
MESS:00:00:02.009915:0: gpioman: gpioman_get_pin_num: pin DISPLAY_DSI_PORT not defined
MESS:00:00:02.016952:0: gpioman: gpioman_get_pin_num: pin DISPLAY_DSI_PORT not defined
MESS:00:00:02.024731:0: gpioman: gpioman_get_pin_num: pin LEDS_PWR_OK not defined
MESS:00:00:02.031018:0: *** Restart logging
MESS:00:00:02.034892:0: brfs: File read: 1361 bytes
MESS:00:00:02.067531:0: gpioman: gpioman_get_pin_num: pin EMMC_ENABLE not defined
MESS:00:00:02.083340:0: HDMI0: hdmi_pixel_encoding: 162000000
MESS:00:00:03.164055:0: brfs: File read: /mfs/sd/initramfs8
MESS:00:00:03.167936:0: Loaded 'initramfs8' to 0x0 size 0x110451e
MESS:00:00:03.193834:0: initramfs loaded to 0x2defb000 (size 0x110451e)
MESS:00:00:03.208482:0: dtb_file 'bcm2710-rpi-3-b.dtb'
MESS:00:00:03.211926:0: brfs: File read: 17843486 bytes
MESS:00:00:03.221150:0: brfs: File read: /mfs/sd/bcm2710-rpi-3-b.dtb
MESS:00:00:03.225810:0: Loaded 'bcm2710-rpi-3-b.dtb' to 0x100 size 0x8783
MESS:00:00:03.247884:0: brfs: File read: 34691 bytes
MESS:00:00:03.264054:0: brfs: File read: /mfs/sd/overlays/overlay_map.dtb
MESS:00:00:03.296063:0: brfs: File read: 5423 bytes
MESS:00:00:03.302800:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:03.306807:0: dtparam: audio=on
MESS:00:00:03.317529:0: brfs: File read: 1361 bytes
MESS:00:00:03.341294:0: brfs: File read: /mfs/sd/overlays/vc4-kms-v3d.dtbo
MESS:00:00:03.392937:0: Loaded overlay 'vc4-kms-v3d'
MESS:00:00:03.500706:0: brfs: File read: 2760 bytes
MESS:00:00:03.504586:0: brfs: File read: /mfs/sd/cmdline.txt
MESS:00:00:03.509305:0: Read command line from file 'cmdline.txt':
MESS:00:00:03.515172:0: 'console=serial0,115200 console=tty1 root=PARTUUID=28fec58e-02 rootfstype=ext4 fsck.repair=yes rootwait cfg80211.ieee80211_regdom=GB'
MESS:00:00:03.658110:0: brfs: File read: 132 bytes
MESS:00:00:04.203939:0: brfs: File read: /mfs/sd/kernel8.img
MESS:00:00:04.207882:0: Loaded 'kernel8.img' to 0x200000 size 0x8dab16
MESS:00:00:05.880351:0: Device tree loaded to 0x2def2300 (size 0x8c7c)
MESS:00:00:05.886331:0: uart: Set PL011 baud rate to 103448.300000 Hz
MESS:00:00:05.892855:0: uart: Baud rate change done...
MESS:00:00:05.896271:0: uart: Baud rate
Raspberry Pi OS 64-bit on Raspberry Pi 4:
MESS:00:00:04.721959:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:04.725196:0: brfs: File read: 1361 bytes
MESS:00:00:04.750539:0: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:04.755048:0: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:04.771935:0: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:04.776437:0: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:04.783084:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:05.589127:0: gpioman: gpioman_get_pin_num: pin DISPLAY_DSI_PORT not defined
MESS:00:00:05.594675:0: gpioman: gpioman_get_pin_num: pin DISPLAY_DSI_PORT not defined
MESS:00:00:05.603705:0: *** Restart logging
MESS:00:00:05.605484:0: brfs: File read: 1361 bytes
MESS:00:00:05.615585:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:05.620610:0: hdmi: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:05.631233:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:05.636263:0: hdmi: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:05.641861:0: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
MESS:00:00:05.655652:0: hdmi: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:05.660683:0: hdmi: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:05.671304:0: hdmi: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:05.676328:0: hdmi: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:05.681926:0: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
MESS:00:00:05.690690:0: HDMI0: hdmi_pixel_encoding: 300000000
MESS:00:00:05.696162:0: HDMI1: hdmi_pixel_encoding: 300000000
MESS:00:00:07.208184:0: brfs: File read: /mfs/sd/initramfs8
MESS:00:00:07.210644:0: Loaded 'initramfs8' to 0x0 size 0x110451e
MESS:00:00:07.230307:0: initramfs loaded to 0x2defb000 (size 0x110451e)
MESS:00:00:07.243252:0: dtb_file 'bcm2711-rpi-4-b.dtb'
MESS:00:00:07.245284:0: brfs: File read: 17843486 bytes
MESS:00:00:07.256366:0: brfs: File read: /mfs/sd/bcm2711-rpi-4-b.dtb
MESS:00:00:07.259609:0: Loaded 'bcm2711-rpi-4-b.dtb' to 0x100 size 0xdb30
MESS:00:00:07.279767:0: brfs: File read: 56112 bytes
MESS:00:00:07.296967:0: brfs: File read: /mfs/sd/overlays/overlay_map.dtb
MESS:00:00:07.324428:0: brfs: File read: 5423 bytes
MESS:00:00:07.328614:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:07.331591:0: dtparam: audio=on
MESS:00:00:07.340485:0: brfs: File read: 1361 bytes
MESS:00:00:07.363861:0: brfs: File read: /mfs/sd/overlays/vc4-kms-v3d-pi4.dtbo
MESS:00:00:07.431733:0: Loaded overlay 'vc4-kms-v3d-pi4'
MESS:00:00:07.603996:0: brfs: File read: 3913 bytes
MESS:00:00:07.606532:0: brfs: File read: /mfs/sd/cmdline.txt
MESS:00:00:07.611170:0: Read command line from file 'cmdline.txt':
MESS:00:00:07.617044:0: 'console=serial0,115200 console=tty1 root=PARTUUID=28fec58e-02 rootfstype=ext4 fsck.repair=yes rootwait cfg80211.ieee80211_regdom=GB'
MESS:00:00:07.756492:0: brfs: File read: 132 bytes
MESS:00:00:08.544420:0: brfs: File read: /mfs/sd/kernel8.img
MESS:00:00:08.546973:0: Loaded 'kernel8.img' to 0x200000 size 0x8dab16
MESS:00:00:09.864045:0: Device tree loaded to 0x2deed000 (size 0xdfb8)
MESS:00:00:09.869518:0: uart: Set PL011 baud rate to 103448.300000 Hz
MESS:00:00:09.876542:0: uart: Baud rate change done...
Considering all of this, the now disappeared ARM64 bcmrpi3_defconfig may
have never been used to release official 64-bit kernels, and the ARM64
bcm2711_defconfig is used by Raspberry Pi 3 and Raspberry Pi 4.
Thus, it is safe to reuse the ARM64 bcm2711_defconfig for the both
raspberrypi3_64_defconfig and raspberrypizero2w_64_defconfig.
This updates the defconfig for the two BCM2710/BCM2837 64-bit hardwares
(i.e. Raspberry Pi 3 and Raspberry Pi Zero 2 W) to reuse the downstream
ARM64 bcm2711_deconfig (i.e. the one used by Raspberry Pi 4).
Hardware ARM 32-bit ARM 64-bit
-------------------------------------------------------------
Raspberry Pi 1/Zero/ZeroW bcmrpi_defconfig N/A
Raspberry Pi 2 bcm2709_defconfig N/A
Raspberry Pi 3/3+/Zero2W bcm2709_defconfig bcm2711_defconfig
Raspberry Pi 4/400/CM4-IO bcm2711_defconfig bcm2711_defconfig
Raspberry Pi 5 N/A bcm2712_defconfig
[1]: 7713244d3b
[2]: 3682d62794
[3]: 200e40ee35
[4]: https://www.raspberrypi.com/documentation/computers/config_txt.html#kernel
[5]: d21cd6bbab
[6]: 935eb6f9a3
[7]: cdb78ce891
[8]: e879019c19
Signed-off-by: Gaël PORTAY <gael.portay+rtone@gmail.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
This adds hints for the Raspberry Pi 400, Compute Module 1, 3, 4, and
4s.
Signed-off-by: Gaël PORTAY <gael.portay+rtone@gmail.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
This adds the missing Raspberry Pi Zero models to the list.
Signed-off-by: Gaël PORTAY <gael.portay+rtone@gmail.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
The VideoCore blobs for the Raspberry Pi 1, 2, 3, Zero, Zero W and Zero
2 W are differents from the ones for the Raspberry Pi 4 and the Compute
Module 4.
The VideoCore blobs for the Raspberry Pi 4 are named with a 4[1] (i.e.
start4.elf, start4x.elf, start4db.elf and start4cd.elf).
This precises which VideoCore firmware blob files are present on the
Raspberry Pi 1, 2, 3, Zero W, Zero 2 W and which files are present on
the the Rapsberry Pi 4 and the Compute Module 4.
Note: The VideoCore blobs for the Raspberry Pi 5 are self-contained in
its bootloader EEPROM[1][2]; there is no additional files for pi5.
[1]: https://www.raspberrypi.com/documentation/computers/configuration.html#start-elf
[2]: https://www.raspberrypi.com/documentation/computers/config_txt.html#start_file-fixup_file
Signed-off-by: Gaël PORTAY <gael.portay+rtone@gmail.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
Any Raspberry Pi may use device-tree overlays; it is not restricted to
Raspberry Pi 3 and 4.
The defconfigs for the Raspberry Pi 3, 4, 400, Zero W, Zero 2 W, Compute
Module 4 and 4s use the miniuart-bt dtoverlay to switch the Bluetooth to
the mini-UART (ttyS0) and restore UART0 (ttyAMA0) over GPIOs 14 and 15
to enable the serial console (like the Raspberry Pi 1 and 2 that have no
Bluetooth)[1][2].
As a consequence, the Raspberry Pi Zero W, Zero 2 W, 400, Compute Module
4 and 4s install the device-tree overlays as well.
This rewords the note by adding the three missing hardwares installing
the images/rpi-firmware/overlays directory. It rewords the miniuart note
at the same time.
[1]: https://www.raspberrypi.com/documentation/computers/configuration.html#uarts-and-device-tree
[2]: https://github.com/raspberrypi/linux/blob/rpi-6.6.y/arch/arm/boot/dts/overlays/miniuart-bt-overlay.dts#L4-L6
Signed-off-by: Gaël PORTAY <gael.portay+rtone@gmail.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
Patches 0002-arc-Fix-warnings.patch and
0003-arc-Do-not-use-mov_s-and-movl_s-instructions.patch are upstream
as part of commit 30e887f84e70c16df5c421983f074d07a93b4e58 (yes they
have been squashed into a single commit upstream).
Patches 0004-src-or1k-ffi.c-fix-prototype-of-ffi_call_SYSV.patch and
0005-src-or1k-ffi.c-fix-incompatible-pointer-type.patch are upstream
as part of commit 8a0d029244d9b0393db19898e603f24febfb53ee (here as
well, they have been squashed into a single commit upstream).
Changes 3.4.6..3.4.7:
Add static trampoline support for Linux on s390x.
Fix BTI support for ARM64.
Support pointer authentication for ARM64.
Fix ASAN compatibility.
Fix x86-64 calls with 6 GP registers and some SSE registers.
Miscellaneous fixes for ARC and Darwin ARM64.
Fix OpenRISC or1k and Solaris 10 builds.
Remove nios2 port.
Changes 3.4.7..3.4.8:
aarch64: add PAC to GNU Notes by @billatarm in #882
MIPS: Dont import asm/sgidefs.h on linux by @fossdd in #885
Update the Simple Example from the Docs to fix a compile error by @Nikitf777 in #886
Fix bugs in the x86-64 and x32 target (#887) by @mikulas-patocka in #889
Add the "ABI_ATTR" attribute to called functions (#891) by @mikulas-patocka in #892
powerpc: Add static trampoline support (#894) by @peter-bergner in #895
testsuite: add two tests to Makefile.am by @thesamesam in #893
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
This reverts commit 27ab880ebb.
With the (proposed) fix from the openssl developers added as
0004-Serialize-install-process-to-avoid-multiple-make-dep.patch, the
workaround can now be dropped so openssl can again be built and installed in
parallel, significantly speeding up builds.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
The openssl developers have proposed a fix for the parallel installation
issue worked around by commit 27ab880ebb (package/libopenssl do not build
in parallel).
Add the fix here so the workaround can dropped again.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
Changelog 2.73 -> 2.74:
- ERRATA: Bug 219838 the psx go package fails to build standalone.
- This release addresses Bug 219687 reported by David Runge.
- Group syntax parsing bugfix for pam_cap from Tianjia Zhang.
- Doc typo fix for cap_get_proc.3 from Tianjia Zhang.
- Fix transitive include in capsh.c from Leo.
- Go package documentation updates, including more cap examples.
Changelog 2.74 -> 2.75:
- This release is devoted to a fix for Bug 219838 reported by Frank.
Changelog 2.75 -> 2.76:
- More libpsx and psx Go package mechanism fixes (many thanks to
Christial Kastner for helping dive into the off-piste
architectures. See Bug 219915.)
- To make the various .so files continue to be runnable as standalone
programs added another workaround for glibc. (Bug 219880 reported by
Christian Kastner.)
- Made a new man page cap_text_formats(7). This makes it possible to
separate the tool man pages from the developer man pages. I believe
this was the second time this was requested, by Carlos
Rodriguez-Fernandez this time (can't find the former request in my
email).
- Dropped Make.Rules definition of SYSTEM_HEADERS Thanks to Ross
Burton for reporting.
- Removed a spurious debugging printf() from setcap tool.
- Removed cap_ workarounds for go.dev cap package examples. The
website bugs have been resolved: go/issues/70611; go/issues/70630.
- Added a Makefile to the contrib/seccomp example.
See
https://sites.google.com/site/fullycapable/release-notes-for-libcap
for all release notes.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
Changelog:
* v2.4.3 - 02/28/2025
* Fix memory safety with some older `strerror_r()` implementations in error
formatters for all modules.
* Build
* Fix character device GPIO support tests in Makefile for alternate
shells and older versions of make.
* Fix cross-compilation in Makefile from Windows.
* Fix CMake minimum required version.
* Add CMake package generation.
* Contributors
* Ryan Barnett, @rjbarnet - ec31b39
* javalikescript, @javalikescript - 024a25d
* HopeCollector, @HopeCollector - aca6815, b5e53e6
The hash of the license file has changed due to a copyright year
change:
- Copyright (c) 2014-2023 vsergeev / Ivan (Vanya) A. Sergeev
+ Copyright (c) 2014-2025 vsergeev / Ivan (Vanya) A. Sergeev
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
Upstream changelog from
https://github.com/google/double-conversion/releases/tag/v3.3.1:
Hash pin Github workflows by @joycebrum in #198
Create dependabot.yml by @joycebrum in #199
Add _ITERATOR_DEBUG_LEVEL=2 and _DEBUG defines by @ffa-csturdy in #202
Add bzlmod MODULE.bazel file by @jsharpe in #205
Add CIFuzz Github Action by @DavidKorczynski in #203
Update MODULE.bazel and README.md. by @BYVoid in #234
Remove the explicit dependency on rules_cc. by @BYVoid in #235
Add missing headers by @BhavikaSharma in #239
Tested with the following configuration, which includes the only two
reverse dependencies of double-conversion.
BR2_arm=y
BR2_cortex_a9=y
BR2_ARM_ENABLE_VFP=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_QT6=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON_UJSON=y
# BR2_TARGET_ROOTFS_TAR is not set
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
The current comment is not very helpful; extend it to be more explicit.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
When building a firmware for the MACCHIATObin with edk2 and
arm-trusted-firmware, the build can randomly fail with the
following make error:
make[1]: Circular output/build/edk2-edk2-stable202411/.stamp_configured <- arm-trusted-firmware dependency dropped.
The message appears also when the build is not failing, depending on
the number of parallel jobs and the build order.
The issue can be observed with the following commands:
cat >.config <<EOF
BR2_aarch64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="a80x0_mcbin"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33=y
BR2_TARGET_BINARIES_MARVELL=y
BR2_TARGET_EDK2=y
BR2_TARGET_EDK2_PLATFORM_SOLIDRUN_ARMADA80X0MCBIN=y
BR2_TARGET_MV_DDR_MARVELL=y
EOF
make olddefconfig
utils/brmake
grep -FC5 'dependency dropped' br.log
The circular dependency happen due to [1] and [2].
In fact, only TF-A depends on EDK II (passed as BL33) for building and
not vice versa. See [3]. The EDK II "SolidRun MacchiatoBin" platform
build does not need any TF-A image, compared to some other platforms
such as "Socionext DeveloperBox" or "QEMU SBSA" which are referencing
TF-A images in a hook added in EDK2_PRE_BUILD_HOOKS.
Drop the false dependency on TF-A to fix the build.
This issue has been present since the EDK2 introduction in commit [4].
[1] https://gitlab.com/buildroot.org/buildroot/-/blob/2025.02/boot/arm-trusted-firmware/arm-trusted-firmware.mk#L121
[2] https://gitlab.com/buildroot.org/buildroot/-/blob/2025.02/boot/edk2/edk2.mk#L118
[3] https://github.com/Semihalf/edk2-platforms/wiki/Build_firmware
[4] 1074a37e78
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Dick Olsson <hi@senzilla.io>
[Julien: add extra info in commit log]
Signed-off-by: Julien Olivain <ju.o@free.fr>
When Building arm-trusted-firmware for the Macchiatobin platform
(a80x0_mcbin), which depends on the mv-ddr-marvell package, the build fails
complaining that this package's folder "does not contain valid
mv-ddr-marvell git repository".
This is expected under Buildroot, where we use intermediate archives.
The issue can be reproduced with the commands:
cat >.config <<EOF
BR2_aarch64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="a80x0_mcbin"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33=y
BR2_TARGET_BINARIES_MARVELL=y
BR2_TARGET_EDK2=y
BR2_TARGET_EDK2_PLATFORM_SOLIDRUN_ARMADA80X0MCBIN=y
BR2_TARGET_MV_DDR_MARVELL=y
EOF
make olddefconfig
make
The build is failing with the error message:
plat/marvell/armada/a8k/common/ble/ble.mk:34: *** "'MV_DDR_PATH=/buildroot/output/build/mv-ddr-marvell-d5acc10c287e40cc2feeb28710b92e45c93c702c' was specified, but '/buildroot/output/build/mv-ddr-marvell-d5acc10c287e40cc2feeb28710b92e45c93c702c' does not contain valid mv-ddr-marvell git repository". Stop.
Add patches to fix the build for this platform, for a few versions of TF-A
(v2.6, v2.7, v2.8, lts-v2.8.20, v2.9, v2.10, lts-v2.10.5, v2.11, v2.12 and
lts-v2.12.1).
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Dick Olsson <hi@senzilla.io>
Cc: Sergey Matyukevich <geomatsi@gmail.com>
[Julien: add commands to reproduce the issue]
Signed-off-by: Julien Olivain <ju.o@free.fr>
Switch the test assert to use 'Europe/Berlin' instead of
'posix/Europe/Berlin'. The tz-name is an internal implementation detail
anyway and the lookup changed to prefer the stated name in /etc/timezone
again, if it matches the configured timezone via /usr/share/zoneinfo.
Ref: 4ffac9232b
Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Julien Olivain <ju.o@free.fr>
libv4l has some really special code that is built explicitly with
_FILE_OFFSET_BITS=32, which doesn't work with _TIME_BITS=64, causing
build failures when BR2_TIME_BITS_64=y. This build issue has been
fixed upstream. While how the upstream patch exactly works is unclear,
it's the patch that upstream has decided to implement to resolve the
build issue, so we simply backport it.
The issue exists since at least upstream commit
99f245f5e2826c7ae3ac8de530bc2fbd906eb62b, which was merged in
v4l-utils 1.26.0.
Fixes:
https://autobuild.buildroot.org/results/616608ef2a44efff67fa21b3263b341da82744c4/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[Julien: add upstream commit url in patch]
Signed-off-by: Julien Olivain <ju.o@free.fr>