【发布时间】:2017-03-23 11:17:31
【问题描述】:
我正在使用 Raspberry 3 并尝试使用 U-Boot 启动 Linux 内核。
我已经构建了一个 Linux 内核(来自 github.com/raspberrypi)和 Busbox-Userland。 此内核在“直接”启动时(即没有 U-Boot)启动并正常工作。
现在我已经构建了 U-Boot(主线,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...
然后显示器变黑并显示“无信号”,串行控制台也没有显示更多信息。
我尝试过提供给内核的引导参数,但没有找到可行的方案。
有人有想法吗?
正如我所说,U-Boot 和 Kernel 似乎都可以工作,但 U-Boot 无法启动 Kernel...
谢谢, 范达伦
【问题讨论】:
-
内核解压可能失败或内核执行可能中止(即您的 dtb 加载地址看起来可疑)。当这个内核“直接”启动时,控制台输出是什么? IOW 是解压缩详细信息,即是否正常输出诸如“Uncompressing Linux... done, booting the kernel”之类的输出。在内核真正开始执行之前?
标签: linux-kernel raspberry-pi3 u-boot