v2025.05.0

Sascha Hauer s.hauer at pengutronix.de
Wed May 21 01:25:29 PDT 2025


Hi All,

We have the v2025.05.0 barebox Release.

There are quite a few changes this time. barebox now has RPMB support
for eMMC devices. The first thing we can do with it is to access the AVB
persistent value store, so barebox can store variables in RPMB
partitions. We also have some new commands: The tree command shows a
directory tree like its Linux pendant. The truncate command can truncate
files to specified sizes which can be useful for debugging and testing
filesystem stuff. The varinfo command can be used to show information
about variables.
Some new boards are supported as well, all STM32MP1 based: The Linux
Automation TAC board, the Linux Automation Fairytux 2 and the Protonic
MECT1S board.
Another nice thing is that we no longer need two barebox builds for the
Beaglebone board. The regular build can now produce a MLO first stage
image as well.
The TLSF allocator is now the default allocator. This is done in
preparation to remove the dlmalloc allocator later this year.

See below for a full list of patches for this release.

Have Fun!
   Sascha

----------------------------------------------------------------
Ahmad Fatoum (168):
      fs: use filename_create/filename_lookup instead of open-coding
      fs: implement O_DIRECTORY
      fs: implement opendir in terms of fdopendir
      commands: implement tree command
      commands: add new truncate command
      Documentation: devel: add short section on file systems
      scripts: define le32_to_cpup and friends for host/target tools
      booti: sanity check image magic before parsing header
      complete: give device_param_complete a flags parameter
      env: add envvar_for_each helper for variable iteration
      commands: add varinfo command
      driver: base: class: remove device from class on registration
      fs: squashfs: drop unused struct squashfs_dir definition
      common: elf: drop unused arch notes stubs
      driver: drop unused dev_open/close_default stubs
      Revert "ci: container: downgrade OpenRISC toolchain from 14.2.0 to 13.1.0"
      ci: container: download and delete kvx.tgz in the same layer
      ci: container: don't leave labgrid checkout in /tmp
      ci: container: don't install recommended packages
      ci: container: run apt-get clean after installation
      ci: container: add musl-tools
      ci: container: install LLVM/clang
      sandbox: use CROSS_PKG_CONFIG when compiling sandbox arch code
      sandbox: hide sdl/libftdi symbols if libraries not found
      MAKEALL: fix check_pipe_status usage
      MAKEALL: remove use of alias in script
      ci: pytest: run test suite on sandbox allyesconfig
      ci: run static analysis on allyesconfig
      blspec: drop explicit devicetree "none" handling
      sandbox: env: switch from CONFIG_DEFAULT_ENVIRONMENT_PATH to bbenv-y
      common: make TLSF the default allocator
      test: bthread: change comparison condition for switches vs. yields
      ci: pytest: rename build directories
      ci: pytest: enable console and libc allocator for allyesconfig
      fs: mark string returned by get_mounted_path as const
      spi: add STM32F7 QSPI controller driver
      printk: make dev_printf a PBL stub
      net: nfs: retire nfs command in favor of filesystem
      ARM: configs: replace NET_NFS command option with FS_NFS
      banner: print out enabled sanitizers
      boot: change bootentry_register_provider to take struct argument
      boot: move nfs:// parsing out of bootloader spec code
      blspec: remove unused blspec_scan_devices
      blspec: don't export blspec functions
      commands: devlookup: factor out cmd_export_val
      commands: findmnt: add support for exporting target as variable
      commands: devlookup: add option to print kernel root option
      tee: optee: of_fixup: allow static shared memory size of 0
      bootsource: retire bootsource_set_alias_name
      bootsource: add optional read of /chosen/bootsource
      ARM: stm32mp: switch internal SoC code to hexadecimal
      ARM: stm32mp: init: expand bootsource logic to STM32MP13{1,3}
      include: linux/limits: add definition for RESOURCE_SIZE_MAX
      defaultenv: boot/bnet: fallback to booting generic 2nd stage FIT image
      mci: stm32_sdmmc2: fix benign typo in dma_map_single
      commands: introduce simple base64 command
      of: use pr_ family functions to log messages
      blspec: factor out generic parts into bootscan helper
      common: bootscan: add scan_disk callback
      blspec: support boot /dev/virtioblkX
      boot: split off bootarg API into new bootargs.h header
      block: add get_rootarg block op into block_device_ops
      block: fixup rootwait argument when needed by default
      of: implement stub for of_cdev_find
      bootsource: implement bootsource_of_cdev_find
      common: bootdef: add new boot entry provider
      kconfig: implement IF_ENABLED helper
      boot: make bootsource the default boot target if enabled
      cdev: make cdev_find_child_by_gpt_typeuuid external
      cdev: constify cdev_find_child_by_gpt_typeuuid's guid_t pointer argument
      partition: efi: respect DPS_TYPE_FLAG_NO_AUTO flag
      blspec: iterate over all XBOOTLDR partitions
      blspec: support GPT XBOOTLDR partition
      blspec: collect bootloader spec entries from ESP
      cdev: alias: add support for partition links
      cdev: do not dereference partname for non-partitions
      cdev: use common cdev_free helper internally
      cdev: implement devfs_create_link in terms of devfs_create
      misc: storage-by-uuid: consider only first diskuuid match
      misc: storage-by-uuid: prepare for generalizing to different aliases
      misc: storage-by-uuid: rename to storage-by-alias
      misc: storage-by-alias: switch over to using cdev aliases
      misc: storage-by-alias: add support barebox,bootsource
      misc: storage-by-alias: register as link to main cdev
      cdev: constify cdev_readlink argument
      cdev: follow links in cdev_find_child_by_gpt_typeuuid
      common: clarify global.of.kernel.add_machine_compatible
      commands: saveenv: remove outdated info about envfs directories
      commands: saveenv: mention where environment is saved to
      base: class: add convenience helpers for iteration
      mux: port Linux multiplexer framework
      drivers: port Linux gpio-mux driver
      ARM: stm32mp: drop all images with legacy STM32 header
      ARM: dts: i.MX8MP: drop now upstream imx8mp-nominal.dtsi
      ARM: i.MX8MP: skov: decrease VDD_SOC to 850mV
      ARM: i.MX8MP: skov: assert switch reset early
      ARM: i.MX8MP: skov: halt startup until power is good
      ARM: skov-imx8mp: print initial > on every boot
      ARM: i.MX8MP: skov: add new 7" g07017 variant support
      defaultenv: boot/bnet: print message when booting generic 2nd stage FIT image
      regulator: adapt warning message when resolving supply
      lib: random: implement Xorshift* RNG
      clock: always seed Xorshift* from clocksource on startup
      random: replace all rand/srand API with Xorshift
      random: replace get_random_bytes with get_noncrypto_bytes
      ARM: drop unused mmiocpy/mmioset symbols
      ARM: define position-independent __pi_memmove/memset/memcpy
      RISC-V: define position-independent __pi_memmove/memset/memcpy
      virtio: make more robust in face of misbehaving devices
      include: add support for NOTIFY_BAD
      clk: add compatibility for prepare/unprepare/is_prepared
      clk: mux: replace width member with mask as in Linux
      clk: mux: fix mask/width confusion in clk_hw_register_mux
      clk: gate: underscore-prefix barebox-specific parent member
      clk: gate: add bit_idx member as in Linux
      clk: composite: change mux/rate/gate members to clk_hw
      clk: move struct clk_composite definition to header
      of: address: implement dummy iounmap
      include: linux/iopoll.h: add optional PBL support
      mfd: syscon: make mfd/syscon.h header self-contained
      dma: make header self-contained
      stddev: make reads from /dev/null return 0 bytes
      driver: have dev_platform_ioremap_resource return error pointer
      bootm: fix error reporting around optee_verify_header_request_region
      treewide: replace strerror of errno with %m
      commands: memtester: fix erroneous use of errno
      treewide: fix wrong signed value passed to strerror
      treewide: replace strerror with %pe format specifier
      net: dhcp: mention that eth0 is the default
      clocksource: make available in PBL
      clocksource: ti-dm: make available in PBL
      restart: give poweroff_machine and restart_machine a flag parameter
      fip: add struct fip_image_desc::private_data
      fip: mark predefined toc_entries array const
      bootm: implement UIMAGE_IS_ADDRESS_VALID helper
      ARM: legacy: make architecture number unsigned
      ARM: introduce jump_to_linux helper
      ARM: add support for chainloading barebox inside FIP images
      ARM: stm32mp: retire non-FIP stm32mp_bbu_mmc_register_handler
      mci: move mci_setup_cmd definition into header
      mci: add common PBL helper for chainloading after BootROM initialization
      mci: pbl: add autodetection of BootROM-initialized standard capacity cards
      mci: omap_hsmmc: split out common code
      ARM: OMAP: add am33xx_hsmmc_start_image for PBL
      mci: omap_hsmmc: add xload implementation for PBL
      ARM: OMAP: beaglebone: add PBL SD xload support
      restart: give all restart_handler::restart callbacks a flags parameter
      poweroff: give all poweroff_handler::poweroff callbacks a flags parameter
      restart: make warm reboot a callback argument
      video: ramfb: fix frame buffer screen size
      firmware: qemu_fw_cfg: drop duplicate definitions
      firmware: qemu_fw_cfg: add support for seeking
      firmware: qemu_fw_cfg: rename from /dev/fw_cfg0 to /dev/fw_cfg
      Documentation: user: versioning: fix formatting
      Documentation: user: versioning: reduce indentation
      linux/iopoll: fix inverted condition in read_poll_timeout
      kbuild: Use -fzero-init-padding-bits=all
      fastboot: terminate request for non-file-backed partition properly
      Documentation: add migration guide for v2025.05.0
      PWM: core: fix deep probe for PWM backlight
      resource: replace wrong NULL check for dev_get_resource_by_name with IS_ERR
      common: reword CONFIG_PBL_OPTEE help text
      Documentation: security: add cross references with SECURITY.md
      clocksource: ti-dm: fix EPROBE_DEFER handling
      Documentation: migration-2025.05.0: document more changes
      ARM: i.MX: fix cpu_is_imx on CONFIG_ARM_MULTIARCH configurations
      ARM: omap: fix cpu_is_omap on CONFIG_ARM_MULTIARCH configurations
      of: partition: overwrite arm,arm-firmware-suite unless donttouch

