编译内核
一旦确定文件下载正确,就可以提取源代码并应用补丁:
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 后缀的 headers 和 images 包。要安装,请执行:
sudo IGNORE_PREEMPT_RT_PRESENCE=1 dpkg -i ../linux-headers-*.deb ../linux-image-*.deb