【Linux】centos7内核编译6.11.3版本及其所出现的问题解决方案(升级make、升级gcc)
文章目录
- 一、编译流程
- 1、下载内核源码并解压
- 2、清理
- 3、配置基础环境
- 4、保存配置
- 5、编译安装
- 6、查看
- 二、出现错误
- 1、报错,make版本过低。
- 2、 gcc版本过低,更新升级gcc至11.2.0版本
- 2.1、下载依赖(yum -y install bzip2)时报错
- 2.2、./contrib/download_prerequisites报错
一、编译流程
1、下载内核源码并解压
先自己下载内核源码压缩包,不要解压。
#解压
tar -xf linux-6.11.3.tar.xz #我的内核版本为6.11.3
2、清理
在解压之后,会出现 linux-6.11.3 文件
#进入文件
cd linux-6.11.3
#清理(删除内核源码中的中间文件、配置文件和备份文件)
make mrproper
3、配置基础环境
在linux-6.11.3文件下
#安装字符终端设备ncurses(已安装请忽略)
yum -y install ncurses-devel
#复制本机内核配置文件到新内核目录.config下
cp /boot/config-3.10.0-514.e17.x86_64 .config
#我的本机内核配置文件是/boot/config-3.10.0-514.e17.x86_64
4、保存配置
make menuconfig
执行命令后会进入如下界面:
点击键盘右键,选择save
选择ok
5、编译安装
#可能要跑几个小时,耐心等待
make -j4 #j后面的数字不要超过自己cpu核心数的两倍。
#进行模块安装
make modules_install
#安装内核
make install
6、查看
重启系统
选择刚刚编译的内核版本
uname -r #查看当前内核版本
二、出现错误
1、报错,make版本过低。
报错信息为:当前make版本为3.82,要升级make版本在4.0之上。
# 下载
wget https://ftp.gnu.org/pub/gnu/make/make-4.4.tar.gz
# 解压配置
tar zxf make-4.4.tar.gz
cd make-4.4
./configure --prefix=/usr
type make
make check
make install
# 验证版本
make -v
2、 gcc版本过低,更新升级gcc至11.2.0版本
报错信息为:当前gcc版本为4.8.5,而gcc最低版本为5.1.0
#下载gcc源码包
wget http://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz
# 解压缩
tar -zxvf gcc-11.2.0.tar.gz
#下载依赖配置文件
yum -y install bzip2
cd gcc-11.2.0
./contrib/download_prerequisites
#配置
mkdir build
cd build/
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
#编译
make
#可用make -j4来加快编译速度,但不要超过cpu核心数的两倍。
2.1、下载依赖(yum -y install bzip2)时报错
#下载并使用阿里云仓库repo
curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
#修改vi /etc/yum.repos.d/epel.repo文件
#将项[xxx]中的enabled=1改为enabled=0
enabled=0
#重新加载yum
yum clean all
yum makecache
2.2、./contrib/download_prerequisites报错
输入以下命令:
yum -y install ca-certificates