Ubuntu20.04 实时内核配置教程
laptop:Thankad P52
System: Ubuntu 20.04
Kernel: linux-5.15.0-57-generic
目标: 安装 linux-5.15.76-rt53
构建搭载环境文件夹并下载对应版本的安装包和补丁文件并解压配置
-
构建文件夹+下载安装包
mkdir Franka_env
cd Franka_env
curl -SLO https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.15.76.tar.gz
curl -SLO https://www.kernel.org/pub/linux/kernel/projects/rt/5.15/patch-5.15.76-rt53.patch.gz
解压安装包和补丁tar xvzf linux-5.15.76.tar.gz
gunzip patch-5.15.76-rt53.patch.gz
(如果出现解压失败,提示格式不对,是因为补丁下载问题,包没有下载完全,重新下载)
提取源代码并应用补丁
cd linux-5.15.76
patch -p1 < ../patch-5.15.76-rt53.patch
安装必要的依赖项
sudo apt-get install build-essential bc curl ca-certificates gnupg2 libssl-dev lsb-release libelf-dev bison flex dwarves zstd libncurses-dev
-
使用当前核的配置作为实时核的默认配置,将原系统中的generic配置文件复制到现在文件夹
(linux-5.15.76)
中并命名为.config文件cp /boot/config-5.15.0-57-generic .config
进入内核配置界面
make menuconfig
这个命令会打开一个终端界面,你可以在其中配置抢占模型。使用箭头键导航到 General Setup > Preemption Model 并选择 Fully Preemptible Kernel (Real-Time) 。
之后导航到 Cryptographic API > Certificates for signature checking (在列表的最底部)> Provide system-wide ring of trusted keys > Additional X.509 keys for default system keyring
从提示符中移除 “debian/canonical-certs.pem”,然后按OK。将此配置保存到 .config
并退出 TUI。
打开并编辑文档,另外还需要进一步编辑:
gedit .config
将如下指令:
CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem"
CONFIG_SYSTEM_REVOCATION_KEYS="debian/canonical-revoked-certs.pem"
CONFIG_DEBUG_INFO_BTF=y
CONFIG_SYSTEM_REVOCATION_KEYS="debian/canonical-revoked-certs.pem"
CONFIG_DEBUG_INFO_BTF=y
替换成:
CONFIG_SYSTEM_TRUSTED_KEYS=""
CONFIG_SYSTEM_REVOCATION_KEYS=""
CONFIG_DEBUG_INFO_BTF=n
CONFIG_SYSTEM_REVOCATION_KEYS=""
CONFIG_DEBUG_INFO_BTF=n
为了防止编译过程保存log信息占用大量磁盘空间,注释如下部分:
CONFIG_DEBUG_INFO=y
-
开始编译内核 (编译需要大量的时间大约30min)
fakeroot make -j24 deb-pkg
(-j 后面数字取决于你自身电脑配置,-j数字=终端输入nproc后输出的数字*2)
编译完成之后,进行安装linux Kernel模组
make modules_install (提示没有权限就加sudo)
安装模组之后进行实时内核的安装
make install
完成之后进行重启
reboot
重启时选择ubuntu高级选项中会出现目标实时内核,选择即可。
进入系统之后查看当前内核
uname -an
完成