Как заставить uBoot работать с squashfs / Что такое FDT в uBoot? - PullRequest
5 голосов
/ 25 января 2010

Я установил набор инструментов Kamikaze (из openwrt ) и скомпилировал ядро ​​Linux 2.6.30.x для AMCC PPC405ex kilauea . Однако по какой-то причине я делаю что-то не так в uBoot, так как не могу запустить ядро ​​из образа squashfs. Изображение нормально загружается по tftp и распаковывается, но вывод на консоль не запускается.

Я не изменил командную строку ядра Linux, и она выглядит просто отлично (console=ttyS0,115200 root=/dev/mtdblock). Я также немного озадачен, что такое fdt в uBoot?

Я не совсем уверен, действительно ли это относится к stackoverflow, но опять же, на самом деле это тоже не вопрос superuser.com (и поскольку это связано со средой разработки, это определенно связано с программированием , хотя это не совсем вопрос программирования)

1 Ответ

4 голосов
/ 29 января 2010

Я смог решить это сам, я не должен использовать openwrt-boardname-squashfs.img, но на самом деле я должен использовать образ openwrt-architecture-uImage, содержащий только ядро, взять root.squashfs и openwrt-boardname.dtb из build_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 пространство в памяти.

...