CentOS中编译内核步骤及说明

来源:互联网 发布:在美国买mac口红便宜吗 编辑:程序博客网 时间:2024/05/16 19:54

从接触Linux到现在,在不同的linux上编译了很多种内核,但是每次编译总会丢掉一些步骤,直接导致机器无法启动,需要跑机房重启机器。现在把CentOS下内核编译步骤记录,备不时之需。

1. 下载Linux内核
下载的方法就不用说了,到http://www.kernel.org/pub/linux/kernel/v2.6/中下载需要版本的内核,解压缩。
2. 切换到内核源码目录中
即上一步中解压缩之后的目录。
3. 清理以前的编译痕迹
如果内核源码是刚解压缩出来的,可以跳过这一步,否则执行以下两条命令:

12
make mrpropermake clean

4. 设置内核编译选项
命令如下:

12
cp /boot/config-`uname -r` .configmake menuconfig

执行该命令需要ncurses库,如果执行出错则执行如下命令安装ncurses:

1
yum install ncurses-devel

5. 编译内核压缩镜像

1
make bzImage

编译会生成bzImage文件,对应于/boot目录下的vmlinuz文件,是压缩过的内核文件。启动加载时将该文件解压缩到内存中之后才能执行操作系统。
6. 编译内核模块

1
make modules

内核在运行过程中,除需要内核文件之外,还需要加载一些外围模块(例如驱动程序)等才能运行。
7. 安装内核模块

1
make modules_install

安装上一步中编译的内核模块,一般都会安装到/lib/modules目录下。
8. 安装内核

1
make install

这句命令很简单,它会在/boot目录下生成vmlinux/System.map两个文件,并且在/boot/grub目录中生成menu.lst文件。有关menu.lst文件的修改方法请Google一下。
9. 启动新的内核
修改/boot/grub/menu.lst文件,将新生成的默认启动项修改为刚生成的启动项,重启即可:

1
reboot

来自: Now Code,转载请注明出处: http://now-code.com/archives/153