Alexander Shiyan (23):
      ARM: at91: xload: Unify loader functions to use a single xload_instance structure
      ARM: at91: xload: Replace magic values with definitions
      ARM: at91: xload: Remove len argument from at91_fat_start_image()
      ARM: at91: xload: Use the variable name as described in include/mach/at91/xload.h
      ARM: at91: xload: Remove intermediate variable
      ARM: at91: xload: Rename the sama5d2 output image names
      ARM: at91: xload: Add QSPI boot support for SAMA5D2
      phy: rockchip: naneng-combphy: Updating the driver from the kernel repository
      reset: Fix name of exported symbol
      regulator: core: Implement regulator_is_enabled() call
      gpio: clk-gpio: Updating the driver from the kernel repository
      ARM: at91: Remove at91sama5d3_get_ddram_size() call
      ARM: at91: sama5d3_xplained: Fix lowlevel barebox_entry() call
      i2c: muxes: pca954x: Switch to gpiod api
      phy: rockchip: snps-pcie3: Updating the driver from the kernel repository
      spi: spi-mem: Partially update the driver
      spi: atmel-quadspi: Updating the driver from the kernel repository
      ARM: dts: rockchip: Remove extra file rk3588s.dtsi
      clk: Update clk_fractional_divider driver
      clk: rockchip: fix finding of maximum clock ID
      ARM: rockchip: rk3568: Remove hardcoded clock initialization
      ARM: rockchip: Remove support for RK3399
      clk: rockchip: Update RK3188 driver

