使用 PREEMPT_RT 在 Ubuntu 中构建实时 Linux 内核

描述

 

如果需要在Linux 中实现实时计算性能,进而有效地将 Linux 转变为 RTOS,那么大多数发行版都可以打上名为 PREEMPT_RT 的实时内核补丁来完成。

 

简介

我们曾介绍过在 Ubuntu 22.04 中启用实时 Linux 内核有多简单,因为 Canonical 已将该内核列为一个选项。但要为默认 Linux 内核打上补丁,以便在自己的发行版中构建自己的实时 Linux 内核,也并不困难。基本步骤是下载内核源代码和 PREEMPT_RT 补丁、打补丁、构建内核、重启系统并选择新的实时内核。有关实时 Linux 项目的更多信息,包括 RT_PREEMPT 补丁的最新稳定版本,请查看 Linux 基金会的项目页面。

 

01

前提条件

 

Ubuntu 22.04 LTS 桌面--安装说明请参阅: 

https://ubuntu.com/tutorials/install-ubuntu-desktop#1-overview

需要:

1、足够的可用磁盘空间(约 40GB,取决于内核配置)

2、互联网连接

3、关于构建 Linux 内核的一些基本知识:

https://www.linux.com/topic/desktop/how-compile-linux-kernel-0

Motrotech

安装说明

 

我们从 Ubuntu 22.04 默认的 Linux 内核(5.15.0-43-generic 版本)开始。
 

 

1.创建工作目录

mkdir ~/kernel

cd ~/kernel

Ubuntu

2.从 kernel.org 下载特定 Linux 内核版本的内核源文件和实时补丁文件。

wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.15.96.tar.gz

wget https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/5.15/patch-5.15.96-rt61.patch.xz

 

3.解压源文件

tar -xzf linux-5.15.96.tar.gz

xz -d patch-5.15.96-rt61.patch.xz

cd linux-5.15.96

patch -p1 <../patch-5.15.96-rt61.patch

 

4.配置内核编译选项并安装依赖软件包。

cp /boot/config-5.15.0-43-generic .config

sudo apt update

sudo apt install make gcc libncurses-dev libssl-dev flex libelf-dev bison

make menuconfig

 

5.从 "常规设置"/"抢占模式 "中激活 "完全抢占内核(实时)"选项,然后保存并退出。


 

Ubuntu

 

6.构建内核(注意:这可能需要一些时间)。在编译过程中,可能有几个依赖项必须安装(其中一些在上一步中涉及),因此当遇到编译错误时,请检查您系统中可能需要的其他软件包。

sudo make

 

7.安装内核模块:

sudo make modules_install

 

8.安装内核:

sudo make install

 

9.重新启动并选择新构建的 PREEMPT_RT 内核,而不是默认内核。您可能需要编辑 Grub 配置,才能进入引导加载器屏幕选择新的实时内核。有关 Grub 2 引导加载器的更多信息和帮助,请参阅 https://help.ubuntu.com/community/Grub2。


 

Ubuntu

 

10.检查以确认新的实时内核正在使用中。你应该在内核名称中看到"-rt"。


 

Ubuntu

 

 

结论

按照上面的步骤修补、构建并在 Ubuntu 中安装实时 Linux 内核并不困难。这个过程对于其他 Linux 发行版也是一样的。
 

 

现在,您就可以在 Linux 中开发实时应用程序了。

北京盟通科技有限公司成立于2013年,是工业自动化领域的高新技术企业。公司专注于实时现场总线技术及工业通讯技术的研发、推广及技术支持服务。依托于核心团队多年的海外和行业经验,盟通科技与欧洲多家自动化领域的佼佼者达成战略合作关系,为客户提供EtherCAT主站协议栈、OPC UA SDK软件开发包、CANopen协议栈、FSoE协议软件、CAN总线硬件、DINA安全模块、艾默生Connext软件等工业协议的标准和定制化产品。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分