我正在尝试在我的 Slicehost 切片上为 Asterisk 安装 DAHDI...
我开始sudo apt-get install dahdi-dkms dahdi-linux
安装日志中部分内容失败:
Setting up dahdi-dkms (1:2.2.1+dfsg-1ubuntu2) ...
Loading new dahdi-2.2.1+dfsg-1ubuntu2 DKMS files...
First Installation: checking all kernels...
Building only for 2.6.33.5-rscloud
Building for architecture x86_64
Module build for the currently running kernel was skipped since the
kernel source for this kernel does not seem to be installed.
这似乎是因为我没有安装内核源。但是,对于 Slicehost,内核源只能通过以下方式获取http://kernel.slicehost.com... 就我而言,这是我需要的内核源代码:http://kernel.slicehost.com/2.6.33.5-rscloud/patched_source/2.6.33.5-rscloud.tar.bz2
据我所知,这些内核源代码不存在于任何apt-get
存储库中。
因此我下载并提取了源代码,但我认为它的“安装”方式与我经历过的方式不同apt-get install kernel-source
,因此在尝试安装时始终出现此错误dahdi
。
我如何“安装”我的系统的 Slicehost 压缩内核代码,以便可以dahdi
通过apt-get
??安装。
我正在运行 Ubuntu Lucid。
答案1
流程如下。首先准备内核:
wget -q http://kernel.slicehost.com/2.6.33.5-rscloud/patched_source/2.6.33.5-rscloud.tar.gz
mkdir /usr/src/kernels/
tar xzf 2.6.33.5-rscloud.tar.gz -C /usr/src/kernels/
cd /usr/src/kernels/linux-2.6.33.5/
zcat /proc/config.gz > .config
make oldconfig && make modules_prepare
完成后,只需按照 Makefile 中 dahdi 模块提供的文档进行操作:
cd ~
svn co http://svn.digium.com/svn/dahdi/linux/trunk dahdi-kernel
cd dahdi-kernel
KSRC=/usr/src/kernels/linux-2.6.33.5/ make install
然后你就应该一切就绪了:
# modprobe dahdi
# lsmod | grep dahdi
dahdi 186793 0
crc_ccitt 1203 1 dahdi
# modinfo dahdi
filename: /lib/modules/2.6.33.5-rscloud/dahdi/dahdi.ko
version: SVN-trunk-r8983
alias: dahdi_dummy
license: GPL v2
description: DAHDI Telephony Interface
author: Mark Spencer <[email protected]>
srcversion: B1B1151F11B45BEFBEEE0B0
depends:
vermagic: 2.6.33.5-rscloud SMP mod_unload
parm: debug:int
parm: deftaps:int
我刚刚在运行 Debian Lenny 和 2.6.33.5-rscloud 的切片上执行了此操作。
答案2
您检查过这篇文章吗?
按照步骤安装标题并准备模块安装,希望这些可以让您安装包。
软件包通常希望在 /usr/src 中找到内核源代码,因此如果在您在那里解压并执行标头和 module_prepare 操作后出现问题,请尝试从 /usr/src/linux 建立到您解压源代码的位置的符号链接。