私が取り組んでいるカーネルモジュールでDKMSサポートを追加しようとしています。カーネルモジュールへのDKMSサポートの追加の問題
私は、静的libにしてカーネルモジュールのソースを置いているは、次のディレクトリにに対してリンクする次のファイルで
/usr/src/dpx/1.0
:
dkms.conf
Makefile
dpxmtt.c
lib.a
dkms.confファイルはこのようなものです:
MAKE="make"
CLEAN="make clean"
BUILT_MODULE_NAME=dpx
BUILT_MODULE_LOCATION=src/
DEST_MODULE_LOCATION=/kernel/drivers/input/touchscreen
PACKAGE_NAME=dpxm
PACKAGE_VERSION=1.0
REMAKE_INITRD=yes
そしてメイクファイルは、このようなものです:
EXTRA_CFLAGS+=-DLINUX_DRIVER -mhard-float
obj-m += dpx.o
dpx-objs:= dpxmtt.o ../source/lib.a
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
../source/lib.aは、makefileがdkms構築システムによって呼び出されたときに、ディレクトリ(ビルドディレクトリ)に見つかりませんでしたが、ソースディレクトリにコピーされていた、私はそれを比較的参照しています。
私は
sudo dkms build -m dpx -v 1.0
を呼び出すと、結果はほぼ完璧です:
[email protected]:~$ sudo dkms build -m dpx -v 1.0
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area....
make KERNELRELEASE=3.0.0-14-generic....
ERROR (dkms apport): binary package for dpx: 1.0 not found
Error! Build of dpx.ko failed for: 3.0.0-14-generic (i686)
Consult the make.log in the build directory
/var/lib/dkms/dpx/1.0/build/ for more information.
[email protected]:~$
、ログファイルの内容は次のとおりです。
DKMS make.log for dpx-1.0 for kernel 3.0.0-14-generic (i686)
Thu Jan 19 11:07:54 WET 2012
make -C /lib/modules/3.0.0-14-generic/build M=/var/lib/dkms/dpx/1.0/build modules
make[1]: Entering directory `/usr/src/linux-headers-3.0.0-14-generic'
CC [M] /var/lib/dkms/dpx/1.0/build/dpxmtt.o
LD [M] /var/lib/dkms/dpx/1.0/build/dpx.o
Building modules, stage 2.
MODPOST 1 modules
CC /var/lib/dkms/dpx/1.0/build/dpx.mod.o
LD [M] /var/lib/dkms/dpx/1.0/build/dpx.ko
make[1]: Leaving directory `/usr/src/linux-headers-3.0.0-14-generic'
モジュールが正しく構築されましたが、それエラー:
で終了します3210ERROR (dkms apport): binary package for dpx: 1.0 not found
Error! Build of dpx.ko failed for: 3.0.0-14-generic (i686)
そして、私はそれが何を意味するのか分かりません。誰か知っていますか?