/usr/src/kernels/linux-2.6.25.19/ 在此目录下执行make menuconfig 弹出菜单界面
在此,把几个比较常用选项分别加以介绍
1、Code maturity level options 代码成熟等级
2. Loadable module support 对模块的支持
3. Processor type and features CPU类型
4. General setup 最基本的属性的设置
5. Memory Technology Device(MTD) MTD设备支持
6. Parallel port support 串口支持
7. Plug and Play configuration 即插即用的支持
8. Block devices 块设备
9. Networking options 网络选项
10. Telephony Support 电话支持
11. ATA/IDE/MFM/RLL support 有关各种接口的硬盘/光驱/磁带/软盘的信息
12. SCSI support SCSI设备的支持
13. ISDN subsystem ISDN上网
14. Character devices 字符设备
15. File systems 文件系统
16. Console drivers 控制台驱动
17. Sound 声卡驱动
18. USB support USB支持
*表示内置在内核之中的,编译在vmlinuz-2.6.25.19之中,特点是速度很快
M表示将该功能编译成可以在需要时动态插入到内核中的模块,特点是速度慢 但是模块灵活,用户可以根据自己的环境来选择合适的模块
Y表示将该功能编译进内核
N表示不将该功能编译进内核
在编译内核之前我们可以把boot目录下的config-2.2.6.28-164.e15.config拷贝到/usr/src/kernels/linux-2.6.25.19/目录下并命名为.config的参照文件,这样做可以参照原来的内核配置,无需自己一一选择
cp /boot/config-2.6.18-164.el5 .config
[root@localhost linux-2.6.25.19]# ll –a ##注意.config是隐藏文件
总计 480
drwxrwxr-x 21 root root 4096 08-04 21:22 .
drwxr-xr-x 4 root root 4096 08-04 20:56 ..
drwxrwxr-x 26 root root 4096 2008-10-23 arch
drwxrwxr-x 2 root root 4096 2008-10-23 block
-rw-r--r-- 1 root root 68663 08-04 21:23 .config
我选择iprange作为模块,以利于以后在linux平台下使用iptables对地址范围过滤,也选择time作为模块,可以实现对时间访问的限制,当然了,用户完全可以根据自己的需要来选择模块或者直接编译到内核
完成选择设置之后可以看到产生新的.config 原来拷贝过来的文件的变成了.config.old文件,也可以进入.config文件看看自己选择配置
[root@localhost linux-2.6.25.19]# ll -a
总计 560
drwxrwxr-x 21 root root 4096 08-04 21:37 .
drwxr-xr-x 4 root root 4096 08-04 20:56 ..
drwxrwxr-x 26 root root 4096 2008-10-23 arch
drwxrwxr-x 2 root root 4096 2008-10-23 block
-rw-r--r-- 1 root root 73984 08-04 21:37 .config
-rw-r--r-- 1 root root 68663 08-04 21:23 .config.old
然后开始做最后的编译工作,大概历时一个小时左右,你也可以去小憩一会了
make 编译内核
make modules_install 编译模块
make install 安装
在/etc/grub.conf修改启动内核
vim /etc/grub.conf
default=0 ##1改为0,表示启动的内核版本选择成2.6.25
timeout=5 ##5秒之后默认启动第一个内核版本
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.25.19)
root (hd0,0)
kernel /vmlinuz-2.6.25.19 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.25.19.img
title Red Hat Enterprise Linux Server (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.18-164.el5.img
四、安装完成
重启系统,系统已经内核编译成功
查看内核版本