0

我试图让一个 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)

有任何想法吗?

4

2 回答 2

1

虽然接受的答案确实有效。这并不理想,因为您最终会得到:

  • 非托管软件
  • 糟糕的初始化脚本
  • 没有系统支持
  • 不支持内核升级

由于我正在重新安装我的家庭服务器,我决定修复 dkms dpkg 混乱。

https://github.com/h0tw1r3/dvbhdhomerun

Repo 有用于构建解决上述问题的 debian 软件包的源代码。

像原作者一样 - 我不提供二进制包,但创建它们很容易。只需遵循debian 维护者构建指南的前两部分。

于 2014-03-12T19:22:53.357 回答
0

在https://sourceforge.net/p/dvbhdhomerun/discussion/1223414/thread/a0772136/找到了一个脚本,这解决了我的问题。

我所做的是

apt-get install linux-source-3.2
unpacked the tar.bz2 file
used that dir as KERNEL_DIR in dvbhdhomerun-0.0.15/kernel/Makefile
used /lib/modules/3.2.0-4-amd64/build/.config as .config file in linux-source-3.2 dir.
used /lib/modules/3.2.0-4-amd64/build/Module.symvers as Module.symvers file in linux-source-3.2 dir.
make KERNEL_VERSION=3.2.0-4-amd64 when compiling the module

这似乎有效:)

于 2013-09-02T08:55:51.317 回答