Loongnix系统替换内核操作

2024-05-12 15:28

本文主要是介绍Loongnix系统替换内核操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Loongnix系统替换内核操作

一、终端下执行命令

sudo apt search linux-image*

在这里插入图片描述
返回结果中格式如: linux-image-4.19.0-19-loongson-3 为最新的内核源码。

二、下载内核源码包

sudo apt source linux-image-4.19.0-19-loongson-3

如提示:E: 您必须在 sources.list 中指定代码源(deb-src) URI , 需要修改/etc/apt/sources.list,将deb-src前#号去掉。

在这里插入图片描述

三、编译生成内核和模块文件

可以选择本地编译交叉编译,下面分别介绍两种方式操作流程。

3.1 本地编译

  1. 获取源码后,进入源码目录下
    cd linux-4.19.190.8.14
  2. 安装依赖包
    sudo apt install bison flex libelf-dev libssl-dev
  3. 用默认内核配置,进行本地编译
    sudo make menuconfig ARCH=loongarch 保存退出
    sudo make ARCH=loongarch -j8 编译内核
    sudo make modules_install -j8 安装模块

生成vmlinuz文件和4.19.190模块目录(默认在/lib/modules下)

3.2 交叉编译

  1. 将linux-4.19.190.8.14源码打包
    sudo tar zcvf linux-4.19.190.8.14.tar.gz linux-4.19.190.8.14

  2. 将源码包拷贝到交叉编译的机器上,进行解压
    sudo tar zxvf linux-4.19.190.8.14.tar.gz

  3. 进入源码目录下
    cd linux-4.19.190.8.14

  4. 用默认内核配置,进行交叉编译
    sudo make menuconfig CROSS_COMPILE=loongarch64-linux-gnu- ARCH=loongarch 保存退出
    sudo make CROSS_COMPILE=loongarch64-linux-gnu- ARCH=loongarch -j8 编译内核
    sudo make modules_install INSTALL_MOD_PATH=/tmp/mod/ CROSS_COMPILE=loongarch64-linux-gnu- ARCH=loongarch -j8 安装模块

    生成vmlinuz文件和4.19.190模块目录(在/tmp/mod/lib/modules下)

  5. 打包4.19.190模块目录
    cd /tmp/mod/lib/modules
    sudo tar zcvf 4.19.190.tar.gz 4.19.190

四、拷贝内核和模块到系统中

拷贝 vmlinuz文件拷贝到loongnix系统的 /boot目录下

备注:交叉编译执行拷贝并解压 4.19.190.tar.gz 到loongnix系统的/lib/modules目录下

五、生成新的启动项目

sudo dracut --force --kver 4.19.190

执行完上述命令后会在/boot 目录下生成initramfs-4.19.190.img

六、添加启动项

6.1 固件是UEFI

运行sudo update-grub2 ,然后重启

6.2 固件是PMON

修改/boot/boot.cfg文件,在showmenu 1这行下,位置如下:
在这里插入图片描述

添加如下内容:
sudo vim /boot/boot.cfg

title kernel 4.190kernel /dev/fs/xxxx@xxxx/vmlinuzinitrd /dev/fs/xxxx@xxxx/initramfs-4.19.190.imgargs root=UUID=xxxx  ro quiet

备注:xxxx 根据boot.cfg 里实际情况填写

修改后保存,重启

七、 查看内核版本

重启后运行uname -a查看,内核替换成功。
在这里插入图片描述

这篇关于Loongnix系统替换内核操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Python内存管理机制之垃圾回收与引用计数操作全过程

《Python内存管理机制之垃圾回收与引用计数操作全过程》SQLAlchemy是Python中最流行的ORM(对象关系映射)框架之一,它提供了高效且灵活的数据库操作方式,本文将介绍如何使用SQLAlc... 目录安装核心概念连接数据库定义数据模型创建数据库表基本CRUD操作创建数据读取数据更新数据删除数据查

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

Python进行word模板内容替换的实现示例

《Python进行word模板内容替换的实现示例》本文介绍了使用Python自动化处理Word模板文档的常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录技术背景与需求场景核心工具库介绍1.获取你的word模板内容2.正常文本内容的替换3.表格内容的

Java 字符串操作之contains 和 substring 方法最佳实践与常见问题

《Java字符串操作之contains和substring方法最佳实践与常见问题》本文给大家详细介绍Java字符串操作之contains和substring方法最佳实践与常见问题,本文结合实例... 目录一、contains 方法详解1. 方法定义与语法2. 底层实现原理3. 使用示例4. 注意事项二、su

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3

Java Stream流与使用操作指南

《JavaStream流与使用操作指南》Stream不是数据结构,而是一种高级的数据处理工具,允许你以声明式的方式处理数据集合,类似于SQL语句操作数据库,本文给大家介绍JavaStream流与使用... 目录一、什么是stream流二、创建stream流1.单列集合创建stream流2.双列集合创建str