分类: LINUX
2006-08-22 11:27:46
本着为大家提供编译内核的通用方法论,小孙结合个人实践,记载了一点愚见。
1.基本常识部分:
通用配置文件有很多用不到的设备,编译时间很长,对频繁自己动手升级内核的人而言不利。
很多驱动是开机就加载的,例如发行版的配置文件module.conf里罗列的。
还有部分是内核开启了自动加载机制,而按需加载的。
如果你的系统没有某种设备,那么相应的内核模块是不能加载上去的。
所以,不论哪种情况,我们都可以研究现有的系统来编译自己的内核。
M v.s. Y:
module灵活性高,驱动开发必选。
2.内核通用配置部分:
该部分内容很少,而且不同机器基本通用。
自己完全可以逐项看完。按需选择吧。
3.硬件驱动部分:
熟悉计算机组成原理
小技巧:
lspci或者gnome下的Device Mangager,了解硬件的型号芯片组。
lsmod,了解kernel已经加载的模块,这些模块一般是要保留的。
小孙当初记下了所有默认加载的内核模块,并排好了调用关系,
2.4内核用了一张白纸,2.6内核用了两张。
如果安装了modconf,sudo modconf,熟悉mod在内核menuconf的菜单对应。
内容很多,只看需要看的。
涉及到路由和iptable,ipfilter的内容请阅读的相关部分。
6.其他部分,安全,加密等:
内容很少,按需加入。不确定的,优先考虑它的说明文档。
“unsure,yes"的一定要选择。
0)耐心,“由简到繁,由陌生到熟悉”逐步修改。
1)与boot相关的硬件驱动编译进内核,特别是CPU和启动盘。
2)最好先在他人以修改好的“.config文件”上修改,可以省去网络配置的复杂。
修改重点是cpu,显卡,声卡,主板。小孙认为这是学习如何配置的最好方法。
显卡,声卡,主板,自动加载的就是最符合系统的驱动。
为了节省再次编译的时间,去掉其他芯片的驱动。
3)无线网络部分涉及intel固件版权,编译为模块。
iptables,ipfilter的相关推荐编译为模块。
4)字符设备内容较多且涉及主板芯片组,要小心对待。
5)nv和ati新显卡都有linux下的驱动。如果没有,那你就需要了解显卡的芯片组,使用内核里的驱动。