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. > [] (unwind_backtrace+0x0/0xf0) from [] > (panic+0x58/0x18c) [] (panic+0x58/0x18c) from [] > (init_post+0x7c/0xcc) [] (init_post+0x7c/0xcc) from [] > (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;