LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1527|回复: 8

如何让系统启动时不加载saa7134电视卡模块

[复制链接]
发表于 2006-5-11 06:46:31 | 显示全部楼层 |阅读模式
经历一段痛苦的安装经历后终于把debian安装上并参阅论坛上各位大虾的经验配置好桌面,但是仍然有一个问题仍没解决:启动时系统自动加载saa7134模块,使得音箱常发出沙沙的电台声音,只好在进入系统之后su,rmmod saa7134解决。但是等到下次启动之后仍然如此。请教各位有什么好的解决方法让这个模块不自动加载。谢谢。
发表于 2006-5-11 09:02:11 | 显示全部楼层
修改/etc/modprobe.d/blacklist
加入 blacklist saa7134
回复 支持 反对

使用道具 举报

发表于 2006-5-11 09:15:55 | 显示全部楼层
Debian加载模块的脚本在/etc/rcS.d的S20module-init-tools和S20modutils和S36discover以及S40hotplug里面。
对应前两个的是/etc/modules或者/etc/modules-内核版本号 或者 /etc/modules-内核主版本号文件。也会加载/lib/modules/内核版本号/boot目录下所指定的模块。
对于discover只要添加skip语句即可,对于hotplug需要增加blacklist语句。
或者直接update-rc.d -f hotplug remove把hotplug的启动脚本禁用掉。
所以要想不要加载某个模块以上四点都要顾及到才可以。
我用的是sarge其他版本的不同请直接阅读/etc/init.d中对应的脚本,都是bash写的,不难懂。

忘记说了一点,initrd里面的模块会先于以上四点加载。所以要想禁用没个模块的自动加载,你还需要重新mkinitrd一下,因为mkinitrd脚本可以智能的从当前系统加载的所有模块当中弄进initrd文件中。所以在mkinitrd之前,你应该用rmmod把一些你不想要加载的模块卸载掉。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-11 17:07:39 | 显示全部楼层
谢谢楼上两位的解答,二楼的大哥参照你的意见找补到blacklist文件,是否可以添加一个?楼上的大哥能否再解答得详细些?我非计算机专业的。对你所说的“对于discover只要添加skip语句即可,对于hotplug需要增加blacklist语句”不理解。查阅资料也没有很好的认识。谢谢
回复 支持 反对

使用道具 举报

发表于 2006-5-12 08:49:01 | 显示全部楼层
我用的是testing,/etc/modprobe.d/blacklist这个文件是在udev这个包里。

===========================================
<debian>#more /etc/modprobe.d/blacklist

# This file lists modules which will not be loaded as the result of
# alias expansion, with the purpose of preventing the hotplug subsystem
# to load them. It does not affect autoloading of modules by the kernel.
# This file is provided by the udev package.

# evbug is a debug tool and should be loaded explicitly
blacklist evbug

# these drivers are very simple, the HID drivers are usually preferred
blacklist usbmouse
blacklist usbkbd

# replaced by e100
blacklist eepro100

# replaced by tulip
blacklist de4x5

# replaced by tmscsim
blacklist am53c974

# watchdog drivers should be loaded only if a watchdog daemon is installed
blacklist acquirewdt
blacklist advantechwdt
blacklist alim1535_wdt
blacklist alim7101_wdt
blacklist booke_wdt
blacklist cpu5wdt
blacklist eurotechwdt
blacklist i6300esb
blacklist i8xx_tco
blacklist ib700wdt
blacklist ibmasr
blacklist indydog
blacklist ixp2000_wdt
blacklist ixp4xx_wdt
blacklist machzwd
blacklist mixcomwd
blacklist mpc8xx_wdt
blacklist mpcore_wdt
blacklist mv64x60_wdt
blacklist pcwd
blacklist pcwd_pci
blacklist pcwd_usb
blacklist s3c2410_wdt
blacklist sa1100_wdt
blacklist sbc60xxwdt
blacklist sbc8360
blacklist sc1200wdt
blacklist sc520_wdt
blacklist scx200_wdt
blacklist shwdt
blacklist softdog
blacklist w83627hf_wdt
blacklist w83877f_wdt
blacklist w83977f_wdt
blacklist wafer5823wdt
blacklist wdt285
blacklist wdt977
blacklist wdt
blacklist wdt_pci
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-12 17:09:30 | 显示全部楼层
在/etc/hotplug下找到blcklist
回复 支持 反对

