我正在使用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内部开始。
我尝试了以下命令:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<article id="post-60" class="post-60 page type-page status-publish hentry">
<header class="entry-header">
<h1 class="entry-title">Pagine Critiche</h1>
</header>
<!-- .entry-header -->
<div class="entry-content">
<p><strong>TITLE 1.1</strong>
</p>
<p><strong>TITLE 1.2</strong>
</p>
<p><em>Writer writes:</em>
</p>
<p>Article #1</p>
<p> </p>
<p><strong>TITLE 2.1</strong>
</p>
<p><strong>TITLE 2.2</strong>
</p>
<p><em>Writer writes:</em>
</p>
<p>Article #2.1</p>
<p>Article #2.2</p>
<p>Article #2.3</p>
</div>
</article>
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}
然后显示器变黑并显示&#34;没有信号&#34;,串口控制台也没有显示更多信息。
我已经使用了提供给内核的bootargs,但我没有找到工作方案。
有人有想法吗?
正如我所说,U-Boot和内核似乎都能正常工作,但是U-Boot无法启动内核......
谢谢, VanDahlen
答案 0 :(得分:1)
我知道这是一个非常老的问题,但是对我来说,它有助于不手动加载设备树文件并在bootz中使用$ {fdt_addr}而不是$ {fdt_addr_r}。 所以...
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}
...应该工作。
答案 1 :(得分:0)
您是否尝试在不同的地址加载内核?即在$ loadaddr而不是$ kernel_addr_r。确保内核在正确的地址加载。