[PATCHv2 0/5] k3-am62-pocketbeagle2: add board and variant support

Marko Mäkelä marko.makela at iki.fi
Thu Jun 25 20:52:59 CEST 2026


Wed, Jun 24, 2026 at 08:23:37PM +0300, Marko Mäkelä wrote:
>I successfully booted this together with a version of the software 
>ECDSA patch, but did not try to load a signed FIT image yet.

Is Linux flexible about the kernel and FDT load addresses, or is there a 
recommendation that I should follow? I see that earlier when I tested 
CONFIG_FIT_SIGNATURE based boot on a Phytec phyBOARD Lyra, I had used 
0x81000000 and 0x83000000, respectively. I didn't test those addresses 
on the PocketBeagle 2 yet.

My initial experiment failed, because my image had specified the entry 
and load addresses 0x82000000 for the kernel, which is the same as the 
$loadaddr. It is thinkable that zlib inflate() returns -3 (Z_DATA_ERROR) 
because it is simply corrupting its input (data start: 0x820000c4) when 
decompressing it to 0x82000000 onwards.

Here is some output from a failing run:
=> load mmc 1:1 $loadaddr fitImage
15014068 bytes read in 180 ms (79.5 MiB/s)
=> bootm
…
Working FDT set to 88000000
    Uncompressing Kernel Image to 82000000
Error: inflate() returned -3
gzip compressed: uncompress error -3
Must RESET board to recover

Below is the start of a succesful run when I invoke the image from a 
non-overlapping address:

=> load mmc 1:1 0x89000000 fitImage
15014068 bytes read in 179 ms (80 MiB/s)
=> setenv bootargs "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02860000 root=/dev/mmcblk1p3 ro rootfstype=ext4 fsck.repair=yes resume=/dev/mmcblk1p2 rootwait net.ifnames=0"
=> bootm 0x89000000
…
    Verifying Hash Integrity ... sha256+ OK
    Loading fdt from 0x89e430d4 to 0x88000000
    Booting using the fdt blob at 0x88000000
Working FDT set to 88000000
    Uncompressing Kernel Image to 82000000
    Loading Device Tree to 00000000996b2000, end 00000000996c2d82 ... OK
Working FDT set to 996b2000

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 7.0.0 …

The kernel was configured as follows:

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig

It seemed to boot well into the user space of
https://www.beagleboard.org/distros/pocketbeagle-2-debian-13-5-2026-05-19-minimal-v6-12-x-ti

where I had simply replaced the bootloader files and added the signed 
fitImage to the root directory of the boot partition.

With best regards,

	Marko


More information about the U-Boot mailing list