编译定制的内核有好处也有坏处。但是,作为新手的linux用户或管理员发现编译Linux内核有一定困难。其实编译内核几乎不需要理解什么,只是简单的敲一组命令。这个教程一步一步地涵盖了在Debian GNU Linux下一步一步编译Linux2.6.xx内核的过程。不过,对于其他的发行版本命令也是一样的。
获得最新的linux内核源码
访问 ,下载最新的内核源代码。 文件名形如linux-x.y.z.tar.bz2,这里x.y.z是实际的版本号。例如文件linux-2.6.25.tar.bz2 代表 2.6.25的内核版本。可以用wget命令来下载内核的源代码。
|
|
提示:用实际的版本好来替换x,y,z。
提取bz2(bz3)文件
键入如下命令:
|
|
配置内核
在你配置内核之前,确保你系统中装有开发环境(gcc编译器和相关的工具)。如果gcc编译器和工具没有安装,那么在Debian Linux系统中可以用apt-get命令来安装。(novego:其他系统中gcc的安装方法可以在网上搜索到)
|
|
现在你就可以用下述命令中的一个来配置内核: make config - 会一条一条的进行配置 make menuconfig - 基于文本的配置工具。(novego:需要ncurses(ncurses-devel)的支持。) make xconfig - 基于x window(qt)的配置工具,在KDE桌面下工作最为合适 make gconfig - 基于x window(gtk)的配置工具, 在Gnome桌面下工作最为合适
例如如下的命令将启动基于文本的配置工具
|
|
你需要根据你自己的需求来选择不同的选项(novego:例如如果没有scsi设备就可以在编译时去掉scsi模块)。每一个选项都有help按钮可以获取帮助信息。
编译内核
开始编译内核并创建一个压缩的内核镜像,输入:
|
|
开始编译内核模块:
|
|
安装内核模块(需要root权限,使用用su命令):
|
|
安装内核
到目前为止我们已经编译了内核并安装了内核模块,是时侯要安装内核自身了。
|
|
上述的命令会安装三个文件到/boot目录下,同时也会修改你的grub配置文件(menu.lst) System.map-2.6.25 config-2.6.25 vmlinuz-2.6.25
创建initrd镜像
在Shell提示符下敲入以下的命令:
|
|
initrd镜像包含设备驱动,这些是以后载入操作系统其他部分所需要的。并不是所有的电脑都需要initrd,但创建一个更安全。
修改grub配置文件
/boot/grub/menu.lst,用vi打开文件
|
|
添加以下的内容:
|
|
记住去设置好root=/dev/hdxx设备。保存并关闭文件。如果你你觉得手工编辑和敲入这些行太麻烦了,试试update-grub命令来更新menu.lst文件。只用敲入以下命令:
|
|
重启电脑进入新的内核
重启就可以了
|
|
写在后面:此文为译文,英文原文连接为 http://www.cyberciti.biz/tips/compiling-linux-kernel-26.html