Re: [Yaffs] mkyaffs2image generate wrong image Failed to exe…

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: BI Mingliang
Date:  
To: Charles Manning
CC: yaffs@lists.aleph1.co.uk
Subject: Re: [Yaffs] mkyaffs2image generate wrong image Failed to execute /linuxrc. Attempting defaults...
Hello Charles,
I just use the new released mkyaffs2image to generate the image. But it still didn’t work. During startup, the following information displayed ...
yaffs: dev is 32505858 name is "mtdblock2" rw
yaffs: passed flags ""
VFS: Mounted root (yaffs2 filesystem) on device 31:2.
Freeing init memory: 136K
Failed to execute /linuxrc.  Attempting defaults...
Kernel panic - not syncing: No init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.

The NAND flash model is K9F1G08, which has the default configuration in mkyaffs2image.c(2048,64 and 64), attached its full datasheet for your reference. Perhaps we will see the "NAND LAYOUT" configuration in kernel make menuconfig, such as chunkSize, spareSize and pagesPerBlock.
Kernel 3.2.13 Configuration, and I also disabled the hardware and software ECC in linux driver: drivers/mtd/nand/s3c2410.c
Like:
if (hardware_ecc)
{

      case 2410:

      case 2440:
…

}

else

{
      //chip->ecc.mode = NAND_ECC_SOFT;
      chip->ecc.mode = NAND_ECC_NONE;
}
Best Regards,
Bi Mingliang (EXT:2783-7314) 

-----Original Message-----
From: BI Mingliang 
Sent: 2012年3月26日 12:32
To: 'Charles Manning'
Cc: ''
Subject: RE: [Yaffs] mkyaffs2image generate wrong image Failed to execute /linuxrc. Attempting defaults...

Hello Charles,

Your clarification is an important clue for me.
I will try it with the latest making tool.
Thank you very much:)

Best Regards,
Bi Mingliang (EXT:2783-7314) 


-----Original Message-----
From: Charles Manning [mailto:manningc2@actrix.gen.nz] 
Sent: 2012年3月26日 11:58
To: 
Cc: BI Mingliang
Subject: Re: [Yaffs] mkyaffs2image generate wrong image Failed to execute /linuxrc. Attempting defaults...

On Saturday 24 March 2012 21:37:23 BI Mingliang wrote:

> Hello All,
>
> It's really disappointing that we can't get a quick response in yaffs mail
> group. This issue blocked me several weeks and we can't find any update in
> yaffs repository. What's more, many developers think there is something
> wrong in the mkyaffs2image. Usually, during linux booting, we get the
> following warning which is related with this tool.


The mkyaffs2image tool does not generate useful images for all flash drivers
mainly because of different OOB layouts.

Thus, you will need to take the mkyaffs2image code and fiddle with it to get
the layout you need.

I am in the process of redoing the tools to try to make this easier to use,
but unfortunately I have not had much time to work on that recently.


>
> For example:
>
> s3c-rtc s3c2410-rtc: setting system clock to 2000-01-01 02:27:02 UTC
> (946693622) yaffs: dev is 32505858 name is "mtdblock2" rw
> yaffs: passed flags ""
> VFS: Mounted root (yaffs2 filesystem) on device 31:2.
> Freeing init memory: 136K
> Failed to execute /linuxrc.  Attempting defaults...
> Kernel panic - not syncing: No init found.  Try passing init= option to
> kernel. See Linux
>
> Documentation/init.txt for guidance.
> [<c0019960>] (unwind_backtrace+0x0/0xf0) from [<c03344e8>]
> (panic+0x58/0x18c) [<c03344e8>] (panic+0x58/0x18c) from [<c00085c4>]
> (init_post+0x7c/0xcc) [<c00085c4>] (init_post+0x7c/0xcc) from [<c0452838>]
> (kernel_init+0xe4/0x114)
>
>
> Then I trace the error information in fs/exec.c, in function
> do_execve_common, there is wrong file ponter(IS_ERR). In NFS mode, I mount
> the yaffs2 block to mnt directory, and there is only lost+found folders,
> all other folders can't displayed. So, it's quite possible that this tool
> generate a wrong yaffs2 image in the former version. And the latest version
> can' compile.
>
> Could anyone help me? Sometime I want abandon the yaffs FS, because UBIFS
> works very well every time. We need to do too much work to make the latest
> yaffs work well in the latest linux kernel.
> ---------------------------------------------------------------------------
>------- 1448 static int do_execve_common(const char *filename,
> 1449                 struct user_arg_ptr argv,
> 1450                 struct user_arg_ptr envp,
> 1451                 struct pt_regs *regs)
>
>
> 1495     file = open_exec(filename);
> 1496     retval = PTR_ERR(file);
> 1497     if (IS_ERR(file))
> 1498         goto out_unmark;