执行“make”命令=目标“模块”没有规则

执行“make”命令=目标“模块”没有规则

我正在使用 Manjaro 17.1.2 - Deepin 15 在我的机器上编译 mt7601U 的驱动程序。

编译驱动的说明可以找到这里。我已经对代码做了所有必要的注释。当我尝试执行命令时:

make -C /lib/modules/$(uname -r)/build M=$(pwd) modules

它回应道:

make: Entering directory '/usr/lib/modules/4.14.14-1-MANJARO/build'
make: *** No rule to make target 'modules'. Stop
make: Leaving directory '/usr/lib/modules/4.14.14-1-MANJARO/build'

我是否需要另一个包才能正确编译驱动程序?

答案1

一般来说,/lib/modules/*/build(其中 * 是某种版本控制格式)是指向 Linux 内核头文件的软链接,以帮助构建包。链接到的实际文件通常可以在/usr/src/linux-*(其中 * 再次是版本控制格式)中找到。

看来你使用的是 Linux 4.14。您应该首先通过运行uname -r来仔细检查版本来验证这一点。如果是这样,您可以通过运行以下命令来安装头文件:

$ sudo pacman -S linux414-headers

您可能还想使用以下方法更新您的系统:

$ sudo pacman-mirrors -f 5 && sudo pacman -Syyu

然后,重新启动系统。

相关内容