RT-Preempt Patch是在Linux社区kernel的基础上,加上相关的补丁,以使得Linux满足硬实时的需求。下面是编译RT linux内核的流程,以内核3.18.59为例。
流程
下载代码
rt补丁下载 https://www.kernel.org/pub/linux/kernel/projects/rt/
内核源码下载 https://www.kernel.org/pub/linux/kernel/v3.0/
下载的内核和补丁版本号必须严格对应
打补丁
解压linux源码linux-3.18.59.tar.gz,把补丁文件patch-3.18.59-rt65.patch.gz放到和内核文件夹同一目录
sudo apt-get install libncurses-dev
cd linux-3.18.59
gzip -cd ../patch-3.18.59-rt65.patch.gz | patch -p1 –verbose
或
patch -p1 < ../patch-3.18.59-rt65.patch
p0意思是不忽略目录,直接从当前目录开始、p1忽略第一层目录。进入内核目录打补丁,所以使用p1
配置内核
make localmodconfig
make menuconfig
make localmodconfig 根据目前系统内核的配置生成配置文件 .config
关闭内存溢出检测
编译安装
make -j2
sudo make modules_install -j2
sudo make install -j2
或者
#fakeroot make deb-pkg
#sudo dpkg -i *.deb
更新grub
cd /boot
ls
查看是否成功生成rt核
sudo update-grub
vim /boot/grub/grub.cfg 看内核是否添加到grub
如果自动安装失败,就需要手动修改 /boot/grub/grub.conf 去配置启动项,如下图,
校验
重新启动系统,uname -a命令查看 有PREEMPT RT 字样内核替换成功。