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