在2020.1版本之后,u-boot階段會執行boot.scr來加載后續的kernel和rootfs。但是在有些應用情況下,對u-boot加載過程需要一定的定制化修改。例如,不是在FSBL階段加載bit文件,而是在u-boot階段加載bit文件。對于這類的定制化應用,我們可以修改boot.scr來實現。
boot.scr是一個FIT類型的文件,但是可以用文本工具將其打開并查看其內容。如下圖:
通常,boot.scr是在petalinux工程中自動生成出來的。其相關原文件在petalinux 工程的/components/yocto/layers/meta-xilinx/meta-xilinx-core/recipes-bsp/u-boot/u-boot-zynq-scr路徑下。
在boot.scr文件中,你可以看到對于不同的boot mode都有相應的加載和啟動分支。
接下來,你就可以根據你的實際的應用需求對其進行修改。下面我會以zcu102 SD啟動模式為例,讓U-boot在加載kernel和rootfs之前,自動加載bit文件。
1. 首先,將原先/image/linux下生成的boot.scr復制一份,并命名為boot.mycmd。
2. 然后,用文本工具打開boot.mycmd。刪除一開始的亂碼部分,這部分是FIT類型文件的驗證頭信息,用文本工具打開的話,就會顯示成亂碼,所以要先刪除
3. 接下來,在SD卡的加載分支里添加相應的U-boot命令來實現bit文件的加載,并保存。
4. 執行如下mkimage命令來生成新的boot.scr文件
mkimage -c none -A arm -T script -d boot.mycmd boot.scr
5. 最后,將生成的boot.scr和BOOT.bin拷貝到SD卡中,放入zcu102上運行,其結果如下
6. 加載完成,且DONE正常亮起。
-
文件
+關注
關注
1文章
578瀏覽量
25215 -
u-boot
+關注
關注
0文章
122瀏覽量
38712 -
Boot
+關注
關注
0文章
153瀏覽量
36563 -
bit
+關注
關注
0文章
48瀏覽量
32366
發布評論請先 登錄
U-boot的基本介紹

Porting U-Boot to the Control
u-boot的Makefile分析
u-boot簡介
詳解U-Boot引導內核分析

【u-boot】在stm32h7開發板體驗u-boot

U-Boot架構淺析

評論