mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Barebox List <barebox@lists.infradead.org>
Subject: v2026.04.0
Date: Fri, 17 Apr 2026 15:43:11 +0200	[thread overview]
Message-ID: <aeI471ZfStpltaM6@pengutronix.de> (raw)

Hi All,

We have a release for April, v2026.04.0.

In this release Ahmad has reworked the bootm code. With this we can
inject arbitrary Kernels, device trees and initrds into the regular
boot, so you can boot your regular rootfs, but replace just the kernel,
initrd or device tree which makes it a great development feature. Worth
mentioning that this also works for FIT images, so you can replace just
components of them. See
https://www.barebox.org/doc/latest/user/devboot.html for details. For
this several cleanups were necessary so that the bootm code gets better
maintainable.

Other than that this release brings us several fixes for potential
buffer overflows in the networking code. While networking in barebox is
rather seen as a development feature which shouldn't be used in
production, it nevertheless should be safe against exploits. Also the
ext4 code got some more protection against crafted images.

Another nice thing is the support for RELR relocation on ARM which makes
for smaller binary images. Unfortunately the Rock3a board turned out to
not work properly with it, so we marked support for it to experimental
in the last minute.

Have Fun!
  Sascha

Migration notes for v2026.04.0
==============================

Boards
------

TQMA8MPxL
^^^^^^^^^

The config option has been renamed from ``CONFIG_MACH_TQ_MBA8MPXL`` to
``CONFIG_MACH_TQ_MBA8MPXX`` to accommodate the support for TQMA8MPxS
boards with the same binary.
The binary has been renamed from ``barebox-tqma8mpxl.img``
to ``barebox-tqma8mpxx.img``.

ZynqMP
^^^^^^

The Linux v7.0 device trees imported into this barebox release no
longer feature an unconditional `"linaro,optee-tz"` compatible OF node.

If OP-TEE use in barebox is desired, this node must be added back to the
barebox device tree.

HABv4-enablement
^^^^^^^^^^^^^^^^

When the SRK hash is written, the corresponding fuse bank is now locked automatically.
With that the ``IMX_SRK_HASH_WRITE_LOCK`` flag is removed.


TF-A v2.14 compatibility
------------------------

TF-A v2.14 has `broken compatibility <https://lists.trustedfirmware.org/archives/list/tf-a@lists.trustedfirmware.org/thread/LKJVRDGRH7F73FWSTZC46I7IT3BRYQXC/>`_
with SCMI consumers that implement only version 2.0 of the clock protocol.
This includes barebox v2026.03.1, but also Linux v6.6.

barebox v2026.04.0 is the first release that's compatible with both TF-A
releases older than v2.14 as well as v2.14 itself.

----------------------------------------------------------------
Ahmad Fatoum (43):
      ARM: add RELR relocation packing support
      mci: add support for eMMC v5.1b
      mci: treat unknown MMC version as greater than known versions
      mci: detect SD card v3
      ARM: cpu: setupc: relocate BSS in relocate_to_adr()
      FIT: handle hashed-nodes property not being in hashed nodes order
      tftp: skip memory allocation when seeking to current position
      tftp: warn when seek-heavy access wastes network bandwidth
      tftp: emulate backwards seek by reopening the file
      libfile: drop TFTP-specific hack in open_fdt()
      fs: fix relative path resolution when CWD is on a TFTP mount
      commands: bfetch: use 64-bit integer types for sizes
      ARM: mmu: make ARM_MMU_PERMISSIONS depend on MMU
      clk: scmi: clock: add compatibility for clock version 3.0
      x86: fix initjmp storing base pointer at wrong address
      ci: pytest: test against Debian 13.4.0 image
      bootm: require EFI boot when running as payload
      of: gracefully handle empty dummy DT
      lib: add lazy loadable infrastructure for deferred boot component loading
      bootm: split preparatory step from handler invocation
      boot: add bootm_boot wrapper that takes struct bootentry
      bootchooser: pass along struct bootentry
      bootm: switch plain file names case to loadable API
      uimage: add offset parameter to uimage_load
      bootm: uimage: switch to loadable API
      bootm: fit: switch to new loadable API
      bootm: stash initial OS address/entry in image_data
      bootm: support multiple entries for bootm.initrd
      bootm: implement plain and FIT bootm.image override
      bootm: overrides: add support for overlays
      test: py: add test for initrd concatenation
      defaultenv: base: add new devboot script
      Documentation: user: devboot: add section on forwarding build dirs
      libfile: remove file_to_sdram
      fs: guard against unset dentry in get_fsdevice_by_dentry
      ARM: i.MX8M: evk: mark PMIC barebox,allow-dummy-supply
      arch: make RELR depend on EXPERIMENTAL
      Documentation: migration-guide: fix TQMA8MPxL section
      Documentation: migration-guide: reinstate HABv4-enablement
      Documentation: migration-guide: mention TF-A v2.14 compatibility
      Documentation: migration-guide: add note about ZynqMP OP-TEE
      Documentation: migration-guides: mention possible FIT compat break
      ARM: dts: rk3588-rock-5b: fix SD card startup for Radxa ROCK 5B

David Picard (3):
      ARM: socfpga: Enclustra SA2: add defconfig options
      ARM: socfpga: Enclustra SA2: enable USB1 HS
      ARM: socfpga: xload: compress image with xz

Fabian Pflug (3):
      ARM: boards: tqma8mpxl: rename to tqma8mpxx
      ARM: boards: tqma8mpxl: extend with support for xs
      ARM: boards: tqma8mpxx: add no_ecc ram timings

