Ubuntu18.04更换PREEMPT RT内核

文章目录

  • 1 安装环境
  • 2 下载实时内核
  • 3 安装必要库和软件
  • 4 配置
    • 4.1 解压kernel压缩包
    • 4.2 进入kernel文件夹
      • 4.2.1 操作步骤
      • 4.2.2 修改配置文件
  • 5 构建和安装
  • 6 启动显示内核选择界面
  • 7 启动界面选择实时内核版本进入
  • 8 `uname -a`查看操作系统内核信息

1 安装环境

Ubuntu 18.04原生内核示意

uname -a
# Linux wyj-virtual 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

查看ubuntu防火墙状态

sudo ufw status  # 查看防火墙状态
# Status: inactive    未开启,默认就是未开启,编译实时内核时将防火墙关闭
sudo ufw enable		# 开启防火墙
sudo ufw disable	# 关闭防火墙

2 下载实时内核

下载内核直接点击linux-stable-rt-4.19.322-rt138.tar.gz

下载其他版本内核可取官网直接下载。

3 安装必要库和软件

打开终端(Ubuntu使用ctrl + alt + t快捷键打开终端),在终端中分别执行以下命令,sudo需要输入管理员密码,在Linux终端输入密码不显示内容

sudo apt-get update
sudo apt-get install libncurses-dev
sudo apt-get install libssl-dev
sudo apt-get install libelf-dev
sudo apt-get install bison
sudo apt-get install flex

4 配置

4.1 解压kernel压缩包

进入压缩包所在的路径(在Linux终端中可以使用Tab键补全文件名)

tar -zxvf linux-stable-rt-4.19.322-rt138.tar.gz	# 解压

4.2 进入kernel文件夹

cd linux-stable-rt-4.19.322-rt138
make menuconfig	# 打开内核选择终端用户界面

“上下键”选择项,“回车”进入,“左右键”选择“Select、Exit、Save、Load”

请添加图片描述

4.2.1 操作步骤

按“下”键选择General setup --->

请添加图片描述

按"Enter"键,进入

请添加图片描述

按“上”、“下”键选中Preemption Model

请添加图片描述

按“Enter”键,按“上”、“下”键,选择Fully Preemptible Kernel (RT)

请添加图片描述

按下“空格键”(表示选中Fully Preemptible Kernel (RT),会直接跳回上级菜单,可以重新进入查看是否选中)

按“上”、“下”键,选择Timers subsystem --->

请添加图片描述

按“enter”键进入,配置如下图

在这里插入图片描述

按“左”、“右”键,选择“Exit”,一直退出到如下界面

在这里插入图片描述

按“上”、“下”键,选择Kernel hacking

在这里插入图片描述

按“enter”键进入

在这里插入图片描述

按"上"、“下”键选择Compile-time checks and compiler options并按“enter”进入,配置如下图
在这里插入图片描述

"Exit"退出到上一级

在这里插入图片描述

配置如下图

在这里插入图片描述
在这里插入图片描述

一直“exit”退出配置界面,保存配置按“Yes”

在这里插入图片描述

4.2.2 修改配置文件

sudo apt install gedit # 安装gedit,如果确定已经安装gedit,此步骤省略
gedit .config # 打开配置文件,当前终端所在文件夹应该为linux-stable-rt-4.19.322-rt138中

在打开的文件中按下Ctrl + F唤起搜索栏,将文件中的如下配置项修改为如下内容

CONFIG_SYSTEM_TRUSTED_KEYS=""
CONFIG_PCIEASPM_POWERSAVE=n
CONFIG_PCIEASPM_PERFORMANCE=y

5 构建和安装

依次执行下面命令,要根据自己电脑的性能来决定后面的-j参数

make -j24 ##编译,j几看电脑配置了,可以在terminal输入nproc查看
处理器数目然后乘2
sudo make modules_install -j24
sudo make install -j12 ##安装

6 启动显示内核选择界面

