zoukankan      html  css  js  c++  java
  • Centos源码编译升级指定内核版本

    1.查看当前内核版本:

    使用的系统版本,当前日期CentOS最新版:

    [root@localhost ~]# cat /etc/redhat-release
    CentOS Linux release 8.4.2105

    查看当前系统内核版本

    [root@localhost ~]# uname -r

    4.18.0-305.10.2.el8_4.x86_64

    2.下载最新稳定版本的内核源码包到 /usr/src/kernels ,并解压到当前目录

    [root@localhost ~]# tar -zxvf linux-5.11.tar.gz -C  /usr/src/kernels/

    3.从 /boot 目录将现有版本的内核编译config配置文件拷过来到放到新的内核源码解压目录内并重命名为.config的隐藏文件

    [root@localhost ~]#cp -v  /boot/config-4.18.0-305.3.1.el8.x86_64 /usr/src/kernels/linux-5.11/.config

    4.安装依赖包

    [root@localhost ~]#yum -y groupinstall "development tools"

    安装ncurse-devel包 (make menuconfig 文本界面窗口依赖包)

    [root@localhost ~]#yum -y install ncurses-devel

    5.运行 [root@localhost /usr/src/kernels/linux-5.11/]#make menuconfig,

    开启文本界面的编译选项菜单窗口,可以对内核加载的模块编译选项进行调整,如修改编译后的内核名称、新添加之前系统缺少的模块等。

    这里可以自定义内核特性,如果对内核不熟悉的话,直接使用tab键 选save 保存,然后退出即可。

    6.编译内核

    查看本机内核数#lscpu 或者  nproc

    这里,如果不超过4核, -j 后面接cpu核心数量;超过4核,建议使用-j 4,嗯,稳一点

     [root@localhost /usr/src/kernels/linux-5.11/]# make -j 4#根据CPU核数开启多线程编译以加快编译速度

    开始漫长的编译过程,大概需要2小时左右,具体视CPU硬件的性能决定。

    如果编译开始提示错误,则可能需要预先安装对应的组件包,例如:

    [root@localhost /usr/src/kernels/linux-5.11/] yum -y install openssh-devel elfutils-libelf-devel bc

    根据对应的错误提示,yum 方式安装对应的组件包,部分组件包在epel源,所以需要预先配置好epel源仓库。

    (常见编译出错问题,见下一篇Kernel 源码升级问题指南)

    7.编译安装模块

    编译完成后执行make modules_install 安装内核模块(一般编译的时候不出错,后面就不会出错的。)

    [root@localhost /usr/src/kernels/linux-5.11/]make modules_install

    8.[root@localhost /usr/src/kernels/linux-5.11/]make install

    如需将新版本内核设置为默认启动内核,可以使用此命令

    [root@localhost /usr/src/kernels/linux-5.11/]grub2-set-default 0 #0表示 /boot/grub2/grub.cfg 文件中排在第一位的 menuentry 段

    9.安装完后重启设备reboot

        进入系统后,再查看一下uname -r,已经是升级为指定内核版本。

  • 相关阅读:
    postgres 常见错误之字段关联不明确
    nginx proxy_pass 配置
    css font-family有哪些
    Inno Setup [Run] Section 双引号嵌套
    ubuntu16.04下ftp服务器的安装与配置
    How to check if directory exist using C++ and winAPI
    Ubuntu parted 命令 写在脚本里时要带 -s 参数
    Ubuntu syslog 太多的 named[1195]: error (network unreachable) resolving './DNSKEY/IN': 2001:7fd::1#53
    Ubuntu忘记超级用户root密码,重新设置密码 转载
    Python 替换文本中的某些词语
  • 原文地址:https://www.cnblogs.com/M-98k/p/15080675.html
Copyright © 2011-2022 走看看