前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu16.04 实时内核 RT Preempt 安装

Ubuntu16.04 实时内核 RT Preempt 安装

原创
作者头像
ZC_Robot机器人技术
发布2020-09-08 10:04:48
3.1K0
发布2020-09-08 10:04:48
举报

上一篇已经介绍了关于Ubuntu18.04 实时内核的安装,此处介绍Ubuntu16.04的实时内核具体安装情况。

RTOS
RTOS

1 安装依赖项

代码语言:javascript
复制
apt-get install build-essential bc curl ca-certificates fakeroot gnupg2 libssl-dev lsb-release libelf-dev bison flex

2 内核版本

要找到您当前正在使用的那个,请使用uname -r。实时补丁仅适用于部分内核版本,请参阅:

https://www.kernel.org/pub/linux/kernel/projects/rt/

kernel
kernel

我们建议选择最接近您当前使用的版本。以下命令假定带有4.14.12-rt10补丁的4.14.12内核版本。如果选择其他版本,只需替换数字即可。确定版本后,使用curl下载源文件:

代码语言:javascript
复制
curl -SLO https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.12.tar.xz
curl -SLO https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.12.tar.sign
curl -SLO https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patch-4.14.12-rt10.patch.xz
curl -SLO https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patch-4.14.12-rt10.patch.sign

并使用以下命令解压缩它们:

xz -d linux-4.14.12.tar.xz

xz -d patch-4.14.12-rt10.patch.xz

3 编译内核

一旦确定文件下载正确,就可以提取源代码并应用补丁:

代码语言:javascript
复制
tar xf linux-4.14.12.tar
cd linux-4.14.12
patch -p1 < ../patch-4.14.12-rt10.patch

下一步是配置内核:

make oldconfig

这将打开一个基于文本的配置菜单。当要求提供抢占模型时,选择完全可抢占内核:

Preemption Model

1. No Forced Preemption (Server) (PREEMPT_NONE)

2. Voluntary Kernel Preemption (Desktop) (PREEMPT_VOLUNTARY)

3. Preemptible Kernel (Low-Latency Desktop) (PREEMPT__LL) (NEW)

4. Preemptible Kernel (Basic RT) (PREEMPT_RTB) (NEW)

> 5. Fully Preemptible Kernel (RT) (PREEMPT_RT_FULL) (NEW)

我们建议将其他选项保留为默认值。之后,您就可以编译内核了。因为这是一个漫长的过程,所以将多线程选项-j设置为您的CPU内核数:

代码语言:javascript
复制
fakeroot make -j4 deb-pkg

最后,您准备安装新创建的软件包。确切的名称取决于您的环境,但是您正在寻找没有dbg后缀的headers和images包。
代码语言:javascript
复制
sudo dpkg -i ../linux-headers-4.14.12-rt10_*.deb ../linux-image-4.14.12-rt10_*.deb
重新启动系统。

4 验证

Grub引导菜单现在应该允许您选择新安装的内核。要查看当前正在使用哪一个,请查看uname -a命令的输出。它应包含字符串PREEMPT RT和您选择的版本号。此外,/ sys / kernel / realtime应该存在并且包含数字1。

5 允许用户为其进程设置实时权限

代码语言:javascript
复制
sudo addgroup realtime
sudo usermod -a -G realtime $(whoami)

然后,将以下限制添加到的实时组中/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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 安装依赖项
  • 2 内核版本
  • 3 编译内核
  • 4 验证
  • 5 允许用户为其进程设置实时权限
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档