Linux kernel version dirty

在我们使用git来管理Linux Kernel的时候,在编译的时候会在你的kernel version加上git commit number

有时候还会出现dirty字样,字面意思是内核被污染的意思。

使用“uname -a”查看:

1 root@android:/system/lib/modules # /system/bin/busybox uname -a                
2 Linux localhost 3.0.35-06124-g6298bd2-dirty #1 SMP PREEMPT Mon Jan 20 10:30:05 CST 2014 armv7l GNU/Linux

我这里是Android的内核,其他内核应该也一样,这有可能会导致insmod时,magic number不匹配,而无法insert ko kernel。

典型错误:

1 255|root@android:/system/lib/modules # insmod blcr_imports.ko                  
2 [ 7045.918010] Running kernel UTS_RELEASE (3.0.35-06124-g6298bd2-dirty) does not match that used to build BLCR (3.0.35-06124-g6298bd2)

解决办法:

1.修改内核配置文件,取消下面的选项

General setup --->;

[] Automatically append version information to the version string

2.另外一种办法,就是提交未修改的代码,或者撤销本地修改。然后make clean,再次编译。

 

posted @ 2014-01-22 14:43  汤豆豆  阅读(3394)  评论(0编辑  收藏  举报