我试图让一个 Silicon Dust 网络 DVB 接收器与我的 debian 机器一起工作。
我的 debian 正在运行:
uname -a:
Linux myMachine 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1+deb7u1 x86_64 GNU/Linux
lsb_release -a
Distributor ID: Debian
Description: Debian GNU/Linux 7.1 (wheezy)
Release: 7.1
Codename: wheezy
我已经尝试了很多,但我最近的尝试如下
apt-get source linux-headers-3.2.0-4-amd64
# I got a folder named linux-3.2.46
cd linux-3.2.46
# vim Makefile, changed SUBLEVEL to 0, and EXTRAVERSION to '-4-amd64'
cp /boot/config-3.2.0-4-amd64 .config
make oldconfig
cp /usr/src/linux-3.2.46/Module.symvers .
make prepare scripts
cd ../dvb_hdhomerun-0.0.15/kernel
vim Makefile, changed KERNEL_DIR to the linux-3.2.46 dir.
make # works fine
make install # works fine.
我可以构建模块,但是当我尝试使用 modprobe 加载它时,出现以下错误
ERROR: could not insert 'dvb_hdhomerun': Exec format error
dmesg 说
[252722.865357] dvb_hdhomerun_core: disagrees about version of symbol module_layout
modinfo dvb_hdhomerun 说:
filename: /lib/modules/3.2.0-4-amd64/extra/dvb_hdhomerun.ko
version: 0.0.15
license: GPL
description: HDHomeRun Driver
author: Villy Thomsen
version: 0.0.15
license: GPL
description: HDHomeRun driver
author: Villy Thomsen
version: 0.0.15
license: GPL
description: HDHomeRun Driver Core Module
author: Villy Thomsen
srcversion: 94B767B76E32F22F26FE6A2
depends: dvb-core,dvb_hdhomerun_core
vermagic: 3.2.0-4-amd64 SMP mod_unload modversions
parm: adapter_nr:DVB adapter numbers (array of short)
modinfo dvb_hdhomerun_core 说:
filename: /lib/modules/3.2.0-4-amd64/extra/dvb_hdhomerun_core.ko
version: 0.0.15
license: GPL
description: HDHomeRun Driver Core Module
author: Villy Thomsen
srcversion: B9DACADA733D0C535EAC3E3
depends:
vermagic: 3.2.0-4-amd64 SMP mod_unload modversions
parm: hdhomerun_debug_mask:Mask for debug output
(int)
有任何想法吗?