题
我对编译 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 构建系统构建软件包的一般过程的理解是:
- 运行.configure 脚本。该脚本检查系统上的构建环境,确保所有必需的可执行文件、库等可用,并创建一个可用的 Makefile。
- 运行make.这使用步骤 1 中生成的 Makefile 来构建二进制文件。
- 运行 make install。这会将二进制文件安装到系统上的正确位置。
您是否运行了驱动程序包附带的.configure 脚本?
不隶属于 StackOverflow