一、下载内核
https://www.kernel.org/pub/linux/kernel/
二、开始编译内核
首先是先进入到解压后的内核目录。
2.1
一般来讲,我们拿到新内核之后,应该执行清理残余配置的步骤。
make mrproper make clean
2.2
编辑Makefile文件,简单的做些自定义。
ERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 32 EXTRAVERSION = -shanks.1.x86_64 #这样修改之后,你的内核名称(uname -r)就会是2.6.32-shanks.1.x86_64
2.3
make menuconfig
2.4
make -jn all #对于一台测试机而言,n可以等于cpu个数的2倍
2.5
make modules_install
2.6
cd /boot cp /usr/src/linux-2.6.32/arch/x86/boot/bzImage vmlinuz-2.6.32-shanks.1.x86_64 cp /usr/src/linux-2.6.32/.config config-2.6.32-shanks.1.x86_64 #centos6之后,你可以用dracut来代替mkinitrd dracut -f -v -H -k ‘/lib/modules/2.6.32-shanks.1.x86_64/‘ initramfs-2.6.32-shanks.1.x86_64.img 2.6.32-shanks.1.x86_64
2.7
vi /boot/grub/grub.conf
#在原有配置的基础上,复制出4行配置,之后做修改: #只要修改title、kernel、initrd三行。 #示例: title CentOS (2.6.32-shanks.1.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-shanks.1.x86_64 ro root=/dev/mapper/vg_livedvd-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_livedvd/lv_root rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_livedvd/lv_swap KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-shanks.1.x86_64.img #最后,记得看下default这行配置,如果你新内核的4行配置是所有title中的第一个,那么default后面的值应该是0
三、重启
本文出自 “my life for my wife” 博客,请务必保留此出处http://shanks.blog.51cto.com/3899909/1363273
原文:http://shanks.blog.51cto.com/3899909/1363273