使用模块助手构建内核模块在Debian Lenny

使用模块助手构建内核模块在Debian Lenny module-assistant是一个从中构建Debian内核模块的工具 源,没有...

在Debian Lenny上构建模块助手的内核模块

module-assistant是从源代码构建Debian内核模块的工具,无需重新构建整个内核。 它通过apt获取为Debian发行版准备的模块源包,并生成.deb包。 本教程将介绍如何在命令行模式和交互模式下使用模块助手。

我不会保证这将为您工作!

1初步说明

在本教程中,我将演示如何为Debian Lenny构建ndiswrapper内核模块。 该模块助理知道的任何其他内核模块的过程是相同的。

2在命令行模式下使用模块助理

安装模块助理如下:

aptitude install module-assistant

接下来,我们必须使模块助手下载当前内核的头文件,以及从源代码构建软件包所需的一些工具(如build-essential等等)。 这可以通过以下命令来实现:

m-a prepare

现在我们通过运行以下方式更新可用的内核模块列表:

m-a update

server1:~# m-a update

Updated infos about 85 packages
server1:~#

命令

m-a list

以详细的形式显示可用内核模块的列表,以及

m-a -t list | grep -E '^[^ ].*\(' | cut -d " " -f 1 | sort

以简短的形式显示相同的列表,例如:

server1:~# m-a -t list | grep -E '^[^ ].*\(' | cut -d " " -f 1 | sort
acx100-source
affix-source
alsa-source
arla-modules-source
at76c503a-source
bcm4400-source
bcm5700-source
cdfs-src
cipe-source
cloop-src
comedi-source
cpad-kernel-source
cryptoapi-core-source
cryptoloop-source
dazuko-source
ddrmat-source
device3dfx-source
drbd0.7-module-source
drbd8-module-source
dvb-driver-source
e100-source
eagle-usb-modules-source
em8300-source
exmap-modules-source
fglrx-kernel-src
freeswan-modules-source
ftape-source
ftpfs-src
fuse-source
fwatch-modules-src
gpib-modules-source
hostap-source
hubcot-source
i2c-source
ieee80211-source
ipw2100-source
ipw2200-source
ivtv-source
kqemu-source
linux-uvc-source
linux-wlan-ng-source
lirc-modules-source
lm-sensors-source
loop-aes-ciphers-source
loop-aes-source
lufs-source
madwifi-source
mga-vid-source
misdn-kernel-source
ndiswrapper-source
nozomi-source
nvidia-kernel-legacy-source
nvidia-kernel-source
openafs-modules-source
openswan-modules-source
ov511-source
pcmcia-source
plex86-kernel-src
ppscsi-source
qc-usb-source
qla2x00-source
realtime-lsm-source
rt2400-source
rt2500-source
rt2570-source
rtai-source
shfs-source
sl-modem-source
spca5xx-source
squashfs-source
sysprof-module-source
thinkpad-source
tidev-modules-source
translucency-source
tun-source
unicorn-source
unionfs-source
userlink-source
vaiostat-source
video4linux-nw802-source
wacom-kernel-source
xdslusb-source
xlibmesa-drm-src
zaptel-source
zd1211-source
server1:~#

在我们选择一个模块来构建之前,我们应该确保我们的/etc/apt/sources.list包含contribnon-free存储库,因为否则模块助手可能无法为我们想要的内核模块安装所需的依赖项建立:

vi /etc/apt/sources.list

[...]
deb http://ftp2.de.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp2.de.debian.org/debian/ lenny main contrib non-free

deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free
[...]

aptitude update

如果你必须修改/etc/apt/sources.list

现在我们可以构建内核模块。 我想构建ndiswrapper内核模块,所以我运行:

m-a a-i ndiswrapper

(请注意, ma列表将字符串-source附加到所有可用的模块,但是当我们使用ma ai构建模块时,我们将该字符串退出)

这不仅将构建内核模块的.deb包,还可以自动安装它。

现在安装了这个模块,我们可以把它加载到我们的内核中,如下所示:

modprobe ndiswrapper

检查它是否真的加载,运行:

lsmod | grep ndiswrapper

输出应与此类似:

server1:~# lsmod | grep ndiswrapper
ndiswrapper           152348  0
usbcore               118160  1 ndiswrapper
server1:~#

要确保在引导系统时自动加载该模块,可以将其添加到/ etc / modules中

vi /etc/modules

[...]
ndiswrapper

而已!