下面是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