Dear Maintainer,
as of Trixie, booting BeagleBone Black with a combination of
flash-kernel and u-boot-omap (probably the most common configuration)
is not possible any more because the boot script generated by
flash-kernel cannot be parsed by U-Boot:
=== Begin ===
U-Boot SPL 2025.01-3 (Apr 08 2025 - 23:07:41 +0000)
Trying to boot from MMC1
U-Boot 2025.01-3 (Apr 08 2025 - 23:07:41 +0000)
CPU : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM: 512 MiB
Core: 161 devices, 18 uclasses, devicetree: separate
WDT: Started wdt@44e35000 with servicing every 1000ms (60s timeout)
NAND: 0 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1...
<ethaddr> not set. Validating first E-fuse MAC
Net: eth2: ethernet@4a100000using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
, eth3: usb_ether
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:3...
Found U-Boot script /boot/boot.scr
1625 bytes read in 2 ms (793 KiB/s)
## Executing script at 80000000
Wrong image format for "source" command
=== End ===
(It continues trying to boot from other devices, including PXE/TFTP
network boot, and eventually gives up).
This is most likely because support for the "legacy" (i.e. non-FIT)
U-Boot image format is missing for BeagleBone Black (and for the
evaluation board) on Trixie:
=== Begin ===
$ zgrep CONFIG_LEGACY_IMAGE_FORMAT /usr/share/doc/u-boot-omap/configs/config.*.gz
/usr/share/doc/u-boot-omap/configs/config.am335x_boneblack.gz:# CONFIG_LEGACY_IMAGE_FORMAT is not set
/usr/share/doc/u-boot-omap/configs/config.am335x_evm.gz:# CONFIG_LEGACY_IMAGE_FORMAT is not set
/usr/share/doc/u-boot-omap/configs/config.am57xx_evm.gz:CONFIG_LEGACY_IMAGE_FORMAT=y
/usr/share/doc/u-boot-omap/configs/config.dra7xx_evm.gz:CONFIG_LEGACY_IMAGE_FORMAT=y
/usr/share/doc/u-boot-omap/configs/config.igep00x0.gz:CONFIG_LEGACY_IMAGE_FORMAT=y
=== End ===
For comparison, on Bookworm it was still enabled (for all boards):
=== Begin ===
/usr/share/doc/u-boot-omap/configs/config.am335x_boneblack.gz:CONFIG_LEGACY_IMAGE_FORMAT=y
/usr/share/doc/u-boot-omap/configs/config.am335x_evm.gz:CONFIG_LEGACY_IMAGE_FORMAT=y
/usr/share/doc/u-boot-omap/configs/config.am57xx_evm.gz:CONFIG_LEGACY_IMAGE_FORMAT=y
/usr/share/doc/u-boot-omap/configs/config.dra7xx_evm.gz:CONFIG_LEGACY_IMAGE_FORMAT=y
/usr/share/doc/u-boot-omap/configs/config.igep00x0.gz:CONFIG_LEGACY_IMAGE_FORMAT=y
/usr/share/doc/u-boot-omap/configs/config.nokia_rx51.gz:CONFIG_LEGACY_IMAGE_FORMAT=y
/usr/share/doc/u-boot-omap/configs/config.omap3_beagle.gz:CONFIG_LEGACY_IMAGE_FORMAT=y
/usr/share/doc/u-boot-omap/configs/config.omap4_panda.gz:CONFIG_LEGACY_IMAGE_FORMAT=y
=== End ===
It was probably disabled accidentally upstream as part of rolling
secure boot support (that previously was a separate config) into the
generic am335x_evm config (commit
d780965927d4b176857895b5d64fae85ccd04eb8 "Drop the special
am335x_boneblack_vboot target."). CONFIG_LEGACY_IMAGE_FORMAT is
enabled by default unless CONFIG_FIT_SIGNATURE is enabled.
Sascha
[Removed automatically generated system information as it applied to
my desktop, not the affected system]