步骤0-创建工作目录
制作工作目录
#Move to working directory
mkdir ~/kernel && cd ~/kernel
步骤1-下载内核和补丁
去
https://www.kernel.org/pub/linux/kernel/
并将所需版本的kernel下载到~/kernel。同样,转到
https://www.kernel.org/pub/linux/kernel/projects/rt/
并下载与下载的内核版本相同的RT补丁。我使用的内核和补丁是linux-4.9.115.tar.gz和patch-4.9.155-rt93.patch.gz。
步骤2-解压缩内核
tar -xzvf linux-4.9.115.tar.gz
步骤3-修补内核
#Move to kernel source directory
cd linux-4.9.115
gzip -cd ../patch-4.9.115-rt93.patch.gz | patch -p1 --verbose
步骤4-启用实时处理
此步骤需要libncurses dev
sudo apt-get install libncurses-dev libssl-dev
下一个命令启动终端中的图形菜单以生成配置文件。
make menuconfig
转到该位置并进行相应的更改
##Graphical Menu##
Processor type and features ---> [Enter]
Preemption Model (Voluntary Kernel Preemption (Desktop)) [Enter]
Fully Preemptible Kernel (RT) [Enter] #Select
[Esc][Esc]
Kernel hacking --> [Enter]
Memory Debugging [Enter]
Check for stack overflows #Already deselected - do not select
[Esc][Esc]
[Right Arrow][Right Arrow]
[Enter]
.config
[Enter]
[Enter]
[Esc][Esc]
[Right Arrow]
[Enter]
步骤5-编译内核
make -j20
sudo make modules_install -j20
sudo make install -j20
步骤6-验证和更新
确认在/boot目录中生成了initrd.img-4.9.115-rt93、vmlinuz-4.9.115-rt93和config-4.9.115-rt93并更新grub。
cd /boot
ls
sudo update-grub
确认有一个menentry包含文本“menentry”Ubuntu,其中Linux 4.9.115-rt93“
/boot/grub/grub.cfg
文件
要更改grub中的默认内核,请编辑
GRUB_DEFAULT
价值
/etc/default/grub
你想要的内核。
注:
0是第一个菜单项
7-重新启动并验证
sudo reboot
系统重新启动后,打开终端并使用
uname -a
要检查内核版本,应该如下所示
Linux abhay-home 4.9.115-rt93 #1 SMP PREEMPT RT Mon May 13 03:32:57 EDT 2019 x86_64 x86_64 x86_64 GNU/Linux
注:
“SMP PREEMPT RT”验证系统是否正在运行实时内核。