驱动程序编译Redhat

时间:2009-06-25 09:13:36

标签: linux compilation driver redhat

我很擅长为linux编译驱动程序,但我遇到了一些问题!

我正在尝试为usb设备编译驱动程序。

结果:


[thayoz@lacalpc13 linux]$ make
for i in driver lib qrng ; do cd $i && (make all || exit ) && cd ..; done
make[1]: Entering directory /home/thayoz/Desktop/untitled folder/Quantis-USB/src/linux/driver'
make -C /usr/src/kernels/ M=/home/thayoz/Desktop/untitled folder/Quantis-USB/src/linux/driver V=1 modules
make[2]: Entering directory/usr/src/kernels'
make[2]: * No rule to make target folder/Quantis-USB/src/linux/driver'.  Stop.
make[2]: Leaving directory/usr/src/kernels'
make[1]: * [all] Error 2
make[1]: Leaving directory `/home/thayoz/Desktop/untitled folder/Quantis-USB/src/linux/driver'
/bin/sh: line 0: cd: lib: No such file or directory
/bin/sh: line 0: cd: qrng: No such file or directory
make: *** [all] Error 1

我不知道出了什么问题???

3 个答案:

答案 0 :(得分:1)

我认为构建目录路径中的空格可能会导致问题。

/ home / thayoz /桌面/无标题文件夹/ Quantis-USB ...

注意'无标题文件夹'中的空格。

看起来make将模块目录作为:

/家庭/ thayoz /桌面/无

文件夹/ QUANTIS-USB / src / linux中/驱动器

正在传递make作为附加参数(可能是要构建的目标)。

尝试将'/ home / thayoz / Desktop / untitled folder'重命名为'/ home / thayoz / Desktop / untitledfolder',看看会发生什么。

答案 1 :(得分:0)

我对构建使用GNU构建系统打包的软件的一般过程的理解是:

  1. 运行.configure脚本。此脚本检查系统上的构建环境,确保所有必需的可执行文件,库等都可用,并创建一个可用的Makefile。
  2. 运行make。这使用在步骤1中生成的Makefile来构建二进制文件。
  3. 运行make install。这会将二进制文件安装到系统上的正确位置。
  4. GNU Build System

    您是否运行了驱动程序包附带的.configure脚本?

答案 2 :(得分:0)

通常类似于:

make -C <directory to kernel source> M=<directory to module/driver source> modules
make -C <directory to kernel source> M=<directory to module/driver source> modules_install

就足够了。

您的驱动程序是否附带了makefile?您是否正在编译正确的内核源代码,例如正确的版本?