[LDD3]Block Driver:编译sbull驱动,你用的是什么Kernel版本

时间:2022-06-16 09:20:27

-
尝试编译Linux Device Driver 3th里面的sbull驱动(Chapter16),
结果,发现编译不能通过。

log提示无法找到头文件:linux/config.h
以及,无法解析未知的函数


不知道大家在编译sbull demo,有没有遇到这个状况?
期望能够分享一下

Need your lovely help.
-

-
使用系统版本:   ubuntu 12.04
使用内核树版本: linux-2.6.28
-

4 个解决方案

#1


内核版本已经更新了,肯定编译不过的。
linux/config.h 直接吧这行删除就可以了。
新的内核没这个文件了,也不行看include这个文件了。

#2


-
的确如Idle_Cloud所说,
-
删掉#include <linux/config.h>这一行, 重新编译sbull驱动
编译器提示两类Error
    
    -  error: unknown type name ‘request_queue_t’
    -  error: ‘sbull_make_request’ undeclared
    -  error: ‘sbull_full_request’ undeclared
    -  error: implicit declaration of function ‘blk_queue_hardsect_size’
-
这样看来是function相关的头文件未被引入,导致如上错误。
我尝试查找相关头文件,并引入到sbull.c
-

#3


-
发现了linux-2.6.11.8版本使用#include <linux/config.h>头文件,
-
[LDD3]Block Driver:编译sbull驱动,你用的是什么Kernel版本
-
现在尝试着使用Linux-2.6.11.8内核树编译sbull驱动,
观测能否编译通过...
-

#4


-
:(
-
采用linux-2.6.11.8版本编译sbull驱动,错误仍是不断啊.
    -  include/linux/config.h:4:28: fatal error: linux/autoconf.h: No such file or directory compilation terminated.
        -> 创建一个符号链接解决此错误,  ln -s config.h autoconf.h
    -  include/linux/sched.h:4:36: fatal error: asm/param.h: No such file or directory
        -> ?
-

#1


内核版本已经更新了,肯定编译不过的。
linux/config.h 直接吧这行删除就可以了。
新的内核没这个文件了,也不行看include这个文件了。

#2


-
的确如Idle_Cloud所说,
-
删掉#include <linux/config.h>这一行, 重新编译sbull驱动
编译器提示两类Error
    
    -  error: unknown type name ‘request_queue_t’
    -  error: ‘sbull_make_request’ undeclared
    -  error: ‘sbull_full_request’ undeclared
    -  error: implicit declaration of function ‘blk_queue_hardsect_size’
-
这样看来是function相关的头文件未被引入,导致如上错误。
我尝试查找相关头文件,并引入到sbull.c
-

#3


-
发现了linux-2.6.11.8版本使用#include <linux/config.h>头文件,
-
[LDD3]Block Driver:编译sbull驱动,你用的是什么Kernel版本
-
现在尝试着使用Linux-2.6.11.8内核树编译sbull驱动,
观测能否编译通过...
-

#4


-
:(
-
采用linux-2.6.11.8版本编译sbull驱动,错误仍是不断啊.
    -  include/linux/config.h:4:28: fatal error: linux/autoconf.h: No such file or directory compilation terminated.
        -> 创建一个符号链接解决此错误,  ln -s config.h autoconf.h
    -  include/linux/sched.h:4:36: fatal error: asm/param.h: No such file or directory
        -> ?
-