在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
包含contrib
和non-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 |
而已!