我正在使用 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
然后,重新启动系统。