Michael Grzeschik (1):
      video: simplefb-fixup: IORESOURCE_BUSY is deprecated use reserve_resource

Michael Tretter (6):
      ARM: rockchip: pass smaller device tree to OP-TEE
      scripts: rk-usb-loader: push header first
      arm: socfpga: mailbox_s10: make retry logic more visible
      arm: socfpga: mailbox_s10: cleanup send command
      arm: socfpga: mailbox_s10: add error messages for QSPI
      arm: socfpga: mailbox_s10: handle error 0x8f explicitly

Robin van der Gracht (12):
      aiodev: rockchip_saradc: Fix ADC resolution for RK3562
      phy: rockchip: naneng-combphy: Fix number of phys in the RK3562
      ARM: rockchip: RK3562: Add reset reason detection
      ARM: rockchip: Add missing LIBFDT dependency to ARCH_ROCKCHIP_ATF_PASS_FDT
      ARM: boards: Rename protonic-mecsbc to protonic-rk356x
      ARM: boards: protonic-rk356x: Remove VIN measurement
      ARM: boards: protonic-rk356x: Use devicetree alias for saradc
      ARM: boards: protonic-rk356x: Configure ADC and channels in model data
      ARM: boards: protonic-rk356x: Move mecsbc code to model init function
      ARM: boards: protonic-rk356x: Use rockchip_bbu_mmc_register
      ARM: boards: protonic-rk356x: Move bbu setup to device late init
      ARM: boards: protonic-rk356x: Read board serial and MAC address from eMMC

Sascha Hauer (66):
      ARM: rockchip: rk3568-qnap-ts433eu: Add missing include
      dts: update to v7.0-rc1
      dts: update to v7.0-rc2
      aiodev: Enable saradc for RK3588
      Add i.MX HAB fuse bank lock to migration guide
      tlv: check incoming TLV headers for size
      tee: optee: use RPMB probe capability to select enumeration path
      dts: update to v7.0-rc3
      ARM: setupc_32: remove relocation code from setup_c
      kbuild: make collect-policies lightweight with standalone Makefile.policy
      kbuild: policy: support out-of-tree builds for external policy files
      Merge branch 'for-next/arm'
      Merge branch 'for-next/dts'
      Merge branch 'for-next/imx'
      Merge branch 'for-next/misc'
      Merge branch 'for-next/optee'
      Merge branch 'for-next/rockchip'
      Merge branch 'for-next/socfpga'
      Merge branch 'for-next/tlv'
      dts: update to v7.0-rc4
      ARM: setup_c: avoid clearing BSS twice
      mci: move optee_rpmb_detected() to where the card is detected
      ARM: ARMv5: make PTE_SMALL_AP_UNO_SRO work
      fs: ext4: validate log2_block_size from superblock at mount
      fs: ext4: reject superblocks with zero inodesz, gdsize or inodes_per_group
      fs: ext4: fix OOB read and infinite loop in ext_iterate()
      fs: ext4: reject dirents with too-small direntlen to prevent infinite loops
      fs: ext4: validate extent eh_entries against buffer capacity
      net: dns: fix packet buffer overflow from long hostnames
      net: dns: fix OOB read in dns_recv query type check
      dts: update to v7.0-rc5
      dts: update to v7.0-rc6
      dts: update to v7.0-rc7
      mci: register class device before card detection
      tee: drivers: rksecure: improve logging
      usb: gadget: Use put_unaligned_le16() from asm/unaligned.h
      efi: loader: fix integer overflow in PE virt_size calculation
      efi: loader: validate section raw data bounds against image size
      efi: loader: fix SizeOfBlock underflow in relocation processing
      efi: loader: bounds-check relocation offsets against image size
      Merge branch 'for-next/tftp'
      Merge branch 'for-next/boot'
      fs: Do not mntput() the root device parent
      dts: update to v7.0
      Merge branch 'for-next/dts'
      mci: add missing break
      net: add net_eth_to_udp() helper for validated UDP extraction
      fs: tftp: use net_eth_to_udp() for packet parsing
      net: dhcp: use net_eth_to_udp() for packet parsing
      fs: nfs: use net_eth_to_udp() for packet parsing
      net: dns: use net_eth_to_udp() for packet parsing
      net: sntp: use net_eth_to_udp() for packet parsing
      net: netconsole: use net_eth_to_udp() for packet parsing
      net: fastboot: use net_eth_to_udp() for packet parsing
      net: fastboot: stop using net_eth_to_udp_payload() for PACKET_SIZE
      net: remove unused net_eth_to_udp{hdr,_payload,len}() helpers
      net: dhcp: add bounds checking to DHCP option parsing
      net: dhcp: use xstrndup for bp_file to prevent read past field
      net: dhcp: cap DHCP option string length to 255 bytes
      fs: tftp: prevent packet buffer overflow from long filenames
      fs: tftp: fix OACK option parsing bounds check
      fs: tftp: reject OACK with blocksize of zero
      fs: tftp: use bounded format for TFTP error message debug print
      fs: nfs: fix stack and packet buffer overflows from long NFS paths
      fs: nfs: fix NULL dereference in nfs_read_req on truncated packets
      Release v2026.04.0

Steffen Trumtrar (1):
      filetype: fix unaligned access for x86_linux_bootimage

Ulrich Ölmann (1):
      i.MX: hab: always lock SRK hash after fusing

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



                 reply	other threads:[~2026-04-17 13:43 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aeI471ZfStpltaM6@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox