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

相关文章

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

《x86汇编语言:从实模式到保护模式》视频来了

《x86汇编语言:从实模式到保护模式》视频来了 很多朋友留言,说我的专栏《x86汇编语言:从实模式到保护模式》写得很详细,还有的朋友希望我能写得更细,最好是覆盖全书的所有章节。 毕竟我不是作者,只有作者的解读才是最权威的。 当初我学习这本书的时候,只能靠自己摸索,网上搜不到什么好资源。 如果你正在学这本书或者汇编语言,那你有福气了。 本书作者李忠老师,以此书为蓝本,录制了全套视频。 试

学习记录:js算法(二十八):删除排序链表中的重复元素、删除排序链表中的重复元素II

文章目录 删除排序链表中的重复元素我的思路解法一:循环解法二:递归 网上思路 删除排序链表中的重复元素 II我的思路网上思路 总结 删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 图一 图二 示例 1:(图一)输入:head = [1,1,2]输出:[1,2]示例 2:(图

NGINX轻松管理10万长连接 --- 基于2GB内存的CentOS 6.5 x86-64

转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=190176&id=4234854 一 前言 当管理大量连接时,特别是只有少量活跃连接,NGINX有比较好的CPU和RAM利用率,如今是多终端保持在线的时代,更能让NGINX发挥这个优点。本文做一个简单测试,NGINX在一个普通PC虚拟机上维护100k的HTTP

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

秒变高手:玩转CentOS 7软件更换的方法大全

在 CentOS 7 中更换软件源可以通过以下步骤完成。更换源可以加快软件包的下载速度,特别是当默认源速度较慢时。以下是详细步骤: 前言 为了帮助您解决在使用CentOS 7安装不了软件速度慢的问题,我们推出了这份由浪浪云赞助的教程——“CentOS7如何更换软件源加快下载速度”。 浪浪云,以他们卓越的弹性计算、云存储和网络服务受到广泛好评,他们的支持和帮助使得我们可以将最前沿的技术知识分

perl的学习记录——仿真regression

1 记录的背景 之前只知道有这个强大语言的存在,但一直侥幸自己应该不会用到它,所以一直没有开始学习。然而人生这么长,怎就确定自己不会用到呢? 这次要搭建一个可以自动跑完所有case并且打印每个case的pass信息到指定的文件中。从而减轻手动跑仿真,手动查看log信息的重复无效低质量的操作。下面简单记录下自己的思路并贴出自己的代码,方便自己以后使用和修正。 2 思路整理 作为一个IC d