如何配置Petalinux工程来从Flash启动Linux Kernel

本文转载自: XILINX开发者社区微信公众号

作者:赛灵思工程师 Davis Zhang

新版petalinux生成的u-boot是通过boot.scr来加载linux kernel的。如果我们用petalinux工程默认配置和下面命令生成boot image并从flash启动,会出现下面的错误:

petalinux-package --boot --u-boot --kernel

device 0 offset 0xf40000, size 0x6400000
SF: 104857600 bytes @ 0xf40000 Read: OK
Wrong Image Format for bootm command
ERROR: can't get kernel image!
Booting using Fit image failed

在2021.1和2021.2的boot.scr中,linux fit image的offset是通过下面的配置来设置的:

petalinux-config → u-boot Configuration → u-boot script configuration(qspi fit image offset默认0xF40000)

但是petalinux-package命令生成的BIF文件里,fit image的offset采用的是“petalinux-config->Subsystem AUTO Hardware Settings->Flash Settings”里第二个partition(默认名字为kernel)的offset来配置的。所以就会出现boot.scr读取到错误数据的问题。解决办法就是保持这两个配置里的offset一致。

最新文章

最新文章