ubuntu18.04配置实时内核
ubuntu系统:18.04
当前内核:5.4.0-84-generic
待安装实时内核: 5.6.19-rt11
1、查看当前版本
uname -r
2、下载内核与补丁
一种方式从官网自己下载
- 官方内核下载地址
- 官方补丁下载地址
- 阿里镜像内核下载地址(速度快)
- 阿里镜像补丁下载地址(速度快)
另一种方式直接在终端用命令行下载
curl -SLO https://mirrors.aliyun.com/linux-kernel/v5.x/linux-5.6.19.tar.xz curl -SLO https://mirrors.aliyun.com/linux-kernel/v5.x/linux-5.6.19.tar.sign curl -SLO https://mirrors.aliyun.com/linux-kernel/projects/rt/5.6/older/patch-5.6.19-rt11.patch.xz curl -SLO https://mirrors.aliyun.com/linux-kernel/projects/rt/5.6/older/patch-5.6.19-rt11.patch.sign
下载得到这四个文件
如果是ubuntu 16.04就相应的改成实时内核5.4.19-rt10,其余ubuntu版本就找相对应版本更高的实时内核即可。
3、安装内核与补丁
1. 在下载的内核和补丁所在文件夹打开终端,记得把实时内核版本号改成自己的:
xz -cd linux-5.6.19.tar.xz | tar xvf -
cd linux-5.6.19
xzcat ../patch-5.6.19-rt11.patch.xz | patch -p1
2. 在终端中安装必须的安装包:
sudo apt-get install libncurses-dev bison flex bc libelf-devsudo apt-get install libssl-dev
3、把原内核复制到.config文件中
在boot文件夹下可以找到与当前内核版本匹配的 config 文件,例如:config-5.4.0-84-generic 。将其拷贝到当前目录~/rt_kernal/linux-5.6.19 下并命名为 .config
终端命令如下(记得把
5.4.0-84改成当前自己的内核版本):
sudo cp /boot/config-5.4.0-84-generic .config
config-5.4.0-84-generic就是下图第三个文件。
4、配置内核
make oldconfig
回车,直到出现选择的选项,选择Fully Preemptible Kernel (RT),就是下图第四个选项 然后一直回车到结束
5、编译内核
首先查看自己的电脑有多少个cpu
lscpu
可以看到我的有32个cpu,所以在下面的命令中-j后面就是32,表示编译的线程数 。编译线程数越大,编译越快。
make -j32 deb-pkg
可能会出现如下警告,不用理会。大约等待一个多小时,实时内核会自动编译好。
大概率会出现以下错误
(dpkg-buildpackage: 错误: debian/rules build subprocess returned exit status 2
scripts/Makefile.package:73: recipe for target 'deb-pkg' failed
make[1]: *** [deb-pkg] Error 2
Makefile:1429: recipe for target 'deb-pkg' failed):
解决方法: 在linux-5.6.19文件中,Ctrl+h显示隐藏文件,选择.config文件打开。直接修改 .config 文件,注释掉以下四项:
- CONFIG_MODULE_SIG_ALL=y
- CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
- CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem"
- CONFIG_DEBUG_INFO=y
然后重现执行命令“make -j32 deb-pkg”编译内核,编译刚开始需要按回车键。
6.安装 deb 包
经过上面的编译过程,应该会在和linux压缩包同目录下生成3个或者4个.deb格式的安装包,在该文件夹下打开终端,安装所有生成的.deb包
sudo dpkg -i linux-headers-5.6.19-rt11_5.6.19-rt11-1_amd64.deb linux-image-5.6.19-rt11_5.6.19-rt11-1_amd64.deb linux-libc-dev_5.6.19-rt11-1_amd64.deb
7. reboot 并验证
reboot
reboot
然后进入 ubuntu 高级选项,发现已经有了刚刚安装的实时内核!
enter 启用该内核(不带有recovery mode字样的那一个),开机后
uname -r
查看当前系统内核
在终端输入 gedit /sys/kernel/realtime 进入一个文件,如果里面是有一个“1”,就说明实时内核就安装完成了。
gedit /sys/kernel/realtime
———————————————————————————————————
如果后续要使用Franka机器人,对于实时内核需要添加以下操作
1.在终端执行以下命令
sudo addgroup realtime sudo usermod -a -G realtime $(whoami)
2. 打开limits.conf文件
sudo gedit /etc/security/limits.conf
在/etc/security/limits.conf 中添加以下内容 并保存
@realtime soft rtprio 99 @realtime soft priority 99 @realtime soft memlock 102400 @realtime hard rtprio 99 @realtime hard priority 99 @realtime hard memlock 102400
8. 后续操作
- 如果要使用Franka机械臂,需要安装franka_ros,可以参考Franka环境配置——从源码安装libfranka和franka_ros
- 如果ubuntu的实时内核不能使用扩展屏,可以参考以下教程解决ubuntu不能使用扩展屏
相关文章:

ubuntu18.04配置实时内核
ubuntu系统:18.04 当前内核:5.4.0-84-generic 待安装实时内核: 5.6.19-rt11 1、查看当前版本 uname -r 2、下载内核与补丁 一种方式从官网自己下载 官方内核下载地址官方补丁下载地址阿里镜像内核下载地址(速度快࿰…...

Unity中Mesh重叠顶点合并参考及其应用
在Unity中,如果将一个模型文件(比如从max里面导出一个fbx文件)导入到编辑器中之后,Unity会把所有在原来在面列表中公用的顶点复制一份,保证每个三角形使用的顶点都是单独的,不与其它三角形共用顶点…...

倚光科技助力自由曲面设计与加工
近年来,自由曲面因其在光学、汽车、航空航天等领域的广泛应用,受到设计师和工程师的高度关注。自由曲面作为一种具有更高自由度的非球面透镜,能够在光学系统中实现更加精确的光线控制,优化像差校正,并且在满足功能需求…...

PWM调节DCDC参数计算原理
1、动态电压频率调整DVFS SOC芯片的核电压、GPU电压、NPU电压、GPU电压等,都会根据性能和实际应用场景来进行电压和频率的调整。 即动态电压频率调整DVFS(Dynamic Voltage and Frequency scaling),优化性能和功耗。 比如某SOC在…...

[Pro Git#3] 远程仓库 | ssh key | .gitignore配置
目录 1. 分布式版本控制系统的概念 2. 实际使用中的“中央服务器” 3. 远程仓库的理解 4. 新建远程仓库 5. 克隆远程仓库 6. 设置SSH Key 实验 一、多用户协作与公钥管理 二、克隆后的本地与远程分支对应 三、向远程仓库推送 四、拉取远程仓库更新 五、配置Git忽略…...

Freertos任务切换
一、操作系统进行任务切换的时机: 采用信号量实现任务的互斥: 二、FreeRTOS 任务切换场合 PendSV 中断的时候提到了上下文(任务)切换被触发的场合: ● 可以执行一个系统调用 ● 系统滴答定时器(SysTick)中断。 1、执行系统调用 执行系统…...
go开发中interface和方法接收器的使用
Go 语言中的接口和方法接收器学习 Go 中的 interface 就像是一个神奇的魔法杖,能让你轻松地将不同的类型拉到同一个阵营里。与其他语言的接口不同,Go 的接口无需显式声明“我实现了你”,只要你满足了接口规定的方法,Go 就会自动认…...

vue3-tp8-Element:对话框实现
效果 参考框架 Dialog 对话框 | Element Plus 具体实现 一、建立view页面 /src/views/TestView.vue 二、将路径写入路由 /src/router/index.js import { createRouter, createWebHistory } from vue-router import HomeView from ../views/HomeView.vueconst router create…...

高中数学:随机变量-正态分布
文章目录 一、连续性随机变量二、大致图像三、正态分布图像及解析式图像特点均值与方差公式正态分布各区域概率 一、连续性随机变量 二、大致图像 三、正态分布图像及解析式 图像特点 均值与方差公式 正态分布各区域概率...

游戏引擎学习第47天
仓库: https://gitee.com/mrxiao_com/2d_game 昨天我们花了一点时间来修复一个问题,但基本上是在修复这个问题的过程中,我们决定添加一个功能,那就是在屏幕上控制多个实体。所以如果我有一个手柄,我可以添加另一个角色࿰…...

Git 仓库托管教程
git远程仓库 常用的远程仓库-->托管服务:github、码云、gitlab等 github需要魔法上网,速度较慢因为在国外且仅仅支持Git,如果不是Git项目是不支持的;码云--gitee国内的代码托管平台,服务器在国内速度快一些&#…...

基于51单片机的简易时钟/定时器闹钟proteus仿真
地址: https://pan.baidu.com/s/1uez4cwZuXpchmihmRqnLEg 提取码:1234 仿真图: 芯片/模块的特点: AT89C52/AT89C51简介: AT89C52/AT89C51是一款经典的8位单片机,是意法半导体(STMicroelectro…...
Jackson @JsonProperty 注解
1. 概述 Jackson 是一个流行的Java库,用于将Java对象转换为JSON格式以及从JSON反序列化回Java对象。一种常见的需求是在序列化为JSON或从JSON反序列化时自定义字段的命名。Jackson 的 JsonProperty 注解正好满足了这一需求。 JsonProperty 注解概览 JsonProperty…...
【Excel学习记录】02-单元格格式设置
1.单元格格式工具美化表格 单元格格式位置 选中单元格,右键→设置单元格格式 合并居中 跨越合并 字体类型、大小、颜色、填充底纹、边框 斜线 软回车:alt enter 格式刷 2.单元格数字格式 格式不影响数值,只是展示形式 日期本质也是数…...

支持自定义离线地图地理区域,查询组件及数据源功能增强,DataEase开源BI工具v2.10.3 LTS发布
2024年12月9日,人人可用的开源BI工具DataEase正式发布v2.10.3 LTS版本。 这一版本的功能变动包括:数据源方面,API数据源和Excel数据源支持对字段类型和长度进行设置;图表方面,离线类地图支持自定义地理区域设置&#…...
LF CRLF
这个提示的含义是:Git 检测到你当前的 file3.txt 文件中使用了 LF(换行符,Line Feed,\n) 作为换行符,但在你系统的 Git 配置中,指定要将其转换为 CRLF(回车换行,Carriage…...

【从零开始入门unity游戏开发之——C#篇01】理论开篇,理解什么是编程
文章目录 前言前置条件进制什么是十进制、二进制二进制有什么用?为什么计算机用二进制而不用十进制?二进制转十进制十进制转二进制二进制运算 计算机中的数据存储单位什么是编程?什么是代码?什么是编程语言?常见的编程…...

怎样提升企业网络的性能?
企业网络的稳定性和高效性直接影响员工的工作效率。以下从多维度分析了一些有效策略,帮助公司提升网络性能,营造更高效的办公环境。 1. 升级网络设备 采用性能更高的网络硬件是优化网络体验的重要基础。选择支持高吞吐量、低延迟的设备(如企业…...

1. 机器学习基本知识(2)——机器学习分类
1.4 机器学习分类 1.4.1 训练监督 1. 监督学习:已对训练数据完成标记 分类:根据数据及其分类信息来进行训练,使模型能够对新的数据进行分类 回归:给出一组特征值来预测目标数值 2. 无监督学习:没有对训练数据进行任…...
四叉树算法在游戏碰撞检测中的应用
简介 在游戏开发中,碰撞检测是一个非常重要但计算成本较高的环节。如果采用简单的暴力检测方法,需要对场景中的每个物体与其他所有物体进行碰撞检测,时间复杂度为O(n)。四叉树(Quadtree)算法通过空间划分的方式,可以显著降低碰撞…...
Vue 学习路线图(从零到实战)
🎯 学习目标:掌握 Vue 并能独立开发中大型项目 ✅ 适合人群:前端初学者、想快速上手做项目的开发者、中小型团队成员 🧭 Vue 学习路线图(从零到实战) 第一阶段:基础语法 核心功能(…...

Vue入门到实战之第一篇【超基础】
Vue入门到实战之第一篇 学习路线1. Vue 概念1.1 Vue 是什么 2. 创建Vue实例,初始化渲染3. 插值表达式 {{ }}4. Vue响应式特性5. 开发者工具 学习路线 1. Vue 概念 1.1 Vue 是什么 概念: Vue是一个用于 构建用户界面1 的 渐进式2 框架3 1:基…...
Flink 失败重试策略 :restart-strategy.type
在 Apache Flink 中,restart-strategy.type 用于指定作业的重启策略(Restart Strategy),它决定了作业在失败后如何恢复。 Flink 提供了 4 种内置重启策略,可以通过 flink-conf.yaml 或代码动态配置。 1. 可配置的 rest…...

Ubuntu20.04中 Redis 的安装和配置
Ubuntu20.04 中 Redis 的安装和配置 Ubuntu 安装 MySQL 及其配置 1. Redis 的安装 更新系统包列表并安装 Redis : # 更新包管理工具 sudo apt update# -y:自动确认所有提示(非交互式安装) sudo apt install -y redis-server测…...

agent基础概念
agent是什么 我个人认为agent并没有一个所谓完美的定义,它是一个比较活的概念,就像是你眼中的一个机器人你希望它做什么事,和我眼中的机器人它解决事情的流程,其实是可以完全不同的,没有必要非得搞一个统一的概念或流程来概况它。但我们依然可以概况几个通用的词来描述它…...
java复习 05
我的天啊一天又要过去了,没事的还有时间!!! 不要焦虑不要焦虑,事实证明只要我认真地投入进去一切都还是来得及的,代码多实操多复盘,别叽叽喳喳胡思乱想多多思考,有迷茫前害怕后的功…...
Kali Linux 安全工具解析
Kali Linux 安全工具解析 目录 Kali Linux 安全工具解析一、Kali Linux 概述1.1 核心特性1.2 系统要求 二、核心工具分类与实战应用2.1 信息收集工具2.1.1 Nmap2.1.2 Recon-ng2.1.3 theHarvester 2.2 漏洞利用工具2.2.1 Metasploit Framework2.2.2 SQLMap2.2.3 Burp Suite 2.3 …...
学习使用YOLO的predict函数使用
YOLO的 result.py #2025.1.3 """ https://docs.ultralytics.com/zh/modes/predict/#inference-arguments 对yolo 目标检测、实例分割、关键点检测结果进行说明https://docs.ultralytics.com/reference/engine/results/#ultralytics.engine.results.Masks.xy 对…...

应用层协议:HTTPS
目录 HTTPS:超文本传输安全协议 1、概念 2、通信过程及关键技术 2.1 通信过程 1> TLS握手协商(建立安全通道) 2> 加密数据传输 2.2 关键技术 1> 对称加密算法 2> 非对称加密 3> 对称加密和非对称加密组合 4> 数…...

AI时代:学习永不嫌晚,语言多元共存
最近看到两个关于AI的两个问题,“现在开始学习AI,是不是为时已晚?”、“AI出现以后,翻译几乎已到末路,那么,随着时代的进步,中文会一统全球吗?” 联想到自己正在做的“万能AI盒”小程…...