如何让 uBoot 与 squashfs 一起工作 / uBoot 中的 FDT 是什么?
我设置了 Kamikaze 工具链(来自 openwrt),并为 < a href="http://www.appliedmicro.com/MyAMCC/jsp/public/productDetail/product_detail.jsp?productID=PPC405EX" rel="nofollow noreferrer">AMCC PPC405ex kilauea 参考板。然而,由于某种原因,我在 uBoot 中做错了一些事情,因为我无法从 squashfs 映像运行内核。图像可以通过 tftp 正常加载并解压缩,但控制台输出无法启动。
我没有更改 Linux 内核命令行,它看起来很好 (console=ttyS0,115200 root=/dev/mtdblock
)。我也有点疑惑uBoot中的fdt是什么?
我不完全确定这是否真的属于 stackoverflow,但话又说回来,这也不是真正的 superuser.com 问题(而且因为这与开发环境有关,所以它肯定与编程相关,甚至虽然不完全是一个编程问题)
I set-up the Kamikaze toolchain (from openwrt), and compiled Linux 2.6.30.x kernel for an AMCC PPC405ex kilauea reference board. However, for some reason I am doing something wrong in uBoot, as I am not able to run the kernel from an squashfs image. The image loads fine over tftp and uncompresses, but the console output does not start.
I haven't changed the Linux kernel command line and it looks just fine (console=ttyS0,115200 root=/dev/mtdblock
). I am also a bit puzzled what is fdt in uBoot?
I am not entirely certain if this really belongs on stackoverflow, but then again this is not really a superuser.com question either (and because this has to do with a development environment it definitely is programming related, even though not exactly a programming question)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我自己能够解决这个问题,我不应该使用
openwrt-boardname-squashfs.img
,但我必须使用openwrt-architecture-uImage
映像,仅包含内核,从build_dir
中获取root.squashfs
和openwrt-boardname.dtb
,因为它们不是复制到bin/
目录中。之后,这些命令将正确启动主板:
可能有一种更简单的方法,但我还没有弄清楚如何“重新分区”mtd,这样我就不必首先将内核映像加载到用户内存中的空间。
I was able to solve this myself, I am not supposed to use the
openwrt-boardname-squashfs.img
but instaed I must use theopenwrt-architecture-uImage
image, containing just the kernel, take theroot.squashfs
andopenwrt-boardname.dtb
from thebuild_dir
as they are not copied in thebin/
directory.after that, these commands will bring up the board correctly:
there probably is an easier way, but I haven't figured out how to 'repartition' the mtd so I wouldn't have to initially load the kernel image to
user
space in the memory.