广告

本站里的文章大部分经过自行整理与测试

2017年10月23日星期一

CentOS - 编译新的内核

1) 下载与解压内核源码

https://www.kernel.org/

$ su

$ mkdir -p /app/tmp
$ cd /app/tmp

$ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.13.9.tar.xz
$ tar xvJf linux-4.13.9.tar.xz

$ cd linux-4.13.9

2) 准备配置文件.config (拿 /boot/config 文件做 template), 备份 /boot/grub2/grub.cfg

$ cp /boot/config-3.10.0-514.el7.x86_64 /app/tmp/linux-4.13.9/.config
$ cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.backup

3) 安装编译工具

$ yum groupinstall "development tools"
$ yum install ncurses-devel
$ yum install openssl-devel -y

4) 配置内核选项

$ cd /app/tmp/linux-4.13.9
$ make menuconfig

5) 开始编译内核

$ make -j 8

6) 安装模块与内核相关文件

$ make modules_install
$ make install

$ ls /boot

新的文件:
/boot/config-4.13.9-*.el7.x86_64
/boot/initramfs-4.13.9-*.img
/boot/symvers-4.13.9-*.el7.x86_64.gz
/boot/System.map-4.13.9-*.el7.x86_64
/boot/vmlinuz-4.13.9-*.el7.x86_64

更改的文件:
/boot/grub2/grub.cfg

7) 卸载

a) 删除 /lib/modules 目录下不需要的内核库文件
b) 删除 /usr/src/kernels 目录下不需要的内核源码
c) 删除 /boot 目录下启动的内核和内核映像文件
d) 更改 grub 配置文件, 删除不需要的内核启动列表 (以上已备份了)
$ mv /boot/grub2/grub.cfg.backup /boot/grub2/grub.cfg

没有评论:

发表评论