1.SOURCES:
RHEL8.4:(https://pan.baidu.com/s/1kpKsW2glfg4b9e4Mc4Z46w?pwd=pirx 提取码: pirx)
内核:https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/
补丁:https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/4.18/older/
*需要保持补丁版本与下载的内核一致。
2.preparation:
mount挂载本地ISO,配置RHEL中的yum本地源:
mkdir /cdrom;mount -o loop /dev/sr0 /cdrom
[root@localhost cdrom]# cat /etc/yum.repos.d/redhat.repo
[RHEL8.4-ISO-BASEOS]
baseurl=file:///cdrom/BaseOS/
gpgcheck=0
enabled=1
[RHEL8.4-ISO-AppStream]
baseurl=file:///cdrom/AppStream/
gpgcheck=0
enabled=1
3.compile:
- xz -cd linux-4.16.18.tar.xz | tar xvf –
- cd linux-4.16.18/
- xzcat …/patch-4.16.18-rt12.patch.xz | patch -p1
- 打补丁:
-
patch -p1 < patch-5.13-rt1.patch
配置RT内核:make menuconfig(过程中缺啥补啥:yum install "啥")
配置好后save成.config文件
( 过程中一行配置清空
7286 #CONFIG_SYSTEM_TRUSTED_KEYS="certs/rhel.pem"
7287 CONFIG_SYSTEM_TRUSTED_KEYS="")
正式开始编译安装内核:
-
make -j8
-
sudo make modules_install -j8
-
sudo make install -j8
-
最后重启,进RT字样实时内核,进行测试:cyclictest -t 1 -N -l 10000
完成后uname -a命令对比前后内核有RT字样则成功,主要区别:
1.什么是实时性操作系统?
实时性是指调度的时候,任务响应时间。windows一般是15ms,最大的问题是不能保证。比如平均值是1ms,但是随着系统负载的变化,有时甚至达到100ms,在这工业上是无法使用的。工业上一些应用要求必须有更高的时间精度,比如,一个电力监测系统必须在10ms内运行一次任务对电力运行状况进行监测,一旦时间不准,调度不到该程序运行,则无法保证对电力故障的及时响应。
整理到最后发现有先驱,荐之: