jz2440不能成功地启动文件系统, Failed to execute /linuxrc.

文件系统加载失败,错误信息提示:
    VFS: Mounted root (nfs filesystem).
    Freeing init memory: 140K
    Failed to execute /linuxrc.  Attempting defaults...
    Kernel panic - not syncing: No init found.  Try passing init= option to kernel.

1.  jz2440不能成功地从nfs启动文件系统.

芯片的型号:K9F2G08U0C
芯片大小:256M Byte记忆单元阵列:(256M + 8,192K)bit x 8bit
2048 blocks * 64 pages/block  * 2048 bytes/page = [256M Bytes]
这个芯片的写操作是以页为单位的,擦除是以块为单位的.
擦出页面的起始地址以及偏移量应该是2048*64的整数倍.
    
原因:
    不能执行linuxrc,是因为在创建lib下的动态库时,里面只有软连接,没有软连接实体

解决办法:
    把软连接的对应的实体拷到lib下

2. jz2440不能成功地从nandflash启动文件系统.

原因:烧写yaffs的时候用错了指令, 烧写yaffs的时候应该用

  nand write.yaffs 30000000 260000 474900

                  ram_addr  nand_offset  file_size

            file_size必须等于刚好传送的文件大小.     

附制作和烧写yaffs过程: 

mkyaffs2image /home/jz2440/nfs_root/fs_ocean /home/jz2440/nfs_root/fs_ocean.yaffs2

tftp 30000000 fs_ocean.yaffs2;
nand erase root;
nand write.yaffs 30000000 260000  474900;   //这里474900一定是tftp传输实际的文件字节大小, 这是烧写yaffs文件必须的格式.
原文地址:https://www.cnblogs.com/mylinux/p/5562481.html