linux kernel 启动过程中的"变色"问题

本文探讨了在Linux kernel启动过程中遇到的version magic错误,导致booting fail的问题。详细解释了version magic的作用,内核版本号中加号的来源,并提供了通过修改.config文件解决version magic不匹配的方法。
摘要由CSDN通过智能技术生成

最近编译一个android 项目,结果莫名其妙的在linux kernel 启动过程中booting fail, 现象是load 动画时颜色变掉.

debug message 显示如下:

pvrsrvkm_sgx540_120: version magic '3.0.21-00003-OMAP-Android+ SMP preempt mod_unload ARMv7 ' should be '3.0.21-00003-OMAP-Android SMP preempt mod_unload ARMv7 '

很明显是pvrsrvkm_sgx540_120模块version magic 检查fail 导致加载失败.

1. version magic 是什么?

Linux是依靠内核模块构建时自动产生的"vermagic”标识检查是否与当前内核版本一致, 如果不一致则拒绝加载。除非在insmod/modprobe时指定参数强制忽略vermagic,但这样做的代价是如果使用错误版本的内核模块就可能导致内核崩溃。

2. 内核版本号"3.0.21-00003-OMAP-Android+" 为什么后面有一个加号?

打开kernel 根目录下的Makefile文件, 在文件的最上面可以发现内核版本的版本号

VERSION = 3
PATCHLEVEL = 0
SUBLEVEL = 21
EXTRAVERSION =
NAME = Sneaky Weasel
# Store (new) KERNELRELASE string in include/config/kernel.release
include/config/ker
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值