8.1. Release v2025.05.0

8.1.1. Configuration options

  • CONFIG_CMD_NFS and the nfs command have been removed. Users should use the NFS filesystem implementation instead via mount - mount a filesystem or list mounted filesystems.

  • CONFIG_STORAGE_BY_UUID has been renamed to CONFIG_STORAGE_BY_ALIAS. No functional change for the diskuuid binding use-case.

  • CONFIG_ROOTWAIT_BOOTARG is now enabled by default and will instruct barebox to append rootwait when booting from SD/eMMC/USB/NFS if barebox is already configured to generate the root= option dynamically.

    This can be customized via setting the global linux.rootwait variable or by disabling the option.

8.1.2. Bootloader Specification

  • Special handling for devicetree none has been finally removed in the bootloader specification parser after triggering an error message for 4 years. To migrate, remove the line.

  • GPT partitions with DPS_TYPE_FLAG_NO_AUTO are now ignored in accordance with the UAPI discoverable partition specification.

  • All XBOOTLDR partitions (without DPS_TYPE_FLAG_NO_AUTO) are now considered for bootloader spec files.

    Previously only the first partition with the XBOOTLDR partition type was considered.

  • The XBOOTLDR GPT Partition Type UUID is now parsed and handled identically to the MBR partition type.

    If an XBOOTLDR partition exists, barebox will no longer walk all partitions to find further bootloader spec entries.

  • Any existing ESP partitions are now searched for entries after XBOOTLDR partitions if any and before iterating over the full list of partitions.

8.1.3. Board support

  • Legacy STM32MP1 images have been finally dropped from barebox after having been removed from TF-A in 2022.

    Users should migrate to FIP images with barebox as nontrusted firmware (BL33) and the barebox device tree as hardware config.

    Use of multiple device trees is not support directly by the FIP format and can be substituted by a barebox image embedding multiple device trees and using the hardware config FIP slot only as dummy. See the lxa-tac board for an example.

  • barebox-sama5d27-som1-ek-xload-mmc.img has been renamed to barebox-sama5d27-som1-ek-xload.img and barebox-groboards-sama5d27-giantboard-xload-mmc.img has been renamed to barebox-groboards-sama5d27-giantboard-xload.img to reflect that the same image is now also bootable from QSPI flash.

  • Clock initialization for RK356x is no longer hardcoded, but is now specified in the device tree. barebox device trees not including #include rk356x.dtsi (in arch/arm/dts) may regress.

8.1.4. Shell and magic variables

  • /dev/fw_cfg0 has been renamed to /dev/fw_cfg

  • global.boot.default is now bootsource net by default.

    This does not affect users setting nv boot.default, but for others, barebox will look for bootloader spec on the bootsource medium first.

8.1.5. Build system

  • When building for ARCH=sandbox, libftdi1 and sdl2 libraries are now looked up with ${CROSS_PKG_CONFIG} instead of ${PKG_CONFIG}. This is not relevant when cross-building just the barebox tools, which is the usual use case for sandbox cross compilation.

8.1.6. Bisectability

Many users of read*_poll_is_timeout are broken between 554bbc479c09..dea0ad02bbd6, which can falsify git bisect results.