私は外部カーネルモジュール用の簡単なMakefileを書いています。
ビルドしてください:
obj-m += usbtherm.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
外部モジュールだけがコンパイルされるので大丈夫です。
しかし、インストールするとき:
install:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules_install
カーネルソースツリーにすべてのモジュールをインストールしますが、このモジュールをdrivers/usb/misc
。
だから、次のようにモジュールをインストールします。
install:
cp $(shell pwd)/usbtherm.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/misc
depmod -a
外部モジュールのみを取り付けます。
しかし、それは私にとって非常にエレガントに見えません。私は何を見逃していますか?
ベストアンサー1
sudoでインストールすると
sudo -E make install
外部モジュールのみをインストールし、depmodを再実行しました。
環境保存フラグなしで実行すると、カーネルの更新に使用するカーネルソースツリーに組み込まれているすべてのモジュールが再インストールされます。カーネルツリーを変更するときにsudoを使用すると、PWDを正しく設定できない可能性がありますが、この問題が発生している他の人に役立ちます。