LinuxSir.cn,穿越时空的Linuxsir!

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

关于内核的一个问题

[复制链接]
发表于 2006-5-14 19:22:29 | 显示全部楼层 |阅读模式
请教一个问题:
用源里的内核,启动后会加载很多的模块,即使我在rc.conf里面设定
MOD_AUTOLOAD="no"
还是会加一大堆根本用不到的模块,吓死人的

  1. [tingxx@Archlinux ~]$ lsmod
  2. Module                  Size  Used by
  3. ipv6                  250560  8
  4. nls_cp437               5760  1
  5. vfat                   11008  1
  6. fat                    48540  1 vfat
  7. fuse                   35856  0
  8. ehci_hcd               29960  0
  9. uhci_hcd               29712  0
  10. usb_storage            78656  0
  11. usbcore               116256  4 ehci_hcd,uhci_hcd,usb_storage
  12. snd_intel8x0           29340  1
  13. snd_ac97_codec         94624  1 snd_intel8x0
  14. snd_ac97_bus            2176  1 snd_ac97_codec
  15. snd_pcm_oss            38176  0
  16. snd_mixer_oss          16384  1 snd_pcm_oss
  17. snd_pcm                78084  3 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
  18. snd_timer              20100  1 snd_pcm
  19. snd                    46432  8 snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
  20. soundcore               7776  1 snd
  21. snd_page_alloc          8200  2 snd_intel8x0,snd_pcm
  22. tulip                  48672  0
  23. xfs                   593004  0
  24. reiserfs              256880  2
  25. jfs                   187004  0
  26. ext3                  127880  0
  27. jbd                    56212  1 ext3
  28. sata_qstor              7556  0
  29. sata_promise            9092  0
  30. sata_sil24              9476  0
  31. sata_nv                 7044  0
  32. sata_mv                16008  0
  33. sata_vsc                6148  0
  34. sata_via                6020  0
  35. sata_uli                4868  0
  36. sata_svw                5764  0
  37. sata_sx4               11780  0
  38. sata_sis                5636  0
  39. sata_sil                7432  0
  40. DAC960                 71360  0
  41. cciss                  29984  0
  42. sx8                    15756  0
  43. cpqarray               19172  0
  44. mptfc                  10120  0
  45. mptspi                  6536  0
  46. mptsas                 16652  0
  47. mptctl                 23044  0
  48. mptscsih               32336  3 mptfc,mptspi,mptsas
  49. mptbase                46308  5 mptfc,mptspi,mptsas,mptctl,mptscsih
  50. megaraid_mbox          25232  0
  51. megaraid_sas           24492  0
  52. megaraid_mm             9380  1 megaraid_mbox
  53. ata_piix                8324  0
  54. osst                   51616  0
  55. megaraid               37700  0
  56. sym53c8xx              74260  0
  57. atp870u                30848  0
  58. aha152x                37304  0
  59. aic79xx               272596  0
  60. aic7xxx               177840  0
  61. ahci                   11396  0
  62. pdc_adma                7556  0
  63. libata                 54284  15 sata_qstor,sata_promise,sata_sil24,sata_nv,sata_mv,sata_vsc,sata_via,sata_uli,sata_svw,sata_sx4,sata_sis,sata_sil,ata_piix,ahci,pdc_adma
  64. raid_class              4992  0
  65. nsp32                  23828  0
  66. aacraid                56832  0
  67. ipr                    59424  0
  68. imm                    11016  0
  69. parport                33864  1 imm
  70. 3w_xxxx                25248  0
  71. tmscsim                20800  0
  72. dc395x                 33552  0
  73. 3w_9xxx                31520  0
  74. a100u2w                 9408  0
  75. BusLogic               23332  0
  76. sr_mod                 15140  0
  77. qlogicfas408            6664  0
  78. st                     35744  0
  79. sg                     27804  0
  80. dmx3191d               11392  0
  81. lpfc                  157120  0
  82. scsi_transport_sas     15360  1 mptsas
  83. qla1280               117132  0
  84. sd_mod                 14976  0
  85. ide_floppy             16000  0
  86. ide_cd                 37792  0
  87. cdrom                  36144  2 sr_mod,ide_cd
  88. ide_disk               14336  5
  89. via82cxxx               8836  0 [permanent]
  90. trm290                  4228  0 [permanent]
  91. triflex                 3328  0 [permanent]
  92. slc90e66                5248  0 [permanent]
  93. sis5513                13196  0 [permanent]
  94. siimage                10624  0 [permanent]
  95. serverworks             8328  0 [permanent]
  96. sc1200                  6656  0 [permanent]
  97. rz1000                  2560  0 [permanent]
  98. piix                    9476  0 [permanent]
  99. pdc202xx_old            9984  0 [permanent]
  100. pdc202xx_new            8448  0 [permanent]
  101. ns87415                 4012  0 [permanent]
  102. it821x                  7684  0 [permanent]
  103. hpt366                 18048  0 [permanent]
  104. hpt34x                  4608  0 [permanent]
  105. generic                 4356  0 [permanent]
  106. cy82c693                4228  0 [permanent]
  107. cs5530                  5120  0 [permanent]
  108. cmd64x                 10780  0 [permanent]
  109. atiixp                  5520  0 [permanent]
  110. amd74xx                14364  0 [permanent]
  111. alim15x3               11280  0 [permanent]
  112. aec62xx                 6912  0 [permanent]
  113. ide_core              116940  28 usb_storage,ide_floppy,ide_cd,ide_disk,via82cxxx,trm290,triflex,slc90e66,sis5513,siimage,serverworks,sc1200,rz1000,piix,pdc202xx_old,pdc202xx_new,ns87415,it821x,hpt366,hpt34x,generic,cy82c693,cs5530,cmd64x,atiixp,amd74xx,alim15x3,aec62xx
