Ubuntu 16.04 编译实时内核
前期准备
查看内核
通过 uname -r 命令可以知道本机正在使用的内核:
【注:后续均以4.4.0-21为例】
下载内核安装包
通过以下两个网站下载离当前版本最接近的kernal及path
https://mirrors.edge.kernel.org/pub/linux/kernel/4.x/
https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/
博主下载的为以下版本
安装依赖
在终端中输入如下命令
apt-get install build-essential bc curl ca-certificates fakeroot gnupg2 libssl-dev lsb-release libelf-dev bison flex
【由于博主以安装过一次因此截图无法展示完整安装过程】
配置实时环境
(一) 配置内核文件
xz -d linux-4.14.12.tar.xz
xz -d patch-4.14.12-rt10.patch.xz
检查sign文件完整性
gpg2 --verify linux-4.14.12.tar.sign
会获得以下信息
记下 ID 6092693E 执行:
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 0x6092693E【常见问题2】
对于patch文件进行相同操作
下载完成server key后再次进行检查,确认文件的完整性
如得到如下信息则说明安装正确
【插入图片确认完成】
(二) 编译内核
1)解压文件:
tar xf linux-4.4.1.tar
2)配置补丁:
cd linux-4.4.1
patch -p1<../patch-4.4.1-rt4.patch
3)配置内核:
make oldconfig
出现以下信息:
选择5 后续一律enter确认
4)开始编译:
fakeroot make -j4 deb-pkg
【编译过程较长,建议各位去看个电影,合理摸鱼,回来没准就编译好了】
5)dpkg安装:
sudo dpkg -i ../linux-herders-4.4.1-rt4_*.deb ../linux-image-4.4.1-rt4_*.deb
5)验证安装是否成功
重启系统,选择 ubuntu 高级选项,可以看到已安装的内核。 选择新安装的内核进入,启动终端,通过 uname -r
查看对应内核版本,
如果版本正确
通过指令 cat /sys/kernel/realtime
查看文件内容为 1。
【常见错误解决方法】
【常见问题1】apt-get失败
【解决方法1】
更换为国内源
具体步骤可参考博主另一篇文章
更换中科大源
【常见问题2】获取公钥失败
已知最优解决方案:
关机休息,次日上班再次进行尝试
由于博主本人尝试了网络已知全部解决方案吗,仍未找到完美解决方法,如后续有新进展将及时更新