给ubuntu server 16.04.6打preempt rt补丁

Ubuntu内核升级与PreemptRT补丁应用
本文详细介绍了在Ubuntu系统中手动升级内核到4.14.87版本,并应用PreemptRT实时补丁的过程。从源码克隆、补丁下载、配置、编译到最终安装,每一步都提供了具体命令和操作说明。

1,$git clone git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack -b v4.14.87 v4.14.87
2,接着在kernel.ubuntu.com/~kernel-ppa/mainline/v4.14.87/下载7个补丁:
 

0001-base-packaging.patch
0002-UBUNTU-SAUCE-add-vmlinux.strip-to-BOOT_TARGETS1-on-p.patch
0003-UBUNTU-SAUCE-tools-hv-lsvmbus-add-manual-page.patch
0004-adhoc-from-__future__-import-syncconfig.patch
0005-UBUNTU-SAUCE-no-up-disable-pie-when-gcc-has-it-enabl.patch
0006-debian-changelog.patch
0007-configs-based-on-Ubuntu-4.14.0-11.13.patch

3,

$patch -p1 < ../0001-base-packaging.patch
$patch -p1 < ../0002-UBUNTU-SAUCE-add-vmlinux.strip-to-BOOT_TARGETS1-on-p.patch
$patch -p1 < ../0003-UBUNTU-SAUCE-tools-hv-lsvmbus-add-manual-page.patch
$patch -p1 < ../0004-adhoc-from-__future__-import-syncconfig.patch
$patch -p1 < ../0005-UBUNTU-SAUCE-no-up-disable-pie-when-gcc-has-it-enabl.patch
$patch -p1 < ../0006-debian-changelog.patch
$patch -p1 < ../0007-configs-based-on-Ubuntu-4.14.0-11.13.patch

4,在kernel.ubuntu.com/~kernel-ppa/mainline/v4.14.87下载文件:
  linux-image-unsigned-4.14.87-041487-generic_4.14.87-041487.201812080833_amd64.deb
 

$dpkg -x linux-modules-4.14.87-041487-generic_4.14.87-041487.201812080833_amd64.deb ./config_file

  这样做的目的是获取解压linux-modules-4.14.87-041487-generic_4.14.87-041487.201812080833_amd64.deb后config_file/boot目录下的v4.14.87版内核的配置文件config-4.14.87-041487-generic
5,下载Preempt Rt补丁
  在https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/4.14/下载patch-4.14.87-rt49.patch.xz

$xzcat ../patch-4.14.87-rt49.patch.xz | patch -p1

6,

$cp ./config_file/boot/config-4.14.87-041487-generic ./v4.14.87/.config

7,配置内核

$cd ./v4.14.87
$make menuconfig 

Processor type and features —> 
Preemption Model (Fully Preemptible Kernel (RT)) —> 
(X) Fully Preemptible Kernel (RT)

8,编译
 

$fakeroot make -j8 deb-pkg

  结果生成(我的老联想V450花了7/8个小时):
 

linux-4.14.87-rt49+_4.14.87-rt49+-2_amd64.changes
linux-4.14.87-rt49+_4.14.87-rt49+-2.debian.tar.gz
linux-4.14.87-rt49+_4.14.87-rt49+-2.dsc
linux-4.14.87-rt49+_4.14.87-rt49+.orig.tar.gz
inux-headers-4.14.87-rt49+_4.14.87-rt49+-2_amd64.deb
linux-image-4.14.87-rt49+_4.14.87-rt49+-2_amd64.deb
linux-image-4.14.87-rt49+-dbg_4.14.87-rt49+-2_amd64.deb
linux-libc-dev_4.14.87-rt49+-2_amd64.deb

9,安装:

$sudo dpkg -i inux-headers-4.14.87-rt49+_4.14.87-rt49+-2_amd64.deb
$sudo dpkg -i linux-image-4.14.87-rt49+_4.14.87-rt49+-2_amd64.deb
$sudo update-grub

### 应用PREEMPT_RT补丁或配置实时内核 对于Ubuntu 22.04,应用PREEMPT_RT补丁并配置实时内核涉及几个具体操作。这些步骤确保系统能够支持更严格的实时性能需求。 #### 准备工作环境 安装必要的工具包来编译Linux内核: ```bash sudo apt-get update && sudo apt-get install -y build-essential libncurses-dev bison flex libssl-dev libelf-dev ``` 下载适用于Ubuntu 20.04 LTS版本的稳定版PREEMPT_RT补丁集以及对应的源码树。尽管这里提到的是针对较早版本的操作指南[^1],但基本流程仍然适用。需要注意的是,应当寻找最新的官方资源链接以获取适合Ubuntu 22.04的具体材料。 #### 获取内核源码与RT补丁 访问[Kernel.org](https://www.kernel.org/)或其他可信站点下载目标版本的Linux内核源代码压缩文件,并从[Patchwork Project](https://patchwork.kernel.org/project/linux-rt-users/list/)找到相匹配的PREEMPT_RT补丁系列。解压所获得的档案至个人目录下以便后续处理。 #### 配置现有`.config`文件 复制当前正在使用的内核配置作为基础模板,在此之前建议先备份原始设置以防万一出现问题可以恢复默认状态: ```bash cp /boot/config-r) ./.config make olddefconfig ``` 启用所需的选项如SCSI/IDE的支持用于硬件兼容性考虑;同时激活SYSFS_DEPRECATED参数当涉及到特定于RHEL/CentOS家族系统的特性调整时。不过请注意,这项改动主要影响那些基于Red Hat的企业级发行版而非Ubuntu,因此这一步骤可能不是必需的。 #### 编辑内核配置 启动交互式的菜单驱动界面来进行详细的定制化设定: ```bash make menuconfig ``` 在此过程中重点确认已开启以下几项功能开关: - `CONFIG_PREEMPT_RT_FULL=y`: 启用了完全抢占式调度机制的核心组件。 - `CONFIG_HZ=1000`: 提高定时器频率到每秒一千次中断,有助于提高时间精度。 - 关闭任何不必要的模块和服务减少潜在干扰因素。 完成编辑保存更改退出程序之后继续执行命令准备构建过程中的依赖关系解析: ```bash yes "" | make oldconfig ``` #### 执行编译任务 利用多线程加速整个编译进度(假设机器具备四个逻辑CPU核心): ```bash make -j $(nproc) ``` 一旦成功创建了新的vmlinuz映像,则可着手安排其部署事宜。 #### 安装新编译好的内核及相关模块 将生成的结果移入适当位置供GRUB引导加载器识别使用: ```bash sudo make modules_install sudo cp arch/x86_64/boot/bzImage /boot/vmlinuz-linux-rt sudo cp System.map /boot/System.map-linux-rt sudo cp .config /boot/config-linux-rt ``` 更新GRUB配置使得下次重启可以选择进入带有PREEMPT_RT特性的操作系统实例运行环境中去体验改进后的表现效果: ```bash sudo grub-mkconfig -o /boot/grub/grub.cfg ``` 最后记得重新启动计算机验证一切正常运作无误即可享受经过优化过的低延迟响应速度所带来的好处了!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值