一块开发板,厂商已经提供好了uboot,kernel,ramdisk文件系统跟安卓镜像
有:uboot.bin, zImage, ramdisk-uboot.img, system.img, userdata.img, ramdisk-recovery-uboot.img
现在我想换一个内核,就自己编译了一个zImage出来,然后烧写进去(其他都不变)。
启动的时候出现了:EXT4-fs (mmcblk0p2): VFS: Can't find ext4 filesystem,然后就死在这里了。
部分启动信息:
[ 3.360720] S5P TVOUT Driver v3.0 (c) 2010 Samsung Electronics
[ 3.388403] Freeing init memory: 200K
[ 3.401915] init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_s
core_adj instead.
[ 3.470702] init: # ro.utmodel=s901
[ 3.472741] init: # ro.lcd=ut9gm
[ 3.475985] init: # ro.came=
[ 3.478814] init: # ro.codec=wm8978
[ 3.482304] init: # ro.bt=
[ 3.484977] init: # ro.wifi=
[ 3.487854] init: # ro.gps=
[ 3.490632] init: # ro.eth=
[ 3.493396] init: # ro.fm=
[ 3.496102] init: # ro.gsmd=
[ 3.498951] init: # ro.nfc=
[ 3.501742] init: # ro.ls=
[ 3.504420] init: # ro.motor=
[ 3.507389] init: # ro.lcdRGB=
[ 3.510430] init: # ro.oem=
[ 3.513188] init: # ro.serialno=ExynosMID
[ 3.517196] init: # ro.macw=
[ 3.520059] init: # ro.macb=
[ 3.671825] EXT4-fs (mmcblk0p2): VFS: Can't find ext4 filesystem
[ 10.605266] mmc_sd_detect(mmc0): Unable to re-detect card (-123)
[ 10.609819] mmc0: card 1234 removed
[ 12.345394] mmc0: new high speed SDHC card at address 1234
[ 12.349739] mmcblk0: mmc0:1234 SA04G 3.63 GiB
[ 12.355471] mmcblk0: p1 p2 p3 p4
[ 12.357310] mmcblk0: p1 size 5985144 extends beyond EOD, truncated
[ 63.520189] failed to copy MFC F/W during init
内核以配置成支持EXT4文件系统
我插拔内存卡也有信息输出,证明内核已经启动,但是根文件系统挂在失败,然后再过一会就会出现:
init: cannot find '/system/bin/vold', disabling 'vold'
.......
我看了这里的帖子http://bbs.csdn.net/topics/360241422,按照里面的一个方法修改了efi.c,但是无效。
我编译出来的内核只有3.17M,而厂商提供的内核有3.96M,会不会是内核大小的原因呢?
求各路大神帮我分析一下,谢谢
------解决方案--------------------
你直接拿个内核就烧肯定不行了,文件系统存在于什么位置至少设置一下吧
------解决方案--------------------
厂商提供的zimg启动的时候启动日志是怎么样的?试着对比一下。