编译内核

一旦确定文件下载正确,就可以提取源代码并应用补丁:

tar xf linux-*.tarcd linux-*/patch -p1 < ../patch-*.patch

接下来复制当前启动的内核配置作为新实时内核的默认配置:

cp -v /boot/config-$(uname -r) .config

从内核文件中去除调试信息以节省空间:

scripts/config --disable DEBUG_INFOscripts/config --disable DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULTscripts/config --disable DEBUG_KERNEL

禁用系统范围内的受信密钥环(Ring of Trusted Keys):

scripts/config --disable SYSTEM_TRUSTED_KEYSscripts/config --disable SYSTEM_REVOCATION_LIST

激活完全可抢占内核(实时):

scripts/config --disable PREEMPT_NONEscripts/config --disable PREEMPT_VOLUNTARYscripts/config --disable PREEMPTscripts/config --enable PREEMPT_RT

现在可以使用此配置作为默认配置来配置构建:

make olddefconfig

之后,就可以编译内核了。由于这是一个漫长的过程,请将多线程选项 -j 设置为 CPU 核心数量,也可以直接使用下面的命令:

make -j$(nproc) deb-pkg

最后,您准备好安装新创建的包了。确切的包名称取决于您的环境,但要查找的是不带 dbg 后缀的 headersimages 包。要安装,请执行:

sudo IGNORE_PREEMPT_RT_PRESENCE=1 dpkg -i ../linux-headers-*.deb ../linux-image-*.deb