In the 2021.1 release, booting the Linux kernel on Versal devices using a PetaLinux generated FIT image results in a 2MB misalignment warning as shown below.
In the example below, the 2021.1 version of (UG1144) (page 109-111) was followed and images were built for SD/eMMC EXT4 file system boot.
Versal> boot
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
2594 bytes read in 13 ms (194.3 KiB/s)
## Executing script at 20000000
Trying to load boot images from mmc0
9261632 bytes read in 692 ms (12.8 MiB/s)
## Loading kernel from FIT Image at 10000000 ...
Using 'conf-system-top.dtb' configuration
Trying 'kernel-1' kernel subimage
Description: Linux kernel
Type: Kernel Image
Compression: gzip compressed
Data Start: 0x100000f8
Data Size: 9230204 Bytes = 8.8 MiB
Architecture: AArch64
OS: Linux
Load Address: 0x00080000
Entry Point: 0x00080000
Hash algo: sha256
Hash value: dcea37bb6aaa0ff7c6051f96bbc9294d21172aeb37c1314a5a7e77ee3d512212
Verifying Hash Integrity ... sha256+ OK
## Loading fdt from FIT Image at 10000000 ...
Using 'conf-system-top.dtb' configuration
Trying 'fdt-system-top.dtb' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x108cd984
Data Size: 29521 Bytes = 28.8 KiB
Architecture: AArch64
Hash algo: sha256
Hash value: 7a6022fd0c947aba7e8d1708114927935c90080049de04e2ec8867549c88022c
Verifying Hash Integrity ... sha256+ OK
Booting using the fdt blob at 0x108cd984
Uncompressing Kernel Image
Loading Device Tree to 000000007dece000, end 000000007ded8350 ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[ 0.000000] Linux version 5.10.0-xilinx-v2021.1 (oe-user@oe-host) (aarch64-xilinx-linux-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.1) #1 SMP Fri Jun 4 15:57:16 UTC 2021
[ 0.000000] Machine model: Xilinx Versal vck190 Eval board revA (QSPI)
[ 0.000000] earlycon: pl11 at MMIO32 0x00000000ff000000 (options '115200n8')
[ 0.000000] printk: bootconsole [pl11] enabled
[ 0.000000] efi: UEFI not found.
[ 0.000000] [Firmware Bug]: Kernel image misaligned at boot, please fix your bootloader!
[ 0.000000] cma: Reserved 256 MiB at 0x000000006dc00000
This is a known issue in the 2021.1 PetaLinux tools for Versal projects.
Root Cause:
When you boot the Linux kernel FIT image generated by PetaLinux tools on Versal devices, these warnings are expected as there is a 2MB enforcement for aarch64 boot images in 5.10 kernel.
To work around this issue, follow the below steps:
1) Add the below variables to the petalinuxbsp.conf file using a text editor:
$ vim <plnx-proj-root>/project-spec/meta-user/conf/petalinuxbsp.conf
UBOOT_ENTRYPOINT = "0x200000"
UBOOT_LOADADDRESS = "0x200000"
2) Clean the u-boot sstate cache and rebuild the u-boot recipes:
$ petalinux-build -c u-boot -x cleansstate $ petalinux-build -c u-boot
Answer Number | 问答标题 | 问题版本 | 已解决问题的版本 |
---|---|---|---|
76526 | PetaLinux 2021.1 - Product Update Release Notes and Known Issues | N/A | N/A |
AR# 76712 | |
---|---|
日期 | 08/08/2021 |
状态 | Active |
Type | 已知问题 |
器件 | |
Tools | |
Boards & Kits |