Загрузка ядра и Rootfs через tftp

Задача: загрузить ядро ​​и образ rootfs и выполнить в оперативную память без сохранения на spi flash

Я загрузил прошиваемый образ (zimage по адресу 0x200000) и прошиваемый rootfs (jffs2 по адресу 0x200000+смещение)

tftp zimage 0x200000 tftp jffs2 0x200000+offset bootm 0x200000 0x200000+offset

Это дает мне эту ошибку:

Root-NFS: No NFS server available, giving up.
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "ram0" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00        256 mtdblock0 (driver?)
1f01        256 mtdblock1 (driver?)
1f02       2048 mtdblock2 (driver?)
1f03      13824 mtdblock3 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

А иногда: Плохое магическое число

Любая помощь будет оценена


person Nayeem    schedule 25.04.2016    source источник
comment
Пишите сюда ваши bootargs и макросы bootcmd   -  person Liran Ben Haim    schedule 25.04.2016
comment
Я загрузил ... flashable rootfs (jffs2 ... -- образ JFFS2 нельзя использовать в ОЗУ, как если бы он был initrd или initramfs; доступ к нему должен осуществляться с устройства MTD. Ошибка Сообщение, которое вы опубликовали, Root-NFS: сервер NFS недоступен... не соответствует заявленной вами цели, т. е. вы, должно быть, настроили что-то другое.   -  person sawdust    schedule 26.04.2016
comment
bootargs: root=/dev/ram0 rootfstype=jffs2 rw console=ttyMCS mem=64M@0x0   -  person Nayeem    schedule 26.04.2016
comment
- опилки, поддержка NFS была включена во время сборки ядра, он выполняет поиск, а затем возвращается к устройству RAM0, все та же проблема: Bad Magic Number   -  person Nayeem    schedule 26.04.2016
comment
root=/dev/ram0 rootfstype=jffs2 -- Эти параметры ядра несовместимы. Как я уже писал, к JFFS2 нужно обращаться с устройства MTD. Согласно этот сайт , есть драйвер MTD, который можно использовать в качестве виртуального диска.   -  person sawdust    schedule 27.04.2016


Ответы (2)


@опилки, ты был прав. jffs2 нельзя использовать в оперативной памяти, как если бы это был initrd или initramfs.

Я успешно загрузил оба изображения в оперативную память и выполнил их на самой оперативной памяти на основе файловой системы EXT2.

Загрузчик: setenv bootargs root=/dev/ram0 console=ttyMCS mem=64M@0x0 init=/bin/sh

person Nayeem    schedule 09.05.2016

В соответствии с вашими загрузчиками, указанными в комментарии, используйте

root=/dev/ram0 rootfstype=jffs2 rw initrd=0x200000+offset,16M console=ttyMCS mem=64M@0x0

здесь XM - это размер initrd, если он 8 МБ, дайте 8M

Вы не указали смещение initrd в команде загрузки, потому что ядро ​​не может найти образ RAM-диска и выдает not syncing: VFS:. Просто добавьте initrd=0x200000+offset,16M, как указано выше.

person Samrat Das    schedule 26.04.2016