linuxカーネル外部駆動モジュールコンパイルエラーERROR:「****.ko」undefined!
1889 ワード
私はlinuxカーネルに駆動モジュールを追加し、『linuxデバイス駆動』第3版に基づいて、Makefileを以下のように修正しました.
振り回された後、私は問題の原因を発見した.
私は誤った情報を誤解し,ko生成過程が不明である.コンパイルモジュールは、リンク中に外部シンボルテーブルを検索しますが、コンパイルされていないため見つかりません.
以上の分析に基づいて、drivers/net/usb/usbnet.に外部記号を表示しました.cファイル、これは構成が必要です.configファイルでCONFIGを設定USBNET=y.
皆さんに役に立つことを願っています.
英語の住所:http://stackoverflow.com/questions/7812418/kernel-driver-external-modules-not-building-completely
obj-m := GobiNet.o
GobiNet-objs := GobiUSBNet.o QMIDevice.o QMI.o
ですが、次のエラーが発生しました./home/sylvain/Projects/android_gingerbread_realv210_ver_1_0/kernel
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
LD drivers/cell/OptionGobiNet/built-in.o
CC [M] drivers/cell/OptionGobiNet/GobiUSBNet.o
CC [M] drivers/cell/OptionGobiNet/QMIDevice.o
CC [M] drivers/cell/OptionGobiNet/QMI.o
LD [M] drivers/cell/OptionGobiNet/GobiNet.o
Kernel: arch/arm/boot/Image is ready
SHIPPED arch/arm/boot/compressed/lib1funcs.S
AS arch/arm/boot/compressed/lib1funcs.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
Building modules, stage 2.
MODPOST 5 modules
ERROR: "usbnet_suspend" [drivers/cell/OptionGobiNet/GobiNet.ko] undefined!
ERROR: "usbnet_resume" [drivers/cell/OptionGobiNet/GobiNet.ko] undefined!
ERROR: "usbnet_disconnect" [drivers/cell/OptionGobiNet/GobiNet.ko] undefined!
ERROR: "usbnet_probe" [drivers/cell/OptionGobiNet/GobiNet.ko] undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2
のコンパイル中に「GobiNet.mod.c」と「GobiNet.o」が生成するが、GobiNetは生成されない.koファイル.振り回された後、私は問題の原因を発見した.
私は誤った情報を誤解し,ko生成過程が不明である.コンパイルモジュールは、リンク中に外部シンボルテーブルを検索しますが、コンパイルされていないため見つかりません.
以上の分析に基づいて、drivers/net/usb/usbnet.に外部記号を表示しました.cファイル、これは構成が必要です.configファイルでCONFIGを設定USBNET=y.
皆さんに役に立つことを願っています.
英語の住所:http://stackoverflow.com/questions/7812418/kernel-driver-external-modules-not-building-completely