2016-11-09 31 views
2

我正在玩Raspberry 3并尝试使用U-Boot引导Linux内核。Raspberry 3:使用U-Boot引导内核

我已经构建了Linux内核(来自github.com/raspberrypi)和Busbox-Userland。 当直接启动(这意味着没有U-Boot)时,这个内核启动并工作得很好。

现在我已经构建了U-Boot(Mainline,denx.de/u-boot.git),它似乎也起作用。

它启动并可以通过HDMI/USB和[在添加pi3-disable-bt-Overlay后)访问。

但现在我卡住了;内核不会从U-Boot内部启动。

我尝试下面的命令:

setenv fdtfile bcm2710-rpi-3-b.dtb 

mmc dev 0 
fatload mmc 0:1 ${kernel_addr_r} kernel7.img 
fatload mmc 0:1 ${fdt_addr_r} ${fdtfile} 
setenv bootargs earlyprintk console=tty0 console=ttyAMA0 root=/dev/mmcblk0p2 rootfstype=ext2 rootwait noinitrd 
bootz ${kernel_addr_r} - ${fdt_addr_r} 

的U-Boot的输出是:

[...] 
reading kernel7.img 
[...] 
Kernel image @ 0x1000000 [ 0x000000 - 0x40e630 ] 
## Flattened Device Tree blob at 0x000100 
    Booting using fdt blob at 0x000100 
    Using Device Tree in place at 0000100, end 00006b1a 

Starting kernel... 

然后将显示器变为黑色,并显示“无信号”,也串行控制台没有按” t显示更多信息。

我玩过提供给内核的bootargs,但没有找到工作场景。

有没有人有想法?

正如我所说的,无论是U-Boot的和内核似乎工作,但U-Boot的不能引导内核...

感谢, VanDahlen

+0

内核解压缩可能失败或内核执行可能中止(即dtb的加载地址可疑)。内核启动时的控制台输出是什么*“直接”*? IOW是非压缩的详细信息,即有正常输出,例如“解压Linux ...完成,引导内核”。内核实际开始执行之前? – sawdust

回答

0

你试过加载内核在不同的地址?即在$ loadaddr而不是$ kernel_addr_r。确保内核正在被加载到正确的地址。