sudo gedit /etc/default/grub		# 打开引导界面
# 文件内容修改
GRUB_TIMEOUT_STYLE=menu		# Ubuntu 18.04原始操作系统中不存在需要添加
GRUB_TIMEOUT=10				# 引导界面等待时间
sudo update-grub	# 更新grub配置文件

7 启动界面选择实时内核版本进入

在这里插入图片描述

选择Advanced options for Ubuntu进入,选择需要进入的实时内核

在这里插入图片描述

8 uname -a查看操作系统内核信息

uname -a
# Linux wyj-virtual 4.19.322-rt138 #1 SMP PREEMPT RT Tue Nov 5 17:10:39 CST 2024 x86_64 x86_64 x86_64 GNU/Linux

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/465909.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

立冬到了,选择Codigger暖心陪伴

立冬了,寒风渐起,但Codigger开发者们依然热情如火,编程的热情不会因为冬天而减退,相反,更加激情澎湃。就像立冬的清晨,虽然寒冷,却有着一种清新的气息,让我们一起迎接新的挑战&#…

全文检索ElasticSearch到底是什么?

学习ElasticSearch之前,我们先来了解一下搜索 1 搜索是什么 ① 概念:用户输入想要的关键词,返回含有该关键词的所有信息。 ② 场景: ​ 1互联网搜索:谷歌、百度、各种新闻首页; ​ 2 站内搜索&#xff…

Ansys Zemax | 手机镜头设计 - 第 4 部分:用LS-DYNA进行冲击性能分析

该系列文章将讨论智能手机镜头模组设计的挑战,从概念和设计到制造和结构变形分析。本文是四部分系列中的第四部分,它涵盖了相机镜头的显式动态模拟,以及对光学性能的影响。使用Ansys Mechanical和LS-DYNA对相机在地板上的一系列冲击和弹跳过程…

Follow软件的使用入门教程

开篇 看到很多兄弟还不知道怎么用这个当下爆火的浏览器!在这里简单给需要入门的小伙伴一些建议: 介绍 简单解释一下,RSS 意思是简易信息聚合,用户可以通过 RSS 阅读器或聚合工具自主订阅并浏览各个平台的内容源,不用…

Redis数据库测试和缓存穿透、雪崩、击穿

Redis数据库测试实验 实验要求 1.新建一张user表,在表内插入10000条数据。 2.①通过jdbc查询这10000条数据,记录查询时间。 ②通过redis查询这10000条数据,记录查询时间。 3.①再次查询这一万条数据,要求根据年龄进行排序&#…

无root权限在Linux虚拟环境安装指定版本python

创建虚拟环境见 Linux创建虚拟环境,并在虚拟环境中运行项目_如何进入虚拟zhi环境再打开项目-CSDN博客 若使用python -m venv创建虚拟环境则无法指定python版本,需要单独安装 1.在官网Download Python | Python.org 下载对应版本的python包 例如我这里…

OCR、语音识别与信息抽取:免费开源的AI平台在医疗领域的创新应用

一、系统概述 在医疗行业中,大量数据来自手写病历、医学影像报告、患者对话记录等非结构化数据源。这些数据常常存在信息碎片化和管理困难的问题,给医务人员的工作带来了不便。思通数科AI多模态能力平台正是为了解决这一行业痛点而生,产品集…

Rust移动开发:Rust在iOS端集成使用介绍

iOS调用Rust 上篇介绍了 Rust移动开发:Rust在Android端集成使用介绍, 这篇主要看下iOS上如何使用Rust,Rust可以给移动端开发提供跨平台,通用组件支持。 该篇适合对iOS、Rust了解,想知道如何整合调用和编译的,如果想要…

「Mac畅玩鸿蒙与硬件24」UI互动应用篇1 - 灯光控制小项目

本篇将带领你实现一个互动性十足的灯光控制小项目,用户可以通过点击按钮来控制灯光的开关。该项目将涉及状态管理、动态图片加载以及按钮交互,是学习鸿蒙应用开发的重要基础。 关键词 UI互动应用状态管理动态图片加载用户交互 一、功能说明 在这个灯光…

