如何让uBoot使用squashfs /什么是uBoot中的FDT?

时间:2010-01-25 19:59:15

标签: command-line embedded-linux bootloader u-boot

我设置了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问题(因为这与开发环境有关,它绝对是编程相关的,即使不完全是一个编程问题)

1 个答案:

答案 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 空间。