David Dgien (1):
      tlsf: Add tracking of added tlsf memory pools

David Jander (1):
      arm: boards: protonic-stm32mp13: Add support for MECT1S board

Jules Maselbas (1):
      commands: hwclock: rework argument handling

Leonard Göhrs (1):
      ARM: stm32mp: add Linux Automation FairyTux 2

Michael Tretter (3):
      ARM: rockchip: dmc: fix DRAM for sizes 16+ GiB on rk3588
      mci: only count partitions from partition table
      mci: fix NULL pointer dereference

Oleksij Rempel (3):
      arm: boards: protonic-stm32mp13: Use unique board driver name
      arm: boards: protonic-stm32mp: fix stack corruption by passing correct ctx to stm32_bsec_optee_ta_close()
      arm: boards: protonic-stm32mp: free shift register GPIOs after use

Robin van der Gracht (3):
      ARM: boards: protonic-imx6: Add prt-usb as fallback preferred boot target
      ARM: boards: protonic-imx6: Re-introduce generic boot target board string
      ARM: boards: protonic-imx6: prtvt7: Use the input system for key detection

Rouven Czerwinski (2):
      ARM: stm32mp: add Linux Automation TAC board
      virt: select COMMON_CLK & COMMON_CLK_OF_PROVIDER

Sascha Hauer (30):
      dma: add function to check a buffer for proper DMA alignment
      mci: implement mci_set_blockcount()
      mci: export some functions for RPMB support
      mci: detect RPMB partitions
      mci: add RPMB support
      tee: optee: probe successfully even when no devices are found
      tee: optee: implement shared mem alloc/free RPC commands
      ARM: omap: remove unused file
      tee: optee: implement RPMB support
      tee: optee: implement AVB named persistent values support
      dts: update to v6.14
      dts: update to v6.15-rc1
      bootm: move ELF handling to bootm handlers
      bootm: create generic FIT image handler
      commands: add avb_pvalue command
      ARM: omap: remove unused file
      clk: rockchip: Add linked gate clock support
      Merge branch 'for-next/dts' into HEAD
      Merge branch 'for-next/at91'
      Merge branch 'for-next/boot'
      Merge branch 'for-next/ci'
      Merge branch 'for-next/dts'
      Merge branch 'for-next/fs'
      Merge branch 'for-next/misc'
      Merge branch 'for-next/misc-2'
      Merge branch 'for-next/rpmb'
      net: am65-cpsw-nuss: fix common enable counter
      ARM: k3: fix banks count in DRAM size detection
      ARM: K3: remove unused variable
      Release v2025.05.0

Sven Püschel (1):
      scripts/make_fit: move the dtbs to the start

Uwe Kleine-König (1):
      arm64: rockchip: Enable rockchip otp driver in defconfig



-- 
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 |



More information about the barebox mailing list