我有一個工作u-boot閃動的板子。現在我想爲bootloader添加一些功能(用於初始化硬件的某些部分),但是如果我犯了一些錯誤,開發過程可能會讓開發板變磚。 是否可以做如下提到的多階段啓動: 1)啓動u-boot 2)u-boot會加載我的二進制文件,它增加了初始化硬件的功能。 3)我的二進制文件會加載並啓動linux內核。多階段啓動
如果有可能,一些指針將不勝感激。謝謝。
我有一個工作u-boot閃動的板子。現在我想爲bootloader添加一些功能(用於初始化硬件的某些部分),但是如果我犯了一些錯誤,開發過程可能會讓開發板變磚。 是否可以做如下提到的多階段啓動: 1)啓動u-boot 2)u-boot會加載我的二進制文件,它增加了初始化硬件的功能。 3)我的二進制文件會加載並啓動linux內核。多階段啓動
如果有可能,一些指針將不勝感激。謝謝。
是的。多級引導通常用於ARM SoC。
以TI OMAP設備爲例,使用兩個boot-loader實例。第一種是在沒有任何預期的情況下運行SDRAM初始化,並被複制到 並從48kB的嵌入式SRAM中執行。除了一些基本的硬件初始化(例如,SDRAM,爲某些功能單元啓用電源,啓用時鐘)之外,除了第二階段引導加載程序之外,它並沒有太多的工作。即使這是一個緊身衣。
u-Boot(以及Barebox,也可能是其他引導加載程序)源代碼樹都有構建選項來構建此設置,我相信您可以顛覆它。
修改現有的引導裝載程序可能會更好。我有很好的使用Barebox的經驗。
對於OMAP,第一個引導加載程序通常被稱爲MLO
- 這可能有助於查找資源。
工作太多!您已經創建了一個XY問題。使用'go'命令加載「子程序」可能更簡單,並繼續使用U-Boot加載內核。 http://stackoverflow.com/questions/15340089/how-to-run-custom-kernel-on-beaglebone/15375308#15375308最終你應該將這個新的板初始化代碼合併到U-Boot中。 – sawdust 2013-04-09 00:40:21
謝謝!我想我需要使用「去」命令。 – xpankaj 2013-04-09 04:14:34
您可能會將U-Boot'go'命令用於下一級引導加載程序或子程序。 – sawdust 2013-04-09 19:23:52