首先我们需要下载内核源码和实时补丁,需要注意的是,内核源码版本号要与实时补丁版本号严格对应一致。由于我在linux的kernel官网当中没有找到4.几的版本下载,所以这里我使用的是linux-3.18.59版成功打上了实时补丁。注意,对应3.18.59对应下载的补丁版本号是patch-3.18.59-rt65
内核下载地址是:https://mirrors.edge.kernel.org/pub/linux/kernel/v3.0/
实时补丁下载地址是:https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/3.18/older/
下载好以后需要解压linux-3.18.59,不需要解压补丁。将补丁压缩包和linux-3.18.59文件夹放在同一目录下。
首先需要安装一个库: sudo apt-get install libncurses*
然后是为下载的内核打补丁: cd linux-3.18.59 进入到内核文件夹
gzip -cd ../patch-3.18.59-rt65.patch.gz | patch -p1 --verbose 打上补丁
出现以上画面就算是打好补丁了。
接下来是编译配置内核。make menuconfig
出现该画面以后进入Processor type and features
选择 Preemption Model(Preemptible Kernel(Basic RT))
然后选择Preemptible Kernel(Basic RT)
然后退回到 第一步的画面,选择Device Drivers
将光标放在Staging drivers上按n取消其*号
保存退出。编译安装。这里会花比较长的一段时间编译。。。
make j2
sudo make modules_install -j2
sudo make install -j2
编译安装完成以后执行以下命令
$sudo mkinitramfs -k -o initrd.img-3.18.59-rt 3.18.59-rt65
使用grep menuentry /boot/grub/grub.cfg命令查看是否已经安装好具有实时补丁的内核。我这边可以看到有Ubuntu, with Linux 3.18.59-rt65的字样,说明已经安装好带有实时补丁的内核。
下一步是修改启动顺序。sudo gedit /boot/grub/grub.cfg
大概在148行左右有以下语句。当然我这里是修改成了开机启动实时系统。
就按照我上面修改的字样将相应部分替换成3.18.59-rt65然后保存退出。
重启电脑,进入的就是实时系统。
ps:我重启电脑的时候,电脑卡在欢迎界面好久好久(大概有一个多小时)。。。。。我等不了了就按下了电源键再开机就不会卡在欢迎界面了。如果你重启的时候也一直卡在欢迎界面 ,不妨按下电源键再开机。