Public bug reported:
piboot-try intermittently fails to validate/promote a newly staged
kernel/firmware update on Raspberry Pi 5 (Ubuntu 26.04, aarch64), with
two different failure signatures observed across two separate attempts
of the same update. Both times the system correctly and safely fell back
to the known-good boot assets (current/), so there is no data loss or
unbootable state — but the update never successfully promotes.
Environment
Hardware: Raspberry Pi 5
OS: Ubuntu 26.04 LTS (aarch64), installed via the official Raspberry Pi Ubuntu
image
Boot mechanism: piboot A/B tryboot scheme (/boot/firmware/current/,
/boot/firmware/new/, autoboot.txt with tryboot_a_b=1)
Update method: sudo apt update && sudo apt -y upgrade, followed by a manual
reboot
Filesystem: root on mmcblk0p2 (ext4), boot partition mmcblk0p1 (FAT32, label
system-boot)
Steps to reproduce
Run sudo apt update && sudo apt -y upgrade on a system with a kernel/firmware
update pending.
Reboot.
Bootloader stages the update into /boot/firmware/new/ and attempts a tryboot
test per the A/B scheme.
Expected behavior
The new boot assets are tested via tryboot, piboot-try-validate.service runs
successfully once the system reaches a working state, and the update is
promoted from new/ to current/.
Actual behavior
The tryboot test fails before validation can occur, and the system
automatically (and correctly) falls back to current/ on the next boot, marking
/boot/firmware/new/state as bad. This happened twice in a row, via sudo
piboot-try --reset-new + reboot, with two distinct failure causes:
Attempt 1 — local-fs.target dependency timeout
systemd[1]: dev-disk-by\x2dlabel-system\x2dboot.device: Job .../start failed
with result 'timeout'
systemd[1]: Dependency failed for local-fs.target - Local File Systems.
systemd[1]: Dependency failed for piboot-try-reboot.service
systemd[1]: piboot-try-reboot.service: Job piboot-try-reboot.service/start
failed with result 'dependency'
systemd[1]: Dependency failed for piboot-try-validate.service
systemd[1]: piboot-try-validate.service: Job piboot-try-validate.service/start
failed with result 'dependency'
systemd[1]: systemd-journal-flush.service: Failed with result 'timeout'
The boot partition device unit timed out waiting for mmcblk0p1 to become
available, which cascaded into local-fs.target failing. The partition
did become available a few seconds later (fsck and mount succeeded
shortly after), but local-fs.target remained marked failed for the rest
of the boot, which appears to have also blocked ssh.service and
docker.service/containerd.service from ever starting (no journal entries
for either unit that boot), even though the system otherwise reported
Startup finished.
Attempt 2 — D-Bus not available when piboot-try-reboot tried to trigger the
reboot
reboot[976]: Failed to connect to system scope bus via local transport: No such
file or directory
systemd[1]: piboot-try-reboot.service: Failed with result 'signal'
systemd-udevd[790]: Failed to remove file descriptor "config-serialization"
from the store, ignoring: Connection refused
This time the boot partition mounted fine, but piboot-try-reboot.service
(which needs to invoke a system reboot to enter tryboot mode) failed to
connect to the system D-Bus at the point it tried to do so.
Additional notes
sdhci-brcmstb 1001100000.mmc: error -EINVAL: invalid resource (null) appears in
dmesg on both failing and fully healthy boots, so it appears to be an
unrelated, benign message (likely tied to the onboard SDIO/WiFi controller,
mmc1) rather than the cause of either failure.
Given the two failures have different root causes (a slow device timeout vs. a
D-Bus availability race), this looks like a timing/ordering issue in the
piboot-try/flash-kernel boot-time tooling rather than a hardware fault — worth
checking the Requires=/After= ordering for piboot-try-reboot.service and
piboot-try-validate.service against local-fs.target and
dbus.service/dbus.socket.
Both times, the fallback-to-known-good behavior worked correctly and the system
remained fully usable afterward.
ProblemType: Bug
DistroRelease: Ubuntu 26.04
Package: flash-kernel (not installed)
ProcVersionSignature: Ubuntu 7.0.0-1014.14-raspi 7.0.6
Uname: Linux 7.0.0-1014-raspi aarch64
ApportVersion: 2.34.1-0ubuntu0.1
Architecture: arm64
CasperMD5CheckResult: unknown
CloudArchitecture: aarch64
CloudID: nocloud
CloudName: unknown
CloudPlatform: nocloud
CloudSubPlatform: config-disk (/dev/mmcblk0p1)
Date: Sun Aug 23 13:46:43 2026
ProcEnviron:
LANG=C.UTF-8
PATH=(custom, no user)
SHELL=/bin/bash
TERM=xterm-256color
XDG_RUNTIME_DIR=<set>
SourcePackage: flash-kernel
UpgradeStatus: Upgraded to resolute on 2026-05-22 (93 days ago)
** Affects: flash-kernel (Ubuntu)
Importance: Undecided
Status: New
** Tags: apport-bug arm64 resolute
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2164854
Title:
piboot-try keeps failing and failing back to the known good state
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/flash-kernel/+bug/2164854/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs