下面是U-Boot的幫助bootm命令的摘錄:bootm沒有設備樹BLOB
bootm [addr [arg ...]]
- boot application image stored in memory
passing arguments 'arg ...'; when booting a Linux kernel,
'arg' can be the address of an initrd image
When booting a Linux kernel which requires a flat device-tree
a third argument is required which is the address of the
device-tree blob. To boot that kernel without an initrd image,
use a '-' for the second argument. If you do not pass a third
a bd_info struct will be passed instead
,我可以看到在上面bootm [addr]
應該做工精細,arg
是可選的。
所以像bootm 0x1000000
應該工作。
我tftp把linux內核的uImage改爲0x1000000,然後想用上面的命令。
難道不可能嗎?
它工作正常,當我使用bootm 0x1000000 - 0x3000000
,其中第三個參數是dtb的地址。
但是當我嘗試不DTB啓動,它停在 「解壓縮內核映像」
儘管您的描述看起來足夠清晰,但實際的控制檯文字會更好(以防萬一您忽略了某些內容)。您還應該提供更多信息,例如內核版本和SoC。一些SoC依賴於來自U-Boot的數據來解壓其他的不是,例如[Freescale](http://stackoverflow.com/questions/18378563/how-do-i-find-arm-linux-entry-point - 當-IT-失敗到解壓/ 18392238#18392238)。儘管我見過這個問題的十多個實例通常與不正確的加載地址有關。 – sawdust