您当前的位置: 首页 >  centos

咸鱼弟

暂无认证

  • 4浏览

    0关注

    165博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【超详细】CentOS编译安装升级新内核

咸鱼弟 发布时间:2021-08-13 17:15:17 ,浏览量:4

1、已经准备好CentOS系统,打算要重新编译内核或升级内核 2、准备源码

centos:http://vault.centos.org/下载对应版本内核

也可以使用标准内核:http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/linux/kernel/

此处建议使用centos对应版本的内核。

3、挂载U盘

3.1、 插入U盘

3.2、 #sudo fdisk –l

查看所挂载盘符名称如下图,假设盘符名称为sdc1

 

3.3、 建立挂靠文件夹

#mkdir /mnt/usb_disk

3.4、 挂载U盘

#mount /dev/sdc1 /mnt/usb_disk

4、配置本地yum源,安装依赖工具,如果你的系统可以联网,可忽略此步

4.1、进入/etc/yum.repos.d目录,ls查看当前目录下的yum源配置文件,新建bak目录,将除CentOS-Media.repo之外的repo文件移动到bak文件夹备份

4.2、使用vi编辑文件CentOS-Media.repo,查看配置如下

 

4.3、按照如下配置修改        

[c6-media]

name=CentOS-$releasever - Media

baseurl=file:///mnt/usb_disk/           //路径需与你光驱或ISO挂载的路径相同

gpgcheck=1

enabled=1                                     //enable后面值必须修改为1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-6 //gpgcheck=0时可无需该条

4.4、输入“yum clean all”命令清理

4.5、可以使用yum -y install vim进行安装测试

4.6、安装编译内核的依赖工具

yum install wget gcc gc bc gd make perl ncurses-devel xz rpm-build xmlto asciidoc hmaccalc python-devel newt-devel pesign binutils-devel audit-libs-devel numactl-devel pciutils-devel perl-ExtUtils-Embed -y
5、源码解压

如果下载的是.src.rpm包

rpm -ivh kernel-3.10.0-327.36.3.el7.src.rpm

tar -xf linux-3.10.0-327.36.3.el7.tar.xz -C /usr/src/

如果下载的是tar.xz包

tar -xf linux-3.10.0-327.36.3.el7.tar.xz -C /usr/src/

如果需要修改代码调试内核,可修改源文件。

6、编译安装修改后的内核版本

6.1、创建.config文件

 

这里报错了,安装指定包

[root@localhost linux]# yum search curses #从yum源查找curses相关的包 , 配置本地yum源看上。
[root@localhost linux]# yum install ncurses #安装ncurses 
[root@localhost linux]# yum install ncurses-devel #安装ncurses-devel

再次make menuconfig这个命令后,会出现如下的字符界面,我们就可以在这个界面上对内核进行配置。我们这里是第二次使用make menuconfig了,需要先运行:make mrproper来清除以前的配置,回到默认配置,然后再运行:make menuconfig生成.config文件 通过这个工具可以设置内核配置参数。

关于选择这个地方需要说明下。

  • [*]:编译到内核文件中去,也就是类似这个vmlinuz-3.10.0-693.el7.x86_64文件中去。
  • [m]: 编译到模块文件中去,也就是放到类似这个/lib/modules/3.10.0-693.el7.x86_64/目录中去。

6.2、执行make 命令

[root@localhost linux]# make -j HOSTCC scripts/kconfig/conf.o HOSTLD scripts/kconfig/conf scripts/kconfig/conf --silentoldconfig Kconfig .... scripts/sign-file.c:25:30: fatal error: openssl/opensslv.h: No such file or directory #include

上面的报错了, 才发现原来的编译环境的包没有安装好。

执行下面命令安装包 [root@localhost linux]#yum groups  install  "Development and Creative Workstation" "Compatibility Libraries" -y

这里可以仅仅安装openssl相关的基础包和开发包即可的,但是为了后续其他的编译安装,我就直接安装了"Compatibility Libraries"包。

6.3、执行 make clean 和make

[root@localhost linux]# make clean # 清空错误的编译环境

[root@localhost linux]# make # 再次编译 ,这里可以指定并行度的,如果你有4个cpu,可以执行如下命令 make -j4 来加速编译进度。

6.4、 执行 make modules_install make install

[root@localhost linux]# make modules_install 
[root@localhost linux]# make install

6.5、重新电脑选择新编译好的linux

7、 卸载新内核
  • 删除/lib/modules目录下对应版本的库文件
  • 删除/usr/src/linux目录下的源码和压缩文件
  • 删除/boot/启动的内核和内核镜像文件
  • 删除grub.conf配置文件新内核对应的条目

关注
打赏
1663644285
查看更多评论
立即登录/注册

微信扫码登录

0.0831s