我设置了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问题(因为这与开发环境有关,它绝对是编程相关的,即使不完全是一个编程问题)
答案 0 :(得分:4)
我能够自己解决这个问题,我不应该使用openwrt-boardname-squashfs.img
但是我需要使用openwrt-architecture-uImage
图像,只包含内核,来自root.squashfs
的{{1}}和openwrt-boardname.dtb
,因为它们未复制到build_dir
目录中。
之后,这些命令将正确显示电路板:
bin/
可能有一种更简单的方法,但我还没弄明白如何“重新分区”mtd,所以我不必将内核映像最初加载到内存中的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
空间。