本文参考转载http://linux.vbird.org/linux_basic/0540kernel.php#make_module 鸟哥的linux私房菜。提供两个方法,(听说)第一个方法适合内核小范围更新,不适合一次更新到最新的内核。 一、 [root@www1 ~]# uname -r #当前内核 3.10.0-327.el7.x86_64 [root@www1 ~]# tar -xf linux-3.11.tar.xz -C /usr/src #下载内核 [root@www1 ~]# cd /usr/src/; ls [root@www1 src]# ln -s linux-3.11 linux [root@www1 src]# cd linux [root@www1 linux]# cp /boot/config-3.10.0-327.el7.x86_64 .config [root@www1 linux]# make help [root@www1 linux]# make menuconfig #yum -y install ncurses-devel #打开内核编译界面,随便(或根据需要)做个小改动测试 [root@www1 linux]# screen #用screen界面编译,在编译过程出现断线时,还能继续编译,用法请自行man [root@www1 linux]# make -j 4 [root@www1 linux]# make modules_install [root@www1 linux]# make install [root@www1 linux]# reboot #编译完成重启系统
二、升级到新版内核(含升级过程中出现的错误提示) [root@www1 ~]# wget http://elrepo.org/linux/kernel/el7/SRPMS/kernel-lt-4.4.143-1.el7.elrepo.nosrc.rpm [root@www1 ~]# rpm -ivh kernel-lt-4.4.143-1.el7.elrepo.nosrc.rpm warning: kernel-lt-4.4.143-1.el7.elrepo.nosrc.rpm: Header V4 DSA/SHA1 Signature, key ID baadae52: NOKEY Updating / installing... 1:kernel-lt-4.4.143-1.el7.elrepo ################################# [100%] warning: user ajb does not exist - using root [root@www1 ~]# useradd -s /sbin/nologin ajb [root@www1 ~]# cd rpmbuild/SOURCES/ [root@www1 SOURCES]# vim config-4.4.143-x86_64 5813 CONFIG_VFIO_PCI_VGA=y [root@www1 SOURCES]# cd ../SPECS/ [root@www1 SPECS]# vim kernel-lt-4.4.spec 145 Source0:linux-%{LKAver}.tar.xz [root@www1 SPECS]# yum install asciidoc openssl-devel xmlto audit-libs-devel binutils-devel [root@www1 SPECS]# yum install elfutils-devel java-1.8.0-openjdk-devel newt-devel numactl-devel perl slang-devel xz-devel pciutils-devel [root@www1 SPECS]# yum install perl-devel perl-ExtUtils-Embed [root@www1 SPECS]# rpmbuild -bb kernel-lt-4.4.spec [root@www1 ~]# yum install /root/rpmbuild/RPMS/x86_64/kernel-lt-4.4.143-1.el7.centos.x86_64.rpm [root@www1 ~]# reboot [root@www1 ~]# uname -r 4.4.143-1.el7.centos.x86_64 #已成功升级内核