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

描述

 

 

本文作者:赛灵思工程师 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一致。

  审核编辑:汤梓红


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分