makefile编译错误导致在Arm板上编译

makefile compilation error for compiling on Arm board

本文关键字:编译 Arm 错误 makefile      更新时间:2023-10-16

我想在我基于ubuntu 12.0.4 LTS的操作系统(xillinux)上安装rt8192cu驱动程序,运行在ARM处理器(microzed board, zynq处理器)上。

git clone https://github.com/dz0ny/rt8192cu.git

在我输入上述命令并进入目录后,输入make,我得到以下错误:

make[1]: Entering directory `/usr/src/kernels/3.12.0-xillinux-1.3'
Makefile:579: /usr/src/kernels/3.12.0-xillinux-1.3/arch/armv7l/Makefile: No such file or directory
make[1]: *** No rule to make target `/usr/src/kernels/3.12.0-xillinux-1.3/arch/armv7l/Makefile'.  Stop.
make[1]: Leaving directory `/usr/src/kernels/3.12.0-xillinux-1.3'
make: *** [modules] Error 2

makefile可以在https://github.com/dz0ny/rt8192cu/blob/master/Makefile

找到

我使用的基于ubuntu的操作系统是http://xillybus.com/downloads/doc/xillybus_getting_started_zynq.pdf

如何修改makefile以直接在我的平台上编译?

即使安装了linux-headers有时也会失败,一个快速的解决方法是:

ln -s /lib/modules/`uname -r`/build/arch/arm /lib/modules/`uname -r`/build/arch/armv7l

一个较长的解决方法是用相同的。config文件从源代码编译你自己的配置,并安装所有的东西。

如果我理解正确,您正在尝试为RT8192CU Wi-Fi IC编译Linux内核模块。此外,你直接在Zynq上运行Ubuntu,你试图在适当的地方编译。

您收到的错误是由于缺少内核头文件,即'3.12.0-xillinux-1.3',这应该是您正在使用的内核版本(尝试在终端中写入uname -r)。

最快的解决方法是让Ubuntu安装所需的源代码/头文件(前提是内核模块的目标是发行版提供的源代码,并且你在发出以下命令时正在运行特定的内核)

$ sudo apt-get install linux-headers-$(uname -r)