ubuntu16.04安装实时RT-PREEMPT内核补丁
ubuntu安装实时RT-PREEMPT内核补丁
Edited by uanjj 2019-3-26
本文记录一下Ubuntu 16.04下安装RT-PREEMPT内核补丁,主要参考了两篇文章,但是过程不尽相同,根据自己实际操作过程做个记录
https://blog.****.net/x356982611/article/details/77370385
#查看你的ubuntu版本,本文用的是16.04 LTS
uname -a
默认Ubuntu 16.04 安装为4.15.0内核
#安装必要的包
sudo apt-get install libncurses-dev
#创建目录
mkdir ~/kernel && cd ~/kernel
#下载RT补丁,下载接近原内核的版本为patch-4.19.25-rt16.patch.gz, 最新版本5.0.3,需和对应内核版本号匹配即可
wget https://mirrors.tuna.tsinghua.edu.cn/kernel/projects/rt/4.19/patch-4.19.25-rt16.patch.gz
#下载linux内核 (和上一步的patch版本号一致)
wget https://mirrors.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.19.25.tar.gz
#解压,并给内核打补丁#或者将 patch-文件解压出来放到 linux-4.19.25文件夹里,执行打补丁
tar -xzvf linux-44.19.25 .tar.gz
cd linux- 4.19.25
gzip -cd ..patch-4.19.25-rt16.patch.gz | patch -p1 –verbose
或者
patch -p1 < patch-4.19.25-rt16.patch
#下一步配置内核,会在terminal出现图形界面
make localmodconfig #可选,利用本地config生成.config文件,.config文件用于指定内核配置选项
#据说下载包里自带的.config文件可能导致打补丁失败,另一种办法是将原系统
的.config文件 拷贝到内核文件夹(未测试)
localmodconfig后会出来一系列内核配置选项的询问,原ubuntu平台配置过的自动按原配置,原平台配置不包括的配置选项会提示选择(选项出现<NEW>字样),如果不太明白选什么,其中会提示Preemption Mode 选项,选5 Fully ….,其余明白的自行选择,不明白的一路Enter,直至结束。
感觉这接近文字版的配置方式,只是已经有的配置不能改,直接按原Ubuntu系统config自动配置了
##设置.config文件的图形界面##
make menuconfig
General setup —> [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]
#编译内核(大概要20-30分钟,根据CPU能力,用的台式机四核i5,所以用参数 -j8 开8线程?)
make -j8
#安装 (大概几十分钟)
#sudo make modules_install -j8
#sudo make install -j8
#更新GRUB启动
sudo update-grub
#完毕重启机器
sudo reboot
#查看内核版本
uname -a
#Linux uanjj 4.19.25-rt16 #1 SMP PREEMPT RT Tue Mar 26 12:43:53 CST 2019 x86_64 x86_64 x86_64 GNU/Linux
<span style="color:#00000a">参考链接</span>
https://ubuntuforums.org/showthread.php?t=2273355