wispymount 发表于 2012-8-24 14:40:08

wispymount 发表于 2012-8-24 14:41:45

wispymount 发表于 2012-8-24 14:46:45

飞凌-fatfish 发表于 2012-8-27 10:30:26

请看下我签名

dbird 发表于 2012-12-22 18:37:02

飞凌-unix 发表于 2012-12-24 09:16:39

问题:yaffs: dev is 32505858 name is "mtdblock2"
            yaffs: passed flags ""
            yaffs: Attempting MTD mount on 31.2, "mtdblock2"
            yaffs_read_super: isCheckpointed 0
            VFS: Mounted root (yaffs filesystem) readonly on device 31:2.
            devtmpfs: error mounting -2
            Freeing init memory: 120K
            Failed to execute /linuxrc.Attempting defaults...
            Kernel panic - not syncing: No init found.Try passing init= option to kernel.
      解决:1.启动命令有问题,根据查看分区信息(supervivi:part show)得知root分区在mtdblock3上,不是在2上
            修改为:noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0
            2.问题依旧,重新make menuconfig,并对比友善之臂提供的mini2440源代码配置,重新选择,
            Device Driver ->Generic Driver Options ->(取消)devtmpfs: error mounting -2被解决了,
            但是依然无法启动继续查看。
            3.系统在启动过程中出现了很多yaffs: block 456 is marked bad,block 457 is bad这样的错误,越来越多,通过网上搜寻找到解决办法:
            我用的是板子自带的supervivi,使用命令bon part 0,就起到格式化整个Nand Flash芯片的作用,假坏块自然就化为乌有了。随后问题就柳暗花明。
            4.将mini2440自带的文件系统重新烧如板子,用mini2440自带的内核文件启动,正常,说明文件系统没有问题,将自己编译的内核下载进去,依然无法启动,
            5.添加一些内核输出信息,终于发现内核在:search_binary_handler()函数中的fn(bprm, regs)函数后,执行失败了。非常郁闷...
            6.文件系统没有问题,显然还是内核编译有问题,然后通过网上查找说是load_elf_binary执行有问题,可能是加载文件系统的文件时不识别文件格式,于是
            重新make menuconfig最后发现原来是要将General setup--->Choose SLAB allocator --->选上SLAB,不要选择SLUB。重新make
页: [1]
查看完整版本: uboot执行bootm启动kenrel失败