VFS: Mounted root (xxxx filesystem). Freeing init memory: 104K FATAL:
kernel too old Kernel panic – not syncing: Attempted to kill init!可以看出根文件系统已经挂载成功,但是报错说内核版本太老。
这个错误是根文件系统的程序报的错,不是内核报的错。 我猜他想说FUCK: kernel too old !
这是因为有些交叉编译器在制作时限制了使用的最低内核版本,不要比这个版本低就可以了。
比如配置glibc时使用–enable-kernel参数指定版本2.6.28,那么做出的文件系统一定不适合2.6.27或更低版本的。
如果想确认文件系统要求的最低内核,可以使用file命令查看libc-*.so文件,例如: $ file libc-2.11.2.so
libc-2.11.2.so: ELF 32-bit LSB shared object, ARM, version 1,
dynamically linked (uses shared libs), for GNU/Linux 2.6.28, stripped上面的提示意味着使用这个库的文件系统只能供2.6.28和以上版本的内核使用。
原因:
交叉编译器允许的linux内核最低版本高于你当前所用的linux内核版本。
想确认文件系统要求的最低内核,可以使用file命令查看libc-*.so文件(交叉编译器下)
本文解析了因内核版本低于交叉编译器设定的最低要求而引发的根文件系统错误,解释了如何通过file命令检查libc-*.so文件来确定文件系统所需的最低内核版本。
3012

被折叠的 条评论
为什么被折叠?



