"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

その後、システムを再起動します。

おすすめ記事