记录一次kernel无法找到init的问题

简介: 记录一次kernel无法找到init的问题

总述

   这是之前调试遇到过的一个问题,这次就发出来分享一下,Kernel panic - not syncing: No initfound.  Try passing init= option tokernel. See Linux Documentation/init.txt for guidance.s 打印信息如上,我一直以为这是初始化的问题,然后找资料,有些文章说是eabi编译选项的问题,然而发现是错误的,所以就记录下来,虽然说不是硬核的技术文章,但是希望可以帮到类似问题的人多一个正解。

作者:良知犹存

转载授权以及围观:欢迎添加微信公众号:Conscience_Remains

这是我编译完新的内核加载之后出现的bug:

4edc953e2c684bbe819ffa954c899c08.png

然后在网上找一些资料,会有人这么说4edc953e2c684bbe819ffa954c899c08.png

说是eabi编译选项的问题,但是我修改之后发现问题依旧没有解决掉,这个时候发现我的分区地址有些不一样

4edc953e2c684bbe819ffa954c899c08.png

后来我在StackOverflow上面也找到类似的Kernel panic - not syncing,表明我的分区地址有问题4edc953e2c684bbe819ffa954c899c08.png

知道这个问题之后,我反查发现是单板的型号选择出现问题,uboot通过对machid进行识别,进而设置不同的分区大小,

本次调试的  在UBOOT里,有两个相近的ID:

set machid 16a   // 代表smdk2440 mach-smdk2440.c
set machid 7CF   // 代表mini2440 mach-mini2440.c

然后我在uboot源码查看,发现目前的分区的地址是mini2440的分区,然后我在uboot启动中重新设置set machid 16a

4edc953e2c684bbe819ffa954c899c08.png

文件系统就可以正常挂载了

4edc953e2c684bbe819ffa954c899c08.png

这就是我分享的一次内核问题,如果大家有什么更好的解决思路,欢迎分享交流哈。

目录
相关文章
|
6月前
|
安全 Shell Android开发
Android系统 init.rc sys/class系统节点写不进解决方案和原理分析
Android系统 init.rc sys/class系统节点写不进解决方案和原理分析
375 0
[c++][记录]编译libusb-win32过程
[c++][记录]编译libusb-win32过程
219 0
|
Unix
Linux-使用 Find 命令找到那些需要清理的文件
Linux-使用 Find 命令找到那些需要清理的文件
120 0
|
Linux 程序员 C语言
start_kernel函数部分分析
start_kernel函数部分分析
156 0
start_kernel函数部分分析
node笔记记录43fs模块2
node笔记记录43fs模块2
63 0
node笔记记录43fs模块2
node笔记记录42fs模块1
node笔记记录42fs模块1
42 0
node笔记记录42fs模块1
【openstack】问题记录:error: you need to load the kernel first【已解决】】
【openstack】问题记录:error: you need to load the kernel first【已解决】】
3938 0
【openstack】问题记录:error: you need to load the kernel first【已解决】】
|
Linux 编译器 C语言
|
Linux
linux网络驱动初始化module_init函数跟踪
module_init函数对做驱动开发的同学是在太熟悉了,但是关于底层的知识可能大家有些不愿去了解,而其中知识对于网络初始化也直接相关,所以先将此分享。 在驱动程序中有module_init函数,该函数定义在文件 include/linux/module.h中(以前好像在include/linux/init.h中),如下。
2351 0