复制代码

更怪的是我在rc.conf里面
MOD_BLACKLIST=(ipv6 nls_cp437 xfs jfs jbd)
为什么重启后这些模块还加载呢?
我想把一些我根本不用的模块从内核里除去,如何做?

以前我都是使用自己编绎的内核,今天我装了一个fuse,竟然在自己编绎的内核里
modprobe fuse 说找不到fuse,只能在官方的内核里才能加载上:(
真是怪呀
发表于 2006-5-14 19:44:16 | 显示全部楼层
你修改/etc/mkinitrd.conf,把其中的autodect改为1,然后再mkinitrd auto,就可以了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-14 20:46:46 | 显示全部楼层
谢谢楼上的大哥
能过你的方法我已经除去一些模块了
但是还是有一些没有除掉
  1. [tingxx@Archlinux ~]$ lsmod
  2. Module                  Size  Used by
  3. nls_cp437               5760  1
  4. vfat                   11008  1
  5. fat                    48540  1 vfat
  6. fuse                   35856  0
  7. ehci_hcd               29960  0
  8. uhci_hcd               29712  0
  9. usb_storage            78656  0
  10. usbcore               116256  4 ehci_hcd,uhci_hcd,usb_storage
  11. snd_intel8x0           29340  1
  12. snd_ac97_codec         94624  1 snd_intel8x0
  13. snd_ac97_bus            2176  1 snd_ac97_codec
  14. snd_pcm_oss            38176  0
  15. snd_mixer_oss          16384  1 snd_pcm_oss
  16. snd_pcm                78084  3 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
  17. snd_timer              20100  1 snd_pcm
  18. snd                    46432  8 snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
  19. soundcore               7776  1 snd
  20. snd_page_alloc          8200  2 snd_intel8x0,snd_pcm
  21. tulip                  48672  0
  22. reiserfs              256880  2
  23. ext3                  127880  0
  24. jbd                    56212  1 ext3
  25. ide_cd                 37792  0
  26. cdrom                  36144  1 ide_cd
  27. ide_disk               14336  5
  28. piix                    9476  0 [permanent]
  29. generic                 4356  0 [permanent]
  30. ide_core              116940  5 usb_storage,ide_cd,ide_disk,piix,generic
  31. [tingxx@Archlinux ~]$
复制代码
我在rc.conf中
设了
MOD_BLACKLIST=(nls-cp437 xfs jfs ide_floppy)
为什么重启后这几个模块还在呢?
回复 支持 反对

使用道具 举报

发表于 2006-5-14 21:03:20 | 显示全部楼层
唉!这些模块是 hotplug 探测到的,不想看到的话关了 hotplug 不就行了,包你什么都看不到,整个世界清静了。

不过,你真的会喜欢这样?我很怀疑。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-14 21:31:18 | 显示全部楼层
我的服务里面没有hotplug呀?
DAEMONS=(!syslog-ng !hotplug !pcmcia network !netfs !crond @alsa fam dbus hal)

然后我真的想关掉一些模块,比如xfs jfs 这两种文件格式我没有用,ide_floppy,我又没有软驱呀
回复 支持 反对

使用道具 举报

发表于 2006-5-14 21:55:15 | 显示全部楼层
那你是不是配过 modules.conf(2.6 内核是 modprobe.conf),你看看这个文件是不是你想要的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-14 22:08:14 | 显示全部楼层
我的modprobe.conf是这样的
  1. [tingxx@Archlinux ~]$ cat /etc/modprobe.conf
  2. #
  3. # /etc/modprobe.conf (for v2.6 kernels)
  4. #
  5. alias eth0 tulip
  6. # OSS Compatibility
  7. install snd-pcm modprobe -i snd-pcm ; modprobe snd-pcm-oss ; true
  8. install snd-seq modprobe -i snd-seq ; modprobe snd-seq-oss ; true
  9. # --- BEGIN: Generated by ALSACONF, do not edit. ---
  10. # --- ALSACONF version 1.0.10 ---
  11. alias snd-card-0 snd-intel8x0
  12. alias sound-slot-0 snd-intel8x0
  13. # --- END: Generated by ALSACONF, do not edit. ---
  14. alias net-pf-10 off
  15. alias ipv6 off
  16. [tingxx@Archlinux ~]$
复制代码
是不是我不想要xfs就可以来一个
alias xfs off 之类?
回复 支持 反对

使用道具 举报

发表于 2006-5-14 22:47:13 | 显示全部楼层
我的这个文件是空的,本来网卡等模块可以在这里加载,不过在 Arch 中,这些可以由 rc.conf 来完成,所以这个文件在我这用处不大。

alias eth0 8139too 这样的语句是别名的意思,但我还真不知道可不可以象这样用(alias xfs off)。

回到你的问题上来说,你可以先备份一下这个文件,然后把它清空,重启后看看模块的情况,视情况而订下一步怎么办。(这样再不行,我也不知道了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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