内核和Rootfs通过tftp启动

时间:2016-04-25 09:48:30

标签: linux linux-kernel filesystems u-boot tftp

任务:加载内核和rootfs映像并执行到ram而不存储到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)

有时: 恶魔号码

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

@sawdust,你是对的。 jffs2不能在RAM中使用,就像它是initrd或initramfs一样。

我成功地将两个图像加载到ram上并根据EXT2文件系统执行到ram本身。

Bootargs:setenv bootargs root=/dev/ram0 console=ttyMCS mem=64M@0x0 init=/bin/sh

答案 1 :(得分:0)

根据评论使用中提供的bootargs

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

这里XM是initrd的大小,如果是8 MB则给出8M

您没有在boot命令中提供initrd的偏移量,因为该内核无法找到ramdisk图像并提供not syncing: VFS:。只需按上述方式添加initrd=0x200000+offset,16M