red hat安装实时补丁

因为工作需要,在red hat enterprise server版本的Linux下打了RT补丁,网上找到的相关中文教程不多,故在此做记录。下面按过程描述。


1、下载内核和对应的RT补丁

我的red hat版本是7.1,通过uname -r 看到的linux内核版本是3.10.0-229.el7.x86_64,在打补丁时尽量选择和原来版本内核接近的内核,我这里选择的是3.10.75

Linux内核下载地址:https://www.kernel.org/pub/linux/kernel/v3.x/  RT补丁下载地址:https://www.kernel.org/pub/linux/kernel/projects/rt/3.10/older/

注意内核源码和RT补丁两者需要对应才行 ,可以从我的资源里面下载:http://download.csdn.net/download/jj12345jj198999/10208891


可以直接从网站上下载,也可以在linux下通过命令下载

wget https://www.kernel.org/pub/linux/kernel/projects/rt/3.10/older/patch-3.10.75-rt80.patch.gz
wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.75.tar.gz


2、编译内核


下载好之后进行解压,打补丁

[jensd@cen ~]$ tar -xvzf linux-3.10.75.tar.gz
...
[jensd@cen ~]$ cd linux-3.10.75
[jensd@cen linux-3.10.75]$ zcat ../patch-3.10.75-rt80.patch.gz | patch -p1

因为除了内核变成实时内核之外,操作系统其他部分没有什么变化,可以直接把red hat中系统的.config文件拷贝过来使用

[jensd@cen linux-3.10.75]$ cp /boot/config-3.10.0-229.el7.x86_64 .config
然后就可以进行编译配置了,下面只列出了部分内容, 唯一要改的是把抢占式改为5 完全抢占,其他一路enter到底即可,当然,也可以用make menuconfig进行专家级配置


[jensd@cen linux-3.10.75]$ 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)
choice[1-5]: 5
...
Debug preemptible kernel (DEBUG_PREEMPT) [Y/n/?] (NEW) n
...
  Preemption-off Latency Tracer (PREEMPT_TRACER) [N/y/?] (NEW)
  Scheduling Latency Tracer (SCHED_TRACER) [Y/n/?] y
    Scheduling Latency Histogram (WAKEUP_LATENCY_HIST) [N/y/?] (NEW)
  Missed Timer Offsets Histogram (MISSED_TIMER_OFFSETS_HIST) [N/y/?] (NEW)
...
Enable RCU priority boosting (RCU_BOOST) [Y/n/?] (NEW)
  Real-time priority to boost RCU readers to (RCU_BOOST_PRIO) [1] (NEW)
  Milliseconds to delay boosting after RCU grace-period start (RCU_BOOST_DELAY) [500] (NEW)
...
#
# configuration written to .config
#
进行编译,时间挺长,可以用 -j4多核并行

[jensd@cen linux-3.10.75]$ make
编完以后还需要把模块载入内核中,这个过程很短

[jensd@cen linux-3.10.75]$ sudo make modules_install install

以上就完成了内核编译。


3、修改grub

把编好的内核加入grub,让开机启动时能够看到

[jensd@cen linux-3.10.75]$ sudo /usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.75-rt80
Found initrd image: /boot/initramfs-3.10.75-rt80.img
Found linux image: /boot/vmlinuz-3.10.0-229.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-229.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-b7053b44ce9741f2aaf894be25d6a3dc
Found initrd image: /boot/initramfs-0-rescue-b7053b44ce9741f2aaf894be25d6a3dc.img
done

重启系统就能看到下面的启动选项了


注意,启动后独立显卡无法加载驱动,导致没有界面,只有F2命令行方式

原因是Nvida显卡不支持实时内核



这样就算大功告成了,CentOS和ubuntu的应该都是类似的。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值