欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > ubuntu18.04配置实时内核

ubuntu18.04配置实时内核

2025/2/23 1:47:14 来源:https://blog.csdn.net/bulletstart/article/details/129583462  浏览:    关键词: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不能使用扩展屏

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词