什么是大模型?一文读懂大模型的基本概念

大模型是指具有大规模参数和复杂计算结构的机器学习模型。本文从大模型的基本概念出发,对大模型领域容易混淆的相关概念进行区分,并就大模型的发展历程、特点和分类、泛化与微调进行了详细解读,供大家在了解大模型基本知识的过程中起到一定参…

特力康|AI智能激光语音驱鸟器:精准识别,智能驱鸟,安全无忧

AI智能激光语音驱鸟器 随着电力设施的发展,鸟类侵扰问题逐渐引起了广泛关注。特别是在变电站等关键电力设施中,鸟类可能会导致设备短路、物理损害或系统故障,影响电网的稳定性。因此,亟需一种高效、无害的解决方案来解决这一问题…

变异凯撒(Crypto)

目录 解题思路 题目设计原理 总结 解题思路 从题目可以看出,这是凯撒密码,原理应该还是整体偏移,但是变异了。 凯撒密码只有字母的横移,而通过观察我们可知,加密密文包含大小写字母、特殊字符,于是猜想大…

SpringBoot在城镇住房保障系统中的应用案例

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了城镇保障性住房管理系统的开发全过程。通过分析城镇保障性住房管理系统管理的不足,创建了一个计算机管理城镇保障性住房管理系统的方案。文章介绍了城…

轻松实现无网络依赖:手把手教你如何在本地快速部署Llama3模型

我们利用 LM Studio 这款软件来可视化部署 Llama3。 [官网地址] 选择好对应的操作系统下载安装包,在下载好之后进行安装。在安装好之后我们就可以打开软件并使用了: 我们在中间的输入框部分输入 llama 来搜索并安装 llama 系列的模型,不过在…

物联网技术的智能监控

近年来,餐饮行业迅速发展,油烟肆意排放造成的环境污染愈加严重,有效监测、防控油烟问题迫在眉睫。对此,文章设计了一种基于物联网传感技术的油烟监控系统,考虑到餐饮行业使用需求,主控制器选择STM32单片机&…

【深度学习遥感分割|论文解读4】UNetFormer:一种类UNet的Transformer,用于高效的遥感城市场景图像语义分割

【深度学习遥感分割|论文解读4】UNetFormer:一种类UNet的Transformer,用于高效的遥感城市场景图像语义分割 【深度学习遥感分割|论文解读4】UNetFormer:一种类UNet的Transformer,用于高效的遥感城市场景图像语义分割 文章目录 【…

利用 Avalonia UI 构建 Blazor 混合应用程序

Blazor 是一个 .NET 前端框架,用于仅使用 .NET 技术构建 Web 应用程序。2021 年,Blazor 扩展到桌面端,推出了 Blazor Hybrid(混合),使开发者可以在桌面平台上使用已有的技能。 Blazor 混合应用程序是传统的…

深度学习笔记9-实现逻辑回归

Python实现逻辑回归 1.假设函数 import math #sigmoid函数得计算 def sigmoid(z):return 1.0/(1math.exp(-z)) #逻辑回归假设函数的计算 #函数传入参数theta、样本特征向量x和特征值得个数n def hypothesis(theta,x,n):h0.0#保存预测结果for i in range(0,n1):#将theta-i和x…

数据库->事务

目录 一、事务 1.什么是事务 2.事务的ACID特性 1.Atomicity (原⼦性) 2.Consistency (⼀致性) 3.Isolation (隔离性) 4.Durability (持久性) 3.为什么要使用事务 4. 如何使⽤事务 1.查看MySQL中支持事务的存储引擎 2.⾃动/⼿动提交事务 2.1自动提交事务 2.2手动提交…

QCon演讲实录|徐广治:边缘云原生操作系统的设计与思考

10月18日,在 QCon 全球软件开发大会 2024(上海站),火山引擎边缘云资深架构师徐广治围绕火山引擎边缘计算产品背后的算力底座 - 边缘云原生操作系统,探讨如何实现算力服务的混合部署和跨区域弹性调度,以及在…