一、编译内核前我们要先了解自己系统的相关硬件信息:
1)lspci 列出硬件设备信息
这里列出了,有IDE信息,网卡信息,PCI信息等等。
2)hal-device 列出的更详细,分常多就不列举了,他有个图形化的工具是hal-device-manager
3)dmidecode 查看主板相关信息
可以-t 指定相关参数
比如查看CPU dmidecode -t 4 或者 dmidecode -t porcessor
4)x86info 查看64位的相关信息
二、编译内核,我们可以再www.kernel.org上获得最新的内核。
1)下载后解压到/usr/src下,这里我以2.6.28为例
#tar -xf linux-2.6.28.10.tar.gz -C /usr/src/
#cd /usr/src
#ln -s linux-2.6.28.10/ linux (创建连接)
之后进入Linux目录就和以开始编译了
2)配置内核选项
make config 文本
make menuconfig 文本菜单
make xconfig 图形话的需要安装相关软件rpm -qa | grep qt
3)纯文本的是交互式的要一个个问非常慢,这里就以make menuconfig 文本菜单来做
另注意如果我们是用的软件连接的话要注意窗口的大小,默认显示在25行和80列的显示其上,所以建议使用的大点,要不会报错。
4)之后就可以看到我们的选项信息了
这里Y表示选着进内核,M表示编译成模块,N 表示不选着
在make menuconfig 下*表示Y,M表示M,空白为N
[ ] 编译或者移除
< > 编译或者模块化或者移除
{ } 编译或者模块化(被其他特性选着)
– – 被其他特性选着
至于选什么就不列举出来了,就使用默认的了,后面给个编译手册非常详细的
5)选着好之后会在当前目录产生一个.config的文件,这里面就是相关的信息,之后就可以此次执行:
# make 编译内核
# make modules_install 安装内核模块
# make install 安装新内核
6) 默认自动在/boot/grub/grub.conf里添加好相关信息了,查看一下有没有,之后就可以重新启动了,在grub菜单选着我们的新内核启动,进入后# uname -r 看到内核信息就成功了。
三,补充make 相关信息
1)如果编译失败的怎么办?
#make mrproper 清理源码树
#make clean 清理后就可以继续了(会清理掉.config文件,建议备份后在清理)
2)如果我们用的是软件连接的话,正在编译中终端关闭了怎么办?
这里我们推荐个screen命令,没有的话yum 安装同名软件即可
直接#screen会产生个新的终端,我们在里面make即可
Ctrl+a在按d推出,做其他的也可以
#screen -ls 查看终端的信息会显示进程号
#screen -r 进程号即可恢复,如果只有一个的话不用加进程号直接恢复
在其他终端页可是查看进入,这样我们关闭当前终端也不会怕有问题了。