编译内核
首先,说明下make mrproper和make clean的区别:
make mrproper:保证源代码的干净.即清除原来配置时产生的一些文件和配置文件,使源代码恢复到最初
状态.一般得到源代码后都应先执行下此命令.
make clean:清除配置时产生的大部分文件,但是保留配置文件.
下面说说我对编译2.4和2.6内核还有2.4升级到2.6内核的一些理解和简单步骤.
编译2.4内核.
第一步
下载内核源代码,地球人都知道可以从http://www.kernel.org/下载到最新的源代码.
第二步
将其解压缩在/usr/src/目录下.
如果是.tar.gz格式:
1)tar xzvf ****.tar.gz 或
2)gzip -cd ****.tar.gz | tar xvf -
如果是.tar.bz2
1)tar xjvf ****.tar.bz2 或
2)bzip2 -cd ****.tar.bz2 | tar xvf -
第三步
#make mrproper 得到源代码后,将其净化.
第四步
#make menuconfig 对内核选项进行配置.
第五步
#make dep 建立模块间的依赖信息.
第六步
#make clean 删除配置时留下的一些不用的文件.
第七步
#make bzImage 编译内核.内核较小时可以用make zImage
第八步
#make modules 编译模块.
第九步
#su – 切换到管理员状态,之后输入管理员密码.
第十步
#make modules_install 安装模块.
此时/lib/modules/下应该新生成一个KERNEL_VERSION文件.
第十一步
#mkinitrd /boot/initrd-KERNEL_VERSION.img KERNEL_VERSION 生成启动镜像文件
到此为止,构建内核完毕,第十二步把内核映象和System.map拷贝到/root/下
第十三步为修改gurb配置文件.
第十二步
#cp arch/i386/boot/bzImage /boot/bzImage-KERNEL_VERSION
#cp System.map /boot/System.map-KERNEL_VERSION
#ln -s /boot/System.map-KERNEL_VERSION /boot/System.map
第十三步
#vi /etc/grub_conf 修改grub配置文件
在里面加上如下行:
title Redhat Linux(KERNEL_VERSION)
root (hd0,0)
kernel /boot/bzImage-KERNEL_VERSION ro root=LABEL=/
initrd /boot/initrd-KERNEL_VERSION.img
保存即可,grub修改后不用重新启动.直接生效.
重启,启动grub时就可看到自己新的内核.
步骤总结如下:
解压内核源代码到/usr/src/下后
1, make mrproper
2, make menuconfig
3, make dep
4, make clean
5, make bzImage
6, make modules
7, su -
8, make modules_install
9, mkinitrd /boot/initrd-KERNEL_VERSION.img KERNEL_VERSION
10, cp arch/i386/boot/bzImage /boot/bzImage-KERNEL_VERSION11, cp System.map /boot/System.map-KERNEL_VERSION
12, ln -s /boot/System.map-KERNEL_VERSION /boot/System.map
13, 修改grub_conf
编译2.6内核
编译2.6内核要比编译2.4内核简单一些,大体过程和2.4的类似.
但是不用第三步即make dep,然后make(2.6)=make bzImag + make modules(2.4). 其余和上述步骤相同.
2.4升级到2.6的过程:
2.4升级到2.6前需要先阅读2.6内核源代码中的README和Documentation/Changes文件,其中包含了2.6内核所需要的一些软件的最低版本信息和一些其他有用的信息.
在进行升级之前,先要对机器上一些重要的数据做好备份,此点非常重要.
Documentation/Changes中列出了2.6所需要的一些软件的最低版本,可以根据自己的需要,选择性的升级其中的一些软件,但是对于像我一样的菜鸟们建议把软件包都升级,因为暂时还不太了解所有软件包的作用…
其中比较重要的是module_init_tools和glibc.可以使用rmp -U ***.rpm进行软件包的升级.
当把重要的数据备份完,和需要的软件包升级完成后,编译内核.
同2.6内核编译过程.
以上内容纯粹是对内核编译的个人理解,如有说错的地方,请看到的朋友们及时指正,不胜感激.

给你顶一个哈 。。。。
加油 。。
呵呵,谢了:)