LinuxSir.cn,穿越时空的Linuxsir!

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

還問一個無厘頭的問題,關於內核模塊

[复制链接]
发表于 2011-5-19 07:08:58 | 显示全部楼层 |阅读模式
每次更新内核,有些問題總想搞搞清楚。
為什麼內核中的某些部分需要編譯成模塊,
有些不需要,這些有一些原则可循嗎?
发表于 2011-5-19 09:37:12 | 显示全部楼层
偶尔用到的东西build成模块,开机必用的就build进内核。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-19 09:59:20 | 显示全部楼层
Post by gamedragon;2139636
偶尔用到的东西build成模块,开机必用的就build进内核。


感覺這個規則不適用於內核中顯卡的部分。
回复 支持 反对

使用道具 举报

发表于 2011-5-19 11:43:22 | 显示全部楼层

  • 就我所知道的情况来说,网卡的驱动选项最好编译为模块,无线网卡和PPPoE选项必须编译成模块。
  • 涉及framebuffer的选项,例如nouveau,可能留在内核中比较好,否则framebuffer的加载可能会晚一些。
  • 其他的可以参考menuconfig中的help内容而定。有些选项似乎编译成模块更好,例如... FUSE?
  • 极少使用但可能使用的选项,可以编译成模块。编译成模块的代价是内存占用会稍多一点。
回复 支持 反对

使用道具 举报

发表于 2011-5-19 13:44:42 | 显示全部楼层
Post by easior lars;2139639
感覺這個規則不適用於內核中顯卡的部分。

为啥不适用于显卡呢?
第三方只能编译成模块不能算在这个范围之内。
回复 支持 反对

使用道具 举报

发表于 2011-5-19 18:53:45 | 显示全部楼层
Post by gamedragon;2139636
偶尔用到的东西build成模块,开机必用的就build进内核。


正解!
按需要选择,这是linux给我们的自由;

我个人的原则是尽可能编译进内核,
因为我觉得宏内核就该这样。
内核模块感觉想是权宜之法。。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-19 20:22:29 | 显示全部楼层
Post by 2603301009;2139696
正解!
按需要选择,这是linux给我们的自由;

我个人的原则是尽可能编译进内核,
因为我觉得宏内核就该这样。
内核模块感觉想是权宜之法。。。。。


有些驅動不編譯成模塊,系統會無法啟動。
回复 支持 反对

使用道具 举报

发表于 2011-5-19 21:07:09 | 显示全部楼层
很苦恼的一件事是就算网卡、蓝牙什么的被编译成模块,都会在udev-trigger的时候被自动载入,除非显式的禁止,但如果开机就载入的话跟编译到内核里又没啥区别。。。所以我的想法时一定需要零时去除的功能才编成模块,其他都编入内核。
举个例子把,用qemu时需要kvm模块,但用virtualbox的话又不允许kvm被加载,这样kvm就编译成模块好了。。。
回复 支持 反对

使用道具 举报

发表于 2011-5-19 21:25:27 | 显示全部楼层
模块没关系,实在不行塞initramfs里……
回复 支持 反对

使用道具 举报

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

本版积分规则

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