0

ロード可能なカーネル モジュールをクロス コンパイルしようとしましたが、助けを求めているという警告メッセージが表示されました。

以下は警告メッセージです

make[1]: Entering directory `/home/userid/rowboat-android/kernel'
   Building modules, stage 2.
   MODPOST 1 modules
WARNING: "omap_device_build" [/home/userid/myfiles/lcdc_load_device.ko] undefined!
WARNING: "omap_hwmod_lookup" [/home/userid/myfiles/lcdc_load_device.ko] undefined!
make[1]: Leaving directory `/home/userid/rowboat-android/kernel'

以下はメイクファイルです

obj-m :=lcdc_load_device.o
lcdc_load_device-m := ../rowboat-android/kernel/arch/arm/plat-omap/omap_device.o
lcdc_load_device-m += ../rowboat-android/kernel/arch/arm/mach-omap2/omap_hwmod.o

ccflags-m := -I$(src)/../rowboat-android/kernel/arch/arm/plat-omap/include/plat/

KDIR := /home/userid/rowboat-android/kernel/
PWD := $(shell pwd)

default:
   $(MAKE) ARCH=arm CROSS_COMPILE=/home/userid/rowboat-android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi- -C $(KDIR) SUBDIRS=$(PWD) modules

clean:
   $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean

makefile が"omap_device_build"および"omap_hwmod_lookup"関数のヘッダー ファイルを見つけていると思われます。

どうぞよろしくお願いいたします。

4

1 に答える 1

0

mbratchartless noiseのコメントに感謝します

WARNINGSに対処するには、シンボルをエクスポートする必要があります。上記質問場所へ

EXPORT_SYMBOL(omap_device_build) in omap_device.c 
EXPORT_SYMBOL(omap_hwmod_lookup) in omap_hwmod.c

そしてカーネルをコンパイルします。次に、コンパイルされたカーネルに対してロード可能なカーネル モジュールをコンパイルします。以下を実行して、シンボルがエクスポートされているかどうかを確認します

grep omap_device_build /proc/kallsyms
or
grep omap_device_build Module.symvers

詳細については、次のリンクを参照してください

コメントは大歓迎です

ありがとうございました

于 2013-11-05T16:54:39.510 に答える