我有一個運行Yocto(Jethro)的自定義板,並且想要運行單個u-boot命令,preboot。顯然,打破空間引導序列並手動運行它的作品。我如何讓它自動運行?更具體地說,默認情況下,啓動命令序列在哪裏?在啓動時運行u-boot命令
編輯:另外,我知道我可以在運行時編輯環境。但是,我正在嘗試將此更改構建到映像中,以便我可以分發它。
我有一個運行Yocto(Jethro)的自定義板,並且想要運行單個u-boot命令,preboot。顯然,打破空間引導序列並手動運行它的作品。我如何讓它自動運行?更具體地說,默認情況下,啓動命令序列在哪裏?在啓動時運行u-boot命令
編輯:另外,我知道我可以在運行時編輯環境。但是,我正在嘗試將此更改構建到映像中,以便我可以分發它。
一般的答案是,bootcmd是默認運行的,如果存在持久性環境,您可以更改命令和'saveenv'以保留它。
當你在uboot環境中。輸入printenv
,它將列出uboot使用的環境變量。
有一個變量名bootcmd
。目前,我的包含一堆if else命令。同樣,在那裏添加你喜歡的功能來啓動。
並在它完成並測試後。使用saveenv
來存儲編輯
這是一個用於uboot的syntax。
編輯:
的U-Boot允許存儲在純文本文件的命令或命令序列。然後使用
mkimage
工具,您可以將該文件轉換爲可以使用U-Boot的autoscr
命令執行的腳本映像。 U-boot Scripting Capabilities
通常情況下,你的U-Boot的配方將建立的U-Boot的一臺機器,在這種情況下,我通常只是打補丁編譯,默認情況下,U-Boot的環境做正確的事。這是通過
SRC_URI_machine += "file://mydefenv.patch"
或者(甚至更好)使用你自己的git樹。這也會帶來額外的好處,即即使環境完全損壞,系統也可能啓動並提供有用的信息。
另一種可能是做像查爾斯在另一個答案評論建議,離線創造環境,並有U-Boot的加載它,請參閱denx.de/wiki/view/DULG/UBootScripts
第三種可能,那我也有時用,是離線構建環境(可能使用與上述鏈接相同或類似的機制),並且在正常的閃存編程過程中閃存環境閃爍。雖然我大部分時間都是在AT91上完成這個工作,但是使用類似於at91 Sam-Ba TCL script的tcl腳本
無論您選擇哪種方法,U-Boot中的bootcmd
變量都應該包含引導腳本。
是的,這工作,但那只是那個磁盤。我如何自動將其構建到圖像中? –
這就是你需要的http://www.denx.de/wiki/view/DULG/UBootScripts –