当前位置: 代码迷 >> 驱动开发 >> 新手,Linux内核无法挂载根文件系统
  详细解决方案

新手,Linux内核无法挂载根文件系统

热度:84   发布时间:2016-04-28 10:10:47.0
新手求助,Linux内核无法挂载根文件系统
一块开发板,厂商已经提供好了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启动的时候启动日志是怎么样的?试着对比一下。