再生蜜蜡啥意思:init_MUTEX被废除

来源:百度文库 编辑:偶看新闻 时间:2024/04/30 12:14:05

init_MUTEX被废除

Posted on 2011-07-18 15:55 justinzhang 阅读(285) 评论(0) 编辑 收藏

一、在安装模块是出现如下错误:

查看模块信息的命令,如下所示:

而系统的内核版本是:

屏幕剪辑的捕获时间: 2011-07-04 16:20

所以编译模块用的版本号和系统的内核版本不统一,这样内核就会报错,这个功能是用配置选项CONFIG_MODVERSIONS 决定的,如下图:

其中一种解决办法,http://apps.hi.baidu.com/share/detail/14755964 ,当然也可以用与系统一样的内核版本来编译、连接模块。

二、将ll设置成,ls -l,如下图所示:

三、今天在编译ldd3上的scull的时候,出现如下错误:

屏幕剪辑的捕获时间: 2011-07-04 16:12

刚开始我以为没有包含头文件,然后我就去查2.6.39.1的源代码,结果在所有的符号中都没有发现init_MUTEX,后面在网站上发现了init_MUTEX的定义,如下所示:

源码衔接:

http://lxr.oss.org.cn/source/include/asm-i386/semaphore.h#L89

上面的源码是2.6.16以前的,在2.6.25以后就再也找不到这个宏了,原因我目前不清楚,根据定义就已经可以把问题解决了,将代码改成下面的就行了:

最后,成功的make,并且驱动成功的安装到系统当中了:

四、scull测试

利用mknod在scull设备上建立字符文件:

屏幕剪辑的捕获时间: 2011-07-04 16:34

设置量子的大小为6,

如下图所示:

改变量子大小(使用默认的)

屏幕剪辑的捕获时间: 2011-07-04 17:05