LinuxSir.cn,穿越时空的Linuxsir!

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

如何阻止系统自动加载模块

[复制链接]
发表于 2009-7-21 20:08:02 | 显示全部楼层 |阅读模式
系统启动后自动加载声卡等模块,如snd_hda_intel等。我在/etc/modprobe.d/blacklist.conf加了blacklist,但好像不起作用。谁给点建议?
发表于 2009-7-21 22:00:13 | 显示全部楼层
你别编译这些模块不就完了吗,

另外你不指定系统加载的话,他也不会加载吧。
回复 支持 反对

使用道具 举报

发表于 2009-7-21 22:06:29 | 显示全部楼层
如果是baselayout-2我記得好像換地方了。
回复 支持 反对

使用道具 举报

发表于 2009-7-21 22:11:44 | 显示全部楼层
http://www.gentoo.org/doc/en/han ... mp;chap=7#doc_chap5

我的理解是不写就不会自动加载,莫非我理解有错?
回复 支持 反对

使用道具 举报

发表于 2009-7-21 22:25:16 | 显示全部楼层
理解錯了喲。

1 genkernel生成內核的話,有一些模組會在initramfs運行時就被載入。
2 之後udev運行時會嘗試啟動一些設備,會載入一些模組(不確定)。
3 如果這里有設置,會在modules運行時載入。

樓主是baselayout 1還是2,實在記不得黑名單設置的地方變了沒。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-21 22:38:41 | 显示全部楼层
Post by 亞利艾爾;2008240


baselayout 1還是2

你指的是这个?
stoneage ~ # rc-update show
            bootmisc | boot                          
             checkfs | boot                          
           checkroot | boot                          
               clock | boot                          
         consolefont | boot                          
                hald | boot                          
            hostname | boot                          
             keymaps | boot                          
               local |      default nonetwork        
          localmount | boot                          
             modules | boot                          
              net.lo | boot                          
            netmount |      default                  
           rmnologin | boot                          
           syslog-ng |      default                  
             urandom | boot                          
          vixie-cron |      default                  
                 xdm |      default


不好意思理解错了,在学习中。。。
回复 支持 反对

使用道具 举报

发表于 2009-7-21 22:41:40 | 显示全部楼层
好象有几个加载的地方,openrc,blacklist.conf,udev好象都能加载,我这边blacklist.conf有效。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-21 23:02:15 | 显示全部楼层
eix baselayout
sys-apps/baselayout
     Available versions:  [P]1.11.15-r3 1.12.11.1 ~1.12.12 ~2.0.0 ~2.0.1 {bootstrap build static unicode}
     Installed versions:  1.12.11.1(12:47:54 AM 07/04/2009)(unicode -bootstrap -build -static)
     Homepage:            http://www.gentoo.org/
     Description:         Filesystem baselayout and init scripts

我应该是baselayout-1,
udev应改就是在blacklist中禁止加载模块的吧。我加了无效。
同时在问一句,update-modules 报/etc/modprobe.d/下无alsa,只有alsa.conf,改成alsa后就好了,这是bug么?
回复 支持 反对

使用道具 举报

发表于 2009-7-22 00:32:42 | 显示全部楼层
Post by 亞利艾爾;2008240
理解錯了喲。

1 genkernel生成內核的話,有一些模組會在initramfs運行時就被載入。
2 之後udev運行時會嘗試啟動一些設備,會載入一些模組(不確定)。
3 如果這里有設置,會在modules運行時載入。

樓主是baselayout 1還是2,實在記不得黑名單設置的地方變了沒。


哈哈,不了解linux内核啊。
回复 支持 反对

使用道具 举报

发表于 2009-7-22 07:15:18 | 显示全部楼层
系统启动时最基本的脚本程序在每个发行版都是有不一样的。因此发行版之间的基础设置,主要是配置文件的位置都不大一样。gentoo所用的基础程序是:
stable: sysvinit + baselayout-1.x
unstable: sysvinit + baselayout-2.x + openrc
哪些文件和它们相关?qlist一下就了解了:)

因为gentoo发展的一些考虑,开发人员用C语言(原来是bash)重写了 baselayout,将其拆分为两个部分:baselayout和openrc,确实明显的改进了启动速度,具体详情可以参看此文:
http://www.gentoo.org/doc/zh_cn/openrc-migration.xml

udev是管理启动的时候加载一些PNP设备用的,是由最开始的hotplug和coldplug组合发展而来,声卡,网卡,光驱,输入设备,u盘等等都由它来检测与启动。有关udev详情,请参看此文(未翻译):
http://www.gentoo.org/doc/en/udev-guide.xml

系统模块的管理是 module-init-tools 的工作,udev或baselayout在使用模块时应该只是调用了module-init-tools中的工具。近来module-init-tools升级到3.9,规定了/etc/modprobe.d/ 目录下的文件要以 .conf 为后缀名,例如alsa.conf ,i386.conf。因此最新的udev,baselayout/openrc针对这种情况都进行了一定的调整,修改了/etc/modprobe.d/目录下文件名的格式。

楼主说的alsa模块的加载,从udev的文件来看,应该是它管理的,/etc/modprobe.d/blacklist文件没错,是不是你写的格式不正确?

楼主用的应该还是x86稳定版,个人觉得桌面用户还是用~x86方便吧。
回复 支持 反对

使用道具 举报

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

本版积分规则

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