不同步:未找到 init。对于 jffs2 文件系统

not syncing: No init found. for jffs2 filesystem

我正在开发内核为 2.6.33.7 的 mpc8309-twr 开发板, 当我使用 ramdisk 文件系统 (rootfs.ext2.gz.uboot) 创建我的 rootfs 映像时,我能够挂载我的文件系统并且 我的开发板能够成功启动。

But, when i am trying with jffs2 filesystem it is saying "no init found",here is the kernel log.

VFS: Mounted root (jffs2 filesystem) on device 31:1. Freeing unused kernel memory: 168k init Warning: unable to open an initial console. Kernel panic - not syncing: No init found. Try passing init= option to kernel. Call Trace: [c782df40] [c0008484] 0xc0008484 (unreliable) [c782df70] [c0025320] 0xc0025320 [c782dfc0] [c0003b78] 0xc0003b78 [c782dfd0] [c03a2238] 0xc03a2238 [c782dff0] [c0011994] 0xc0011994

但 init 存在于 /sbin/init 位置。任何人都可以帮助我吗?

Thanks in advance...............!

在使用闪存时,我们需要通过设备树 blob 手动向内核提供分区 table。由于 RAM 映像具有所有正确的内容,因此以正确的方式启动。
但是,当您尝试使用 NOR 闪存启动时,您的内核日志显示 RedBoot partition parsing not available,这意味着用于加载 rootfs 的偏移内核可能与 rootfs 所在的确切位置不同。由于哪个内核无法根据您的内核日志找到您的 initinitial console

因此添加或更改您在设备树结构文件中提供的分区的偏移量。
您可以参考this文档以在设备树文件中添加mtd支持。