linux-kerneloperating-systemfilesystemsramdiskjffs2

not syncing: No init found. for jffs2 filesystem


I am working on mpc8309-twr board with kernel 2.6.33.7, when i am creating my rootfs image with ramdisk file system (rootfs.ext2.gz.uboot) i am able to mount my file system and my board is able to boot successfully.

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

But init is present at /sbin/init location. can any one help me in this.

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

Solution

  • While working with flash memories, we need to provide partition table to kernel manually through device tree blob. As RAM image have everything proper so booting in proper manner.
    But when you try to boot with your NOR flash your kernel log says RedBoot partition parsing not available, which means the offset kernel using for loading the rootfs might not be same as exact where rootfs is present. Due to which kernel is unable to find your init as well as initial console as per your kernel log.

    So add or change the offset of the partitions you are providing in the device tree structure file.
    You can refer to this documentation for reference for adding mtd support in device tree file.