3

printkロギング (ステートメント)を挿入するために、Linux USB Wi-Fi カードドライバーに簡単な変更を加えました。モジュールを再コンパイル/ロードする方法に関するガイドに大まかに従っています。このガイドには、ファイルmakeをビルドするために実行する必要があると記載されてい.koます。Makefile作業ディレクトリ ( /usr/src/linux/drivers/net/wireless/rtl818x/rtl8187/) には次のような既存のファイルがあります。

rtl8187-objs        := dev.o rtl8225.o leds.o rfkill.o

obj-$(CONFIG_RTL8187)   += rtl8187.o

ccflags-y += -Idrivers/net/wireless/rtl818x

makeこのディレクトリ内で実行すると、次のようになります。

make: *** No targets.  Stop.

thisによると、これは「makefile が見つかったが、デフォルトのゴールが含まれておらず、コマンド ラインで何も指定されていなかったことを意味します。GNU make は、これらの状況では何の関係もありません。」

だから私の質問は、これは私がやろうとしていることの文脈で何を意味するのか、そして.ko次のステップに必要であるとされるファイルをどのように生成するのですか?

4

1 に答える 1

7

Linux ソースの最上位ディレクトリ ( /usr/src/linux/ ) からmakeを実行する必要があります。ドライバーが/usr/src/linux/.configファイルに含まれていることを確認してください。そのため、ドライバーを使用してカーネルをビルドします。カーネル全体を再構築したくない場合は、もっと読んでください:)

ディレクトリ内のすべてのモジュールを再構築する場合:

make M=drivers/net/wireless/rtl818x/rtl8187/

ディレクトリ内の単一のモジュールを再構築する場合:

make M=drivers/net/wireless/rtl818x/ CONFIG_RTL8187=m

*CONFIG_RTL8187* という名前は、drivers/net/wireless/rtl818x/Kconfig (CONFIG_ + RTL8187) にあります。

これも機能するはずです:

make drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
于 2012-08-04T00:32:39.903 に答える