记录centos 7内核编译升级遇到的问题
安装过程:
一、https://www.kernel.org下载解压所需内核版本;
二、为避免大量配置,将之前内核的配置文件复制到解压后的内核目录中;
三、安装所需的依赖包,含epel源(避免依赖包版本老旧)、开发工具包组、ncurse-devel、openssh-devel、elfutils-libelf-devel、bc等;
四、运行make menuconfig,配置个性化,保存后退出;
五、编译内核:运行make;
六、编译安装模块:运行make module_install;
七、安装内核文件:运行make install;
注:如需更改默认启动内核:grub2-set-default 0(数字0为/boot/grub2/grub.cfg中第一个menuentry段内核)
1.第一个遇到的问题:
现象:编译内核时,当运行此文件scripts/mod/empty.o error 1,弹出-Werror=date-time;
解决方法:因前面出现CC提示,后来查找了-Werror=date-time参数,发现是GCC版本问题,最后更新新版本后问题解决;
GCC升级过程:安装centos-release-scl(yum install centos-release-scl),安装devtoolset(yum install devtoolset-x-gcc*,其中x为GCC版本数字),激活devtoolset(scl enable devtoolset-x bash),检测(gcc -v);(注:此时为临时环境,下次可到/opt/rh/devtoolset-x/目录,找到enable文件,激活source ./enable;如需替换老旧版本,先备份旧版本GCC[mv /usr/bin/gcc /usr/bin/gcc.bak];链接新版本[ln -s /opt/rh/devtoolset-x/root/bin/gcc /usr/bin/gcc])
参考:https://www.cnblogs.com/jixiaohua/p/11732225.html(GCC升级)
https://blog.csdn.net/feiyangyangfei/article/details/79957551(按作者解决方法,注释和修改makefile文件还是出现问题)
2.第二个遇到的问题:
现象:编译内核最后,弹出空间不足;
解决方法:扩容磁盘;
扩容过程: 虚拟机磁盘点击扩展;创建新分区:fdisk /dev/sda,重启后创建物理卷:pvcreate /dev/sdax(x为创建的新分区数字);查看物理卷信息pvdisplay,其中VG Name为组名;新分区加入老分区中:vgextend xxx /dev/sdax(xxx为老分区VG Name,vgdisplay中Free PE / Size为可分配的空间);增加容量:lvresize -L +x xxx(x为分配的空间如10G,xxx为老分区文件系统名,可使用df -hT查找文件系统名及格式);根据文件系统格式刷新磁盘容量:resize2fs/vfs_growfs xxx(resize2fs针对ext文件系统,xfs_growfs针对xfs文件系统,xxx为老分区文件系统名)
参考:https://blog.csdn.net/BushQiang/article/details/105257017
注:https://www.howtoforge.com/tutorial/how-to-upgrade-kernel-in-centos-7-server/(另外一种方式升级,第三方仓库)

浙公网安备 33010602011771号