Ubuntu16.04 实时内核 RT Preempt 安装
上一篇已经介绍了关于 Ubuntu18.04 实时内核的安装, 此处介绍 Ubuntu16.04 的实时内核具体安装情况.
RTOS
1 安装依赖项
apt-get install build-essential bc curl ca-certificates fakeroot gnupg2 libssl-dev lsb-release libelf-dev bison flex
2 内核版本 https://cloud.tencent.com/product/cvm?from=10680
要找到您当前正在使用的那个, 请使用 uname -r. 实时补丁仅适用于部分内核版本, 请参阅:
kernel
我们建议选择最接近您当前使用的版本. 以下命令假定带有 4.14.12-rt10 补丁的 4.14.12 内核版本. 如果选择其他版本, 只需替换数字即可. 确定版本后, 使用 curl 下载源文件: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-dLinux-4.14.12.tar.xz
xz-d patch-4.14.12-rt10.patch.xz
3 编译内核 https://cloud.tencent.com/product/cvm?from=10680
一旦确定文件下载正确, 就可以提取源代码并应用补丁:tar xfLinux-4.14.12.tar
cdLinux-4.14.12
patch-p1<..>
下一步是配置内核:
make oldconfig
这将打开一个基于文本的配置菜单. 当要求提供抢占模型时, 选择完全可抢占内核:PreemptionModel
1.NoForcedPreemption(Server)(PREEMPT_NONE)
2.VoluntaryKernelPreemption(Desktop)(PREEMPT_VOLUNTARY)
3.PreemptibleKernel(Low-LatencyDesktop)(PREEMPT__LL)(NEW)
4.PreemptibleKernel(BasicRT)(PREEMPT_RTB)(NEW)
>5.FullyPreemptibleKernel(RT)(PREEMPT_RT_FULL)(NEW)
我们建议将其他选项保留为默认值. 之后, 您就可以编译内核了. 因为这是一个漫长的过程, 所以将多线程选项 - j 设置为您的 CPU 内核数:
fakeroot make -j4 deb-pkg
最后, 您准备安装新创建的软件包. 确切的名称取决于您的环境, 但是您正在寻找没有 dbg 后缀的 headers 和 images 包.
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 允许用户为其进程设置实时权限sudo addgroup realtime
sudo usermod-a-G realtime $(whoami)
然后, 将以下限制添加到的实时组中 / etc/security/limits.conf:@realtimesoft rtprio99
@realtimesoft priority99
@realtimesoft memlock102400
@realtimehard rtprio99
@realtimehard priority99
@realtimehard memlock102400
来源: https://www.qcloud.com/developer/article/1693542