使用道具 举报

发表于 2006-5-12 19:22:05 | 显示全部楼层
Post by AgelessTulip
在/etc/hotplug下找到blcklist

如果有其他模块依赖这个saa7134,那么也要一块列如blacklist,否则还是会自动加载saa7134的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-13 21:27:49 | 显示全部楼层
lsmod得出结果:
Module                  Size  Used by
snd_pcm_oss            48168  0
snd_mixer_oss          16640  1 snd_pcm_oss
ipv6                  229892  10
analog                 10784  0
parport_pc             33348  0
parport                37320  1 parport_pc
floppy                 54992  0
pcspkr                  3816  0
tuner                  18320  0
saa7134                91344  0
video_buf              20356  1 saa7134
v4l2_common             6400  1 saa7134
v4l1_compat            13572  1 saa7134
i2c_core               22416  2 tuner,saa7134
ir_common               5124  1 saa7134
snd_intel8x0           33068  0
snd_ac97_codec         59268  1 snd_intel8x0
snd_pcm                85384  2 snd_pcm_oss,snd_intel8x0
snd_timer              23300  1 snd_pcm
snd_page_alloc         11144  2 snd_intel8x0,snd_pcm
gameport                4736  2 analog,snd_intel8x0
snd_mpu401_uart         7296  1 snd_intel8x0
snd_rawmidi            23204  1 snd_mpu401_uart
snd_seq_device          7944  1 snd_rawmidi
snd                    50660  9 snd_pcm_oss,snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device
pciehp                 83948  0
shpchp                 87148  0
pci_hotplug            30640  2 pciehp,shpchp
intel_agp              20512  1
joydev                  9536  0
evdev                   9088  0
mousedev                9996  1
tsdev                   7168  0
usbhid                 28864  0
uhci_hcd               29328  0
usbcore               104164  4 usbhid,uhci_hcd
i810_audio             33300  1
ac97_codec             16908  1 i810_audio
soundcore               9824  4 saa7134,snd,i810_audio
tulip                  42528  0
agpgart                31784  1 intel_agp
capability              4872  0
commoncap               7168  1 capability
videodev                9856  1 saa7134
psmouse                17800  0
ide_cd                 38176  0
cdrom                  35740  1 ide_cd
rtc                    12088  0
reiserfs              209872  1
ide_generic             1664  0
ide_disk               16768  3
piix                   12448  1
ide_core              125028  4 ide_cd,ide_generic,ide_disk,piix
unix                   26036  366
font                    8576  0
vesafb                  6688  0
cfbcopyarea             3840  1 vesafb
cfbimgblt               3200  1 vesafb
cfbfillrect             3712  1 vesafb


/etc/hotplug/blacklist下内容

#
# Listing a module here prevents the hotplug scripts from loading it.
# Usually that'd be so that some other driver will bind it instead,
# no matter which driver happens to get probed first.  Sometimes user
# mode tools can also control driver binding.
#
# Syntax:  driver name alone (without any spaces) on a line. Other
# lines are ignored.
#

# uhci ... usb-uhci handles the same pci class
usb-uhci
# usbcore ... module is loaded implicitly, ignore it otherwise
usbcore

# evbug is a debug tool and should be loaded explicitly
evbug

# these drivers are very simple, the HID drivers are usually preferred
usbmouse
usbkbd

# replaced by e100
eepro100

# replaced by tulip
de4x5

# replaced by tmscsim
am53c974

# watchdog drivers should be loaded only if a watchdog daemon is installed
acquirewdt
advantechwdt
alim1535_wdt
alim7101_wdt
cpu5wdt
eurotechwdt
i810_tco
i8xx_tco
ib700wdt
indydog
ixp2000_wdt
ixp4xx_wdt
machzwd
mixcomwd
mpc8xx_wdt
pcwd
pcwd_pci
pcwd_usb
s3c2410_wdt
sa1100_wdt
sbc60xxwdt
sc1200wdt
sc520_wdt
scx200_wdt
shwdt
softdog
w83627hf_wdt
w83877f_wdt
wafer5823wdt
wdt285
wdt977
wdt
wdt_pci

不知如何找出模块依赖关系。启动时我仅希望加载常用的模块,这样该如何解决?
回复 支持 反对

使用道具 举报

发表于 2006-5-13 22:14:51 | 显示全部楼层
man modprobe.conf
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表