v2025.05.0
Ahmad Fatoum
a.fatoum at pengutronix.de
Wed May 21 05:02:46 PDT 2025
On 21.05.25 10:25, Sascha Hauer wrote:
> 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.
\o/
One thing of note that I'd like to add is that we have a migration guide
now: https://barebox.org/doc/latest/migration-guides/migration-2025.05.0.html
I intend to maintain this for future releases as well.
Cheers,
Ahmad
>
> 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