カーネルモジュールをコンパイルするためのビルドがありません

カーネルモジュールをコンパイルするためのビルドがありません

これはカーネルモジュールを作成する最初の試みであり、明らかにモジュールを作成してコンパイルするには、次の手順に従う必要があります。

echo "obj-m := Hello.c" > Makefile
make -C /lib/modules/`uname -r`/build M=$PWD modules

uname -rこれが私の問題です。 「/lib/modules//」ディレクトリに「ビルド」がありません!

私がここで何を見逃しているのでしょうか?

ベストアンサー1

次のパッケージが見つからないため、Linuxカーネルモジュールをコンパイルする前にインストールする必要があることがわかりました。

sudo apt-get install -y linux-headers-`uname -r`

これでモジュールをコンパイルする準備が整いました。

echo "obj-m := Hello.c" > Makefile
make -C /lib/modules/`uname -r`/build M=$PWD modules
sudo insmod Hello.ko

おすすめ記事