当前位置: 首页>>技术教程>>正文


如何安装实时内核?

, , , ,

问题描述

我已经阅读了很多有类似问题的主题,但是在阅读了答案之后,我感到非常困惑。我在其中发现了很多带有存储库的url,但是人们讨论了为一两个版本的ubuntu创建的存储库,但是我对11.10版本一无所获。现在还为时过早吗?我应该将Ubuntu降级为具有实时内核吗?

最佳办法

RT内核项目的长期目标是最终使标准内核和this is progressing nicely具有所有RT功能。 RT修补程序过去曾有不定期的发行版本,2011年8月对kernel.org的黑客攻击使几个月都无法访问3.0版本,但现在情况看起来不错:有一个3.0补丁,另一个是3.2补丁(与内核吻合) Ubuntu 11.10和12.04中的版本)和3.4中的其他版本,请参见here

如果您使用的是Precise,则可以使用Alessio Bogani’s Realtime PPA,后者已将应用了RT补丁的香草内核打包在一起,并使其与Precise中的版本号保持同步。

如果您希望手动构建RT内核,请首先安装所需的软件包:

sudo apt-get install kernel-package fakeroot build-essential libncurses5-dev

然后获取vanilla kernelRT patch(版本号有些旧,需要进行调整):

mkdir -p ~/tmp/linux-rt
cd ~/tmp/linux-rt
wget http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.4.tar.bz2
# Alternatively, try http://mirror.be.gbxs.net/pub/linux/kernel/projects/rt/3.4/patch-3.4-rt7.patch.bz2
# if the following is not available:
wget http://www.kernel.org/pub/linux/kernel/projects/rt/3.4/patch-3.4-rt7.patch.bz2
tar xjvf linux-3.4.tar.bz2
cd linux-3.4
patch -p1 < <(bunzip2 -c ../patch-3.4-rt7.patch.bz2)

然后使用以下命令配置内核:

cp /boot/config-$(uname -r) .config && make oldconfig

在提示时应选择”full preemption”(选项5),然后在每个提示处按Enter键,将其他所有内容保留为默认值。 -lowlatency内核的配置可能比-generic内核的配置更好。

然后使用以下命令构建内核:

sed -rie 's/echo "\+"/#echo "\+"/' scripts/setlocalversion
make-kpkg clean
CONCURRENCY_LEVEL=$(getconf _NPROCESSORS_ONLN) fakeroot make-kpkg --initrd --revision=0 kernel_image kernel_headers

最后,使用以下命令安装新内核:

sudo dpkg -i ../linux-{headers,image}-3.4.0-rt7_0_*.deb

此时,您应该能够重新启动到RT内核中。如果您的内核无法启动,请确保您为double-check引导参数,并在引导加载程序中进行相应的编辑。例如,ACPI功能可能会影响您的实时系统(如rt.wiki.kernel.org所述)。在这种情况下,添加acpi = off可能是一种解决方案。

请注意,尽管RT修补程序与Nvidia二进制驱动程序不兼容(但请参阅下面的用户”rt-kernel”和this question以获得解决方法),并且Ubuntu内核修补程序将不存在,因此您可能遇到了硬件问题以前没有。 PPA软件包和编译后的内核均是如此。当然,如果它们给您带来麻烦,则始终可以引导至-generic内核并卸载实时内核软件包。

次佳办法

另一个选择是从KXStudio的存储库中安装RTKernel。他保留了一套针对音频和音乐作品的软件包,并且具有实时和低延迟的软件包。

http://kxstudio.sourceforge.net/Main_Page https://launchpad.net/~kxstudio-team/+archive/kernel

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8061.html,未经允许,请勿转载。