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

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 <openssl/opensslv.h>

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

执行下面命令安装包 [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配置文件新内核对应的条目

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鱼弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值