首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Raspberry 3:使用U-Boot引导内核

Raspberry 3:使用U-Boot引导内核
EN

Stack Overflow用户
提问于 2016-11-09 23:25:15
回答 2查看 1.9K关注 0票数 3

我正在尝试使用Raspberry 3,并尝试使用U-Boot启动Linux内核。

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

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

它将启动并可访问(通过HDMI/USB和添加PI3-disable-bt-Overlay之后)。

但是现在我被卡住了;内核不能从U-Boot中启动。

我尝试了以下命令:

代码语言:javascript
复制
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的输出结果是:

代码语言:javascript
复制
[...]
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和内核似乎都可以工作,但U-Boot不能启动内核...

谢谢,VanDahlen

EN

回答 2

Stack Overflow用户

发布于 2020-05-17 16:49:13

我知道这是一个非常老的问题,但对我来说,在bootz中使用${fdt_addr}而不是${fdt_addr_r},而不是手动加载设备树文件,这对我很有帮助。所以..。

代码语言:javascript
复制
mmc dev 0
fatload mmc 0:1 ${kernel_addr_r} kernel7.img
setenv bootargs earlyprintk console=tty0 console=ttyAMA0 root=/dev/mmcblk0p2 rootfstype=ext2 rootwait noinitrd
bootz ${kernel_addr_r} - ${fdt_addr}

...should工作。

票数 1
EN

Stack Overflow用户

发布于 2016-11-11 00:25:13

你有没有试过在不同的地址加载内核?例如,在$loadaddr上而不是在$kernel_addr_r上。确保内核被加载到正确的地址。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40510479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档