尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Ubuntu上编译 Linux_RT 内核

Ubuntu上编译 Linux_RT 内核
📅 发布时间:2026/6/22 10:31:31

目录
  • 一、编译安装
    • 1. 下载 Linux 内核源码和对应版本的 preempt_rt 补丁源码
    • 2. 解压及安装依赖项
      • 2.1 安装依赖
      • 2.2 解压缩文件并打补丁
    • 3. 自定义部分编译配置
      • 3.1 生成相关的内核配置文件
      • 3.2 修改调整内核的一些配置项
    • 4. 编译内核
    • 5. 修改启动项
  • 二、实时性测试


实时Linux内核常见的有 PREEMPT_RT 和 Xenomai,其中 PREEMPT_RT 是将Linux内核以打补丁的形式来实现抢占式实时性。Xenomai 的架构为双内核,其中实时性任务又 Xenomai 内核来执行,非实时性的任务由通用Linux内核来执行。

在此记录编译安装 PREEMPT_RT 补丁的内核过程。

一、编译安装

1. 下载 Linux 内核源码和对应版本的 preempt_rt 补丁源码

Linux内核源码下载地址:https://mirrors.edge.kernel.org/pub/linux/kernel/
PREEMPT_RT 补丁源码下载地址:https://wiki.linuxfoundation.org/realtime/preempt_rt_versions

要保证所下载的 Linux内核源码版本 和 PREEMPT_RT 所对应的版本匹配,否则可能编译失败。
在此使用的是 5.4.182 版本的Linux内核和补丁。

wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.4.182.tar.gz
wget https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.4/patches-5.4.182-rt72-rc1.tar.gz

2. 解压及安装依赖项

在Linux上新建对应的目录来存放Linux源码和对应的补丁包,如将下载的 linux-5.4.182.tar.gz和 patches-5.4.182-rt72-rc1.tar.gz 放入到 kernelRT 目录下,并进入到该目录。

mkdir kernelRT
cd kernelRT
2.1 安装依赖
sudo apt-get update
sudo apt-get build-dep linux
sudo apt-get install autoconf automake make bc bison flex libtool libncurses-dev libelf-dev libssl-dev libudev-dev libpci-dev libiberty-dev openssl dkms fakeroot zstd net-tools
2.2 解压缩文件并打补丁
// 将Linux源码解压到当前位置
tar -zxvf linux-5.4.182.tar.gz// 将补丁解压到当前位置
gunzip patches-5.4.182-rt72-rc1.tar.gz// 进入Linux源码目录下,进行打补丁
cd linux-5.4.182
patch -p1 < ../patch-5.15-rt17.patch

3. 自定义部分编译配置

3.1 生成相关的内核配置文件

内核的配置文件有两种生成方式,如下:
(1)、直接复制当前系统的内核配置,然后有新增项时自动设置为默认值

// 复制当前系统的内核作为要编译内核的配置
cp -v /boot/config-$(uname -r) .config// 所有配置设为默认
yes '' | make oldconfig

(2)、根据当前系统中加载的模块生成一个最小配置文件,自动启用当前系统中使用的模块,并禁用未使用的选项,适用于针对当前硬件和模块精简内核配置,以减小编译的内核体积,提供性能。

make localmodconfig
3.2 修改调整内核的一些配置项
// 打开内核配置界面
make menuconfig

要实现实时性,需要调整以下的配置项

  • CONFIG_PREEMPT_RT 对应的 Preemption Model 选择 (X) Fully Preemptible Kernel (Real-Time) 如下
  • CONFIG_HIGH_RES_TIMERS 对应的 Timers subsystem 选择 [*] High Resolution Timer Support 如下
  • CONFIG_NO_HZ_FULL 对应的 Timer tick handling 选择 (X) Full dynticks system (tickless)
  • CONFIG_HZ_1000 对应的 Timer frequency 选择 (X) 1000 HZ,如下
  • Enable loadable module support 启动加载模块支持对应的选项中,需要将 Module signature verification 取消选中,否则在安装部分模块的过程中由于没有签名导致安装失败,如下图:
  • Cryptographic API > Certificates for signature checking 选项设置中 Additional X.509 keys for default system keyring, Provide a keyring to which extra trustable keys may be added, Provide system-wide ring of blacklisted keys都需要取消选中,如下图
  • Kernel hacking > Compile-time checks and compiler options对应的选项中 要把编译内核调试信息 Compile the kernel with debug info取消选中,否则编译出来的内核镜像太大,导致新内核在加载时无法分配对应的内存启动失败,如下图

设置完成后,保存并退出该配置界面。

4. 编译内核

在设置完以上的所有选项之后,开始编译内核

// 根据自己系统的核心数来设置对应的数字,查看核心指令 echo $(nproc)
make -j4
sudo make modules_install -j4
sudo make install -j4

5. 修改启动项

安装完成之后,重新启动时,进入高级设置里面,可以选择启动实时内核。如果需要默认以实时内核来启动,需要配置和更新对应的grub

//打开grub
sudo vim /etc/default/grub

根据界面的选项顺序修改 GRUB_DEFAULT 的内容,索引从0开始

修改完之后需要 sudo update-grub 来更新配置

二、实时性测试


【参考资料】
Ubuntu20.04编译内核安装preempt_rt实时补丁
Ubuntu编译安装实时内核
实时Linux内核(PREEMPT_RT)的编译安装以及测试
Building the PREEMPT_RT-patched Linux Kernel

相关新闻

  • 解决字符串数组中大整数精度问题
  • playwright-mcp入门
  • 国信DRS数据恢复中心成为东芝(TOSHIBA)存储硬盘的数据恢复合作服务商

最新新闻

  • 2026年EI论文辅导机构哪家强?实测10家机构,权威性、性价比深度解析 - 艾德思Editsprings
  • Hermes大模型网关本地部署指南:Docker+Rust双轨实战
  • 2026年研究生论文辅导保过机构TOP10:口碑、师资、成功率全维度实测! - 艾德思Editsprings
  • LlamaFactory训练管线深度解析:从数据加载到损失计算的全流程
  • AI伦理研究中的脆弱性数据治理:从数据主体关怀到实践链路审视
  • AI智能体系统五层架构:从模型到工业级落地的工程化路径

日新闻

  • 2026速览惠州叛逆青少年学校前十大排名名单出炉 - 武汉中职最新信息发布
  • 2026上饶白蚁消杀哪家好?15年本土2大权威白蚁防治公司推荐(金盾虫控/青蚁卫士) - 我叫一
  • 天龙八部单机版终极数据管理工具:5个技巧快速掌握游戏数据编辑

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号