[root@kvm02 src]# pwd
/usr/local/src
[root@kvm02 src]# wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.306.tar.xz
[root@kvm02 src]# tar -xf linux-4.19.306.tar.xz
[root@kvm02 src]# ll
total 110360
drwxrwxr-x 24 root root 4096 Jan 26 06:34 linux-4.19.306
-rw-r--r-- 1 root root 113004356 Jan 28 18:40 linux-4.19.306.tar.xz
下载编译必要包
[root@kvm02 src]# yum -y install gcc make ncurses-devel flex bison openssl-devel elfutils-libelf-devel
准备编译环境
[root@kvm02 ~]# cd /usr/local/src/linux-4.19.306/
`拷贝config文件因为编译的时候要读取,用现成的`
[root@kvm02 linux-4.19.306]# cp /boot/config-3.10.0-1160.el7.x86_64 .config
选择新内核功能
[root@kvm02 linux-4.19.306]# make menuconfig
a)新增加系统功能
按需自助添加
b)定义内核名
`其实改的就是这个文件`
[root@kvm02 linux-4.19.306]# ls -l .config
-rw-r--r-- 1 root root 200875 Jan 28 19:05 .config
[root@kvm02 linux-4.19.306]# vim .config
..........
CONFIG_LOCALVERSION="-tang-linux-666"
.........
编译内核
[root@kvm02 linux-4.19.306]# time make -j 4
# -j 4 表示4个cpu参与编译
安装内核
[root@kvm02 linux-4.19.306]# make modules_install
[root@kvm02 linux-4.19.306]# ls /lib/modules
3.10.0-1160.el7.x86_64 4.19.306-tang-linux-666
[root@kvm02 linux-4.19.306]# make install
[root@kvm02 linux-4.19.306]# ls /boot/
config-3.10.0-1160.el7.x86_64 symvers-3.10.0-1160.el7.x86_64.gz
efi System.map
grub System.map-3.10.0-1160.el7.x86_64
grub2 System.map-4.19.306-tang-linux-666
initramfs-0-rescue-69fdbaf07a904c33b2f82f9b4fefde02.img vmlinuz
initramfs-3.10.0-1160.el7.x86_64.img vmlinuz-0-rescue-69fdbaf07a904c33b2f82f9b4fefde02
initramfs-3.10.0-1160.el7.x86_64kdump.img vmlinuz-3.10.0-1160.el7.x86_64
initramfs-4.19.306-tang-linux-666.img vmlinuz-4.19.306-tang-linux-666
重启验证
[root@kvm02 linux-4.19.306]# reboot
[root@kvm02 ~]# uname -r
4.19.306-tang-linux-666
卸载内核
-
删除/usr/src/local/linux-4.19.306/目录下不需要的内核源码
-
删除/lib/modules/目录下不需要的内核库文件
-
删除/boot目录下启动的内核和内核映像文件
-
更改grub的配置文件,删除不需要的内核启动列表 grub2-mkconfig -o /boot/grub2/grub.cfg








文章评论