嗨,今天瞎折腾的事:小结一下之前linux内核挂载根文件系统失败的一些往事。 失败点常常聚焦在下面几个方面: 1:编译busybox和内核的编译链是不是同一个版本,如果不是可能会导致问题。 2:制作根文件系统时,从编译链中复制的动态库多了、少了或者压根路径就不对,也会导致问题。 3:根文件系统类型内核是否支持,不支持的话需要在make menuconfig下设置一下。 4:uboot环境下往eMMC/SD/flash等设备中烧录的根文件系统的实际地址和bootargs中root参数是否一致。 5:系统启动后,块设备驱动是否正常加载,是否和设置的root参数中指示的吻合。 6:根文件系统所占空间和对应设置的块设备分区的空间是否满足,有没有溢出。 7:busybox,内核,编译链三者之间版本兼容问题。 8:内核“寻觅”根文件系统的方式,实际设置的和实际操作的有没有差异。比如initramfs和直接挂载块设备分区两种方式,肯定是不一样的。 9:inittab设置是否有问题。 10:有一次内核加载根文件系统的时候,启动后卡在了free memeory xxk,是因为没有打开eabi的原因。 10:其它 像rootfstype是否设置错误等等! 有不对的地方,希望大家指出来,共同交流第一!!! 另外,现在遇到一个问题,正在焦头烂额的定位问题点,在make menuconfig的时候,取消initramfs,居然不加载eMMC驱动了导致根文件系统挂载失败,选中initramfs又可以加载eMMC驱动了。乖乖,这玩意调试了几天了,现在还没找到原因,请各位大牛指导一下,明天继续调试它。 谢谢你的阅读,可以单击返回了。休息喽!!! ---------------------------------------------------------------------------------------------------------------------- 我们尊重原创,也注重分享,文章来源于微信公众号:后邵竹园,建议关注公众号查看原文。如若侵权请联系qter@qter.org。 ---------------------------------------------------------------------------------------------------------------------- |