上一篇已经介绍了关于Ubuntu18.04 实时内核的安装,此处介绍Ubuntu16.04的实时内核具体安装情况。
apt-get install build-essential bc curl ca-certificates fakeroot gnupg2 libssl-dev lsb-release libelf-dev bison flex
要找到您当前正在使用的那个,请使用uname -r。实时补丁仅适用于部分内核版本,请参阅:
https://www.kernel.org/pub/linux/kernel/projects/rt/
我们建议选择最接近您当前使用的版本。以下命令假定带有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 -d linux-4.14.12.tar.xz
xz -d patch-4.14.12-rt10.patch.xz
一旦确定文件下载正确,就可以提取源代码并应用补丁:
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内核数:
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
重新启动系统。
Grub引导菜单现在应该允许您选择新安装的内核。要查看当前正在使用哪一个,请查看uname -a命令的输出。它应包含字符串PREEMPT RT和您选择的版本号。此外,/ sys / kernel / realtime应该存在并且包含数字1。
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 删除。