Experimental / preliminary support for Yocto 6.0 "wrynose"

Howdy!

The Yocto Project’s upcoming 6.0 LTS release wrynose, is taking shape, and the first round of porting work has landed. We are happy to announce experimental support for wrynose in meta-mender and meta-mender-community! :partying_face:

Quality level

Right up front: this is experimental, not stable. The changes live on master-next of meta-mender and on the new wrynose branch of meta-mender-community. This is the development tier, where breakage is expected. Build testing has succeeded for qemux86-64, Raspberry Pi 4 and Raspberry Pi 5, and the bootloader validation suite passes on physical RPi4 and RPi5 devices in our hardware testing rig. wrynose itself is also still in pre-release on the upstream side, so things will move. Please take it for a spin and report back, but do not put this anywhere near production.

meta-mender

The most of the porting work in meta-mender#2436: LAYERSERIES_COMPAT updated, U-Boot bumped to 2026.01, WORKDIRUNPACKDIR transition applied across recipes and bbappends, switch to the full ESP GUID for newer sfdisk, and destsuffix added to the Go recipes for the new BB_GIT_DEFAULT_DESTSUFFIX default.

One footgun worth calling out: U-Boot 2026.01 introduces an empty-string CONFIG_BOOTCOUNT_ALTBOOTCMD default that would silently disable Mender’s rollback mechanism. If it bites you it really looks strange: everything works, until you want to boot the device into a rollback. If weird things happen there, make sure to double check the u-boot environment`.

meta-mender-community

Same stuff applies in meta-mender-community#503, now living on the new wrynose branch: Raspberry Pi 4 and Raspberry Pi 5 ported and validated on hardware, plus meta-mender-validation. Other board layers (NXP, Rockchip, Tegra, Variscite, RISC-V, BeagleBone) are intentionally not carried over yet — they will return as porting work happens. Contributions very welcome!

Thanks

A big thank you to @leon-anavi for kicking off this work and contributing the bulk of the initial wrynose patches across both repositories, with sponsorship by GOVCERT.LU. Much appreciated!

Try it out, report back

If you build wrynose on your board, please open issues for what breaks, or just reply here on the Hub. Reports on boards beyond the Raspberry Pi family are particularly useful: that is where the community lives!

Greetz,
Josef

Quick and possibly naive question: if I ship with scarthgap’s U-Boot (well, I am actually using meta-lts-mixins’), will I be able to upgrade to a wrynose image in the field (given U-Boot partition is not upgraded)? Trying to determine whether to upgrade from scarthgap now before we ship.

Hi @lukehatpadl,

The general answer: “Sticking with a u-boot version across major release upgrades is no problem”.

The engineering answer: “It depends.”

Let me elaborate. :slight_smile:

So generally, there should not be any hard dependencies. The API which the Mender Client integration expects towards u-boot is very minimal, basically setting the upgrade_available and bootcount flags as well as the active/inactive partition. Looking at Mender itself, I’m not aware of any changes here between scarthgap and wrynose. However there sometimes are a bit more hidden things, like u-boot passing specific kernel arguments, loading a hardcoded device tree from the boot partition instead of the root partition, things like these. Those do form a hidden API contract between u-boot and the Linux distribution, and might or might not work flawlessly. Hence, you’d really have to look at the boot flow of your very specific project.

One thing to note additionally: if you’re sticking with the old u-boot, but do also provision new devices with freshly built images and therefore a newer u-boot, you end up with two variants in the field. Again not a problem per se, but something to be aware of.

Greetz,
Josef

1 Like

Thank you for your detailed reply, all makes sense!

1 Like

Followup: after porting our layer, and meta-swift to wrynose I was able to Mender update (with the scarthgap U-Boot) to it.

I did need this patch when trying on a clean system (U-Boot 2026.01), but that may have been necessary pre-wrynose.

1 Like