解决kernel编译时由于加入git管理导致的version magic的问题
来源:互联网 发布:中石化物资采购网络 编辑:程序博客网 时间:2024/04/28 01:31
最近做Android kernel开发,遇到一个奇怪的问题:
同一份代码,未做任何修改,只是使用
$git init
$git add -A
把 kernel放到了git 版本追踪库里,然后编译,发现sound driver无法正常加载。
开始怀疑git chmod导致的driver文件无编译,后来排除了这个问题。通过分析kernel启动log,发现应该是version magic导致的module 版本对不上。
log例:
Acceleration_sensor: version magic '3.0.8-modern preempt mod_unload ARMv7 ' should be '3.0.8-modern+cf23113 preempt mod_unload ARMv7 '
然后通过网上查询+实验,去掉magic version需要3步
1, 在menuconfig里去掉"Enable Load Module Support--> Module Versioning support", (我的config里本来是去掉的)
2, 去掉"Generl Setup-->Automatically append version information to the version string"
3, 修改scripts/setlocalversion脚本
--- a/scripts/setlocalversion
+++ b/scripts/setlocalversion
@@ -170,7 +170,7 @@ else
# LOCALVERSION= is not specified
if test "${LOCALVERSION+set}" != "set"; then
scm=$(scm_version --short)
- res="$res${scm:++}"
+ res="$res${scm:+}"
fi
fi
再重新编译就正常了。
- 解决kernel编译时由于加入git管理导致的version magic的问题
- 解决version magic 不一致的问题
- kernel version magic问题
- 编译的驱动加载时出现version magic问题
- xcode编译时由于函数重复导致的问题
- micro2440开发板解决version magic问题,并在内核树中编译驱动的过程总结
- 解决由于Office文档过大导致的传输问题
- kernel version magic error
- 由于drawable目录下新建文件夹导致的AndroidStudio编译失败解决思路!
- 由于疏忽导致调试时遇到不可解释的问题
- 由于JDK版本问题导致的错误
- 由于ADT升级后导致的问题
- 一个由于位数导致的问题
- 解决ListView,Gallery的Adapter中由于布局问题导致的getView多次调用问题
- DB2问题诊断与解决: 一个由于历史文件过大,导致LOAD慢的问题
- 一个由于锁的作用域导致core dump的问题的解决
- 一个由于锁的作用域导致core dump的问题的解决
- 一个由于锁的作用域导致core dump的问题的解决
- 菜鸟学python(3) 常见变量赋值
- bootstrap-switch使用实例
- spring_ajxa
- listview在scrollView中的冲突解决
- 机器学习&深度学习经典资料汇总
- 解决kernel编译时由于加入git管理导致的version magic的问题
- 高并发的epoll+多线程
- iPhone屏幕尺寸、分辨率及适
- iOS 在UILabel显示不同的字体和颜色
- ViewPager切换滑动速度
- 高并发的epoll+线程池,业务在线程池内
- boost高并发网络框架+线程池
- gradle:build.number 获取不到导致的error
- 类似于聊天界面的ListView的设置