第十三章:内核重新编译与升级
内容简介
linux内核简介
linux内核版本号
linux为什么重新编译内核
linux内核编译模式
linux内核功能划分
linux内核编译步骤
其它升级内核的方法 阅读全文 »
内容简介
linux内核简介
linux内核版本号
linux为什么重新编译内核
linux内核编译模式
linux内核功能划分
linux内核编译步骤
其它升级内核的方法 阅读全文 »
在网络中,不少服务器采用的是Linux系统。为了进一步提高服务器的性能,可能需要根据特定的硬件及需求重新编译Linux内核。编译Linux内核,需要根据规定的步骤进行,编译内核过程中涉及到几个重要的文件。比如对于RedHat Linux,在/boot目录下有一些与Linux内核有关的文件,进入/boot执行:ls -l。编译过RedHat Linux内核的人对其中的System.map 、vmlinuz、initrd-2.4.7-10.img印象可能比较深刻,因为编译内核过程中涉及到这些文件的建立等操作。那么这几个文件是怎么产生的?又有什么作用呢?本文对此做些介绍。
下载linux-2.6.29.4.tar.bz2到/usr/src
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.tar.bz2
# tar -jxvf linux-2.6.27.tar.bz2
# cd linux-2.6.27
# make mrproper
# make menuconfig
# make clean
# make bzImage
# make modules
# make modules_install
# mkinitrd /boot/initrd_2.6.27.img 2.6.27
执行mkinitrd命令时,提示”No module dm-mem-cache found for kernel 2.6.27, aborting.”时,表明该版本的mkinitrd有bug。
解决方法,1是当使用mkinitrd时,使用”-without-dmraid”这个参数。2是在使用mkinitrd之前,先创建一个noraid文件。创建方法如下:
# echo “DMRAID=no” > /etc/sysconfig/mkinitrd/noraid
# chmod 755 /etc/sysconfig/mkinitrd/noraid
然后再运行mkinitrd命令。