新版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一致。
審核編輯:湯梓紅
-
FlaSh
+關注
關注
10文章
1642瀏覽量
148662 -
賽靈思
+關注
關注
32文章
1794瀏覽量
131505 -
Linux
+關注
關注
87文章
11345瀏覽量
210385
原文標題:開發者分享|如何配置Petalinux工程來從Flash啟動Linux Kernel
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
【Artix-7 50T FPGA試用體驗】基于官方BSP的PetaLinux工程創建
無法打包組件linux / rootfs
【MYD-CZU3EG開發板試用體驗】05-基于CZU3EG的petalinux使用方法
構建petalinux時失敗,無法構建linux的原因是什么?
如何在petalinux上運行精靈?
【創龍TLZ7x-EasyEVM評估板試用連載】+基于petalinux的Ubuntu移植
Zynq Petalinux編譯用戶自定義系統
測試Petalinux BSP鏡像參考例子
Petalinux BSP安裝與構建過程
petalinux(二)開啟petalinux內核調試模式
![<b class='flag-5'>petalinux</b>(二)開啟<b class='flag-5'>petalinux</b>內核調試模式](https://file1.elecfans.com//web2/M00/A6/EC/wKgZomUMQUmAK6tYAAAN48CaD00314.png)
U-boot傳遞RAM和Linux kernel讀取RAM參數的解析
![U-boot傳遞RAM和<b class='flag-5'>Linux</b> <b class='flag-5'>kernel</b>讀取RAM參數的解析](https://file.elecfans.com/web1/M00/45/D1/pIYBAFp49vyANgCIAAEp7qYWC2E525.png)
Petalinux工程中設備樹的介紹
![<b class='flag-5'>Petalinux</b><b class='flag-5'>工程</b>中設備樹的介紹](https://file.elecfans.com/web1/M00/DF/5D/pIYBAGAwyoCAEXabAABRo0NBAyg153.png)
如何在Petalinux創建Linux內核模塊?
在Linux/U-Boot里為QSPI Flash使用UBIFS
Linux配置kernel使用ramdisk文件系統
![<b class='flag-5'>Linux</b><b class='flag-5'>配置</b><b class='flag-5'>kernel</b>使用ramdisk文件系統](https://file1.elecfans.com/web2/M00/94/1A/wKgZomTjEryAP_gtAAO76IZpZBQ916.jpg)
評論