5

我设置了 Kamikaze 工具链(来自openwrt ),并为AMCC PPC405ex kilauea参考板编译了 Linux 2.6.30.x 内核。但是,由于某种原因,我在 uBoot 中做错了,因为我无法从 squashfs 映像运行内核。图像通过 tftp 加载并解压缩,但控制台输出未启动。

我没有更改 Linux 内核命令行,它看起来很好(console=ttyS0,115200 root=/dev/mtdblock)。我也有点疑惑uBoot中的fdt是什么?

我不完全确定这是否真的属于 stackoverflow,但话又说回来,这也不是一个真正的 superuser.com 问题(因为这与开发环境有关,所以它肯定与编程相关,即使不完全是编程问题)

4

1 回答 1

4

我自己能够解决这个问题,我应该使用,openwrt-boardname-squashfs.img但我必须使用openwrt-architecture-uImage仅包含内核的图像,从目录中获取root.squashfsopenwrt-boardname.dtbbuild_dir因为它们没有复制到bin/目录中。

之后,这些命令将正确调出电路板:

tftp 0xfc1e0000 openwrt-kilauea.dtb
tftp 0x400000 openwrt-ppc40x-uImage
tftp 0x200000 root.squashfs
setenv bootargs 'console=ttyS0,115200 root=/dev/mtdblock2 rw'
bootm 0x400000 - 0xfc1e0000

可能有一种更简单的方法,但我还没有弄清楚如何“重新分区”mtd,所以我不必最初将内核映像加载到user内存中的空间。

于 2010-01-29T09:50:21.980 回答