openEuler22.03 x86更换内核记录-20230302

2023-11-26 15:50

本文主要是介绍openEuler22.03 x86更换内核记录-20230302,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、软件准备
  • 二、下载内核,
  • 三、配置内核。
  • 四、编译内核
  • 五、安装内核
  • 六、更新grub配置(设置启动项)

一、软件准备

  1. 将openEuler中的yum源更换为阿里源

    • 备份

      \cp /etc/yum.repos.d/openEuler.repo /etc/yum.repos.d/openEuler.repo.backup
      
    • 修改为阿里源地址

      sed -i "s#repo.openeuler.org#mirrors.aliyun.com/openeuler#g" /etc/yum.repos.d/openEuler.repo
      
    • 运行生成缓存

      yum makecache
      
    • 以上内容参考来源:https://developer.aliyun.com/article/793214

  2. 安装编译软件,参考来源:https://www.bilibili.com/video/BV17Y4y1o7LK/?spm_id_from=333.337.search-card.all.click&vd_source=90bda64b2211a2ad1311621377054ae3

    yum install make gcc ncurses-devel flex bison openssl-devel bc elfutils-libelf-devel perl dwarves
    

    注意:也可以使用组安装编译必须软件(操作如下)。参考文章 https://www.likecs.com/show-203794235.html

    sudo yum groupinstall “Development Tools”
    sudo yum install ncurses-devel
    

二、下载内核,

  1. 官网地址:https://www.kernel.org/

    wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.2.1.tar.xz
    
  2. 解压内核

    # 解压.xz
    xz -d linux-6.2.1.tar.xz# 解压.tar
    tar -xvf linux-6.2.1.tar
    

三、配置内核。

现在可以通过在源代码目录中键入以下任一命令来启动内核配置:

  1. make menuconfig – 基于文本的颜色菜单、单选列表和对话框。如果您想远程编译内核,此选项在远程服务器上也很有用。

    如何编译安装Linux Kernel 5.16.9

  2. make xconfig – 基于 X windows (Qt) 的配置工具,在 KDE 桌面下效果最好

  3. make gconfig - 基于 X windows (Gtk) 的配置工具,在 Gnome Dekstop 下效果最好。

如果想使用相同内核配置为当前运行的内核,运行下面的命令:

sudo make oldconfig

如果你想使用旧内核配置,并自动接受每一个选项的默认设置,请运行以下命令:

sudo sh -c ‘yes “” | make oldconfig’

以上内容参考自:https://www.likecs.com/show-203794235.html

四、编译内核

内核设置完成后,开始编译新的内核

sudo make

加速编译,可以使用以下命令:

## use 4 core/thread ##
make -j 4
## get thread or cpu core count using nproc command ##
make -j $(nproc)

以上内容参考自:https://www.cyberciti.biz/tips/compiling-linux-kernel-26.html

五、安装内核

内核编译完成后,开始安装内核,命令如下:

sudo make install

它将三个文件放到/boot目录以及对应grub配置文件的修改:

  • nitramfs-6.1.9.img
  • System.map-6.1.9
  • vmlinuz-6.1.9

安装新的内核和所有模块:

sudo make modules_install install

六、更新grub配置(设置启动项)

修改Grub 2引导加载程序配置,CentOS/RHEL/Oracle/Scientific 和 Fedora Linux系统命令如下:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo grubby --set-default /boot/vmlinuz-6.1.9

可以使用如下命令确认详细信息

grubby --info=ALL | more
grubby --default-index
grubby --default-kernel

有的文章说可以直接修改配置文件,修改启动顺序,方式如下,但本次实验中,使用的上面的方法。

sudo vi /boot/grub/grub.conf
default=1

Debian/Ubuntu Linux系统,命令如下。注意:以下命令是可选的,因为 make install 会为您完成所有操作,但仅出于历史原因包含在此处:

sudo update-initramfs -c -k 5.16.9
sudo update-grub

重启机器可以看到更改后的效果

sudo reboot

此部分内容参考文章https://www.likecs.com/show-203794235.html和https://www.cyberciti.biz/tips/compiling-linux-kernel-26.html

以看到更改后的效果

sudo reboot

此部分内容参考文章https://www.likecs.com/show-203794235.html和https://www.cyberciti.biz/tips/compiling-linux-kernel-26.html

这篇关于openEuler22.03 x86更换内核记录-20230302的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/425959

相关文章

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步