我对编译 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]: * 没有设定目标的规则 folder/Quantis-USB/src/linux/driver'.  Stop.
make[2]: Leaving directory/usr/src/bernels'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

我不知道怎么了???

有帮助吗?

解决方案

典型地是这样的:

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文件?你对编制适当的内核源代码,正确的版本,例如?

其他提示

我觉得在路径到您的构建目录空间可能会造成问题。

/首页/ thayoz /桌面/命名文件夹/ QUANTIS-USB ...

注意在 '未命名文件夹' 的空间中。

它看起来像化妆走的模块目录中:

/家庭/ thayoz /桌面/无

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

时,获得通过使作为一个额外的参数(可能要构建的目标)。

尝试重命名一个 '/ home / thayoz /桌面/命名文件夹' 到 '/家庭/ thayoz /桌面/ untitledfolder',看看会发生什么。

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

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

GNU 构建系统

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top