下载内核准备编译环境配置模板编译安装新内核问题参考
下载内核linux 5.x下载地址
# 将压缩包放到自己指定的目录,解压 tar -zxf linux-5.10.tar.gz准备编译环境
# 安装依赖,遇到缺啥依赖,就安装啥 yum -y install flex bison libssl-dev openssl-devel elfutils-libelf-devel ncurses-devel # 编码过程中遇到,cc1: error: -Werror=date-time: no option -Wdate-time # 需要使用高版本的gcc[1] yum -y install centos-release-scl yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils scl enable devtoolset-9 bash # 需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。 # 如果要长期使用gcc 9.3的话[1]: echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile配置模板
# config-后用tab键补全 cp /boot/config- .config # 根据需求修改模板 make menuconfig # 来清除以前的配置,回到默认配置 make mrproper编译
# 将配置信息输出到文件,用于[2] make > build_log.txt # 实时查看文件内容 -f 循环读取 tail -f log.log安装新内核
make modules_install make install # 重启,选择编译好的新的内核版本 reboot问题
编程过程中报错提示 ld: final link failed: No space left on device, 虚拟机的磁盘不够需要扩容,参考VMware虚拟机扩展内存和磁盘
参考1 CentOS升级gcc到高版本
2 精确制导 — 把linux内核源码中需要的代码导入Source Insight



