Re: [Yaffs] YAFFS Kernel Panic - No init found.

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Charles Manning
Date:  
To: yaffs
Subject: Re: [Yaffs] YAFFS Kernel Panic - No init found.
On Saturday 17 April 2010 07:33:46 Tom Knezevich wrote:
> I see my problem has been experienced by others...? I'm in a little of a
> bind and need some guidance. I'm using a 2.6.22 Linux Kernel w/Yaffs2
> enabled and have some issues on post NAND burning during Kernel Boot. On a
> particular NANDs with bad blocks, the Kernel trys to execute the Init stage
> and fails. The kernel panic trail is :
>
> yaffs: dev is 32505858 name is "mtdblock2"
> yaffs: passed flags ""
> yaffs: Attempting MTD mount on 31.2, "mtdblock2"
> [yaffs]: Version Set: 2
> [yaffs]: MTD Write Size: 2048
> [yaffs]: Version Set: 2
> block 310 is bad
> block 458 is bad
> VFS: Mounted root (yaffs2 filesystem).
> Freeing init memory: 92K
> Kernel panic - not syncing: No init found. Try passing init= option to
> kernel.
>
> The failure is due to the Kernel unable to execute the init files for the
> init/rootfs stage.


Did you load the files into yaffs? If so, how?


> I suspect there's some issue with the bad block
> locations mapping to these file locations on the NAND? I know the Kernel
> manages bad blocks using the BBT in the MTD Driver stack, so not sure why
> this would fail if the MTD Driver checks for bad blocks prior to reading
> from NAND? FYI - Our NAND Burner uses the "skip over bad blocks" method,
> and DOES NOT erase bad blocks so the Kernel can scan and build the BBT
> during MTD initialization.


Bad blocks should not be a problem.

It is likely that the flash spare (oob) area has been programmed incorrectly.

>
> Up until now, I've been using the same YAFFS2 Dump image fie when burning
> to our identical NANDs (SamSung 128MB/1Gb). Guess you can reuse the same
> YAFFS2 Dump Image whenever you burn to a different yet identical NAND
> (although I've had good success until the one that's now causing me
> problems). Am I supposed to create a new YAFFS2 Dump Image for every NAND
> that I burn??


There are some subtle issues with dumping and restoring. Due to bad block
placement being different between flash devices you cannot move a dump from
one flash to another if it includes a checkpoint.

If you do the following then you should get a portable dump.

#mount -o"no-checkpoint-write" /dev/mtdblock0 /y
#make some modifications to /y
#unmount /y

Now dump that, excluding the bad blocks.

-- Charles