我Ubuntu 14.04
在嵌入式中使用
我想将 Linux 更改generic-kernel
为 Linux low-latency-kernel
。但我认为如果我更改内核,一些已安装的程序和设备(例如触摸板)可能无法工作,我必须构建并重新安装。
当前我的Linux版本是,那么更改为相同的版本(3.10)3.10.17
怎么样?low-latency-kernel
它也可能有一些副作用吗?
另外,是否有任何命令可以将内核升级low-latency-kernel
到apt-get....
实际上我找到了可以将内核升级到low-latency
某个版本的“deb”文件3.16
,但是我找不到3.10
。
答案1
从内核 2.6.31 开始,大多数人不再需要低延迟内核。
据我所知,它主要用于录音,尽管可能还有其他用途。很难找到关于该补丁的详细讨论,但我建议你看看
2.6.31 以上的内核似乎在没有 RT 补丁的情况下也能很好地工作,也适用于实时专业音频。安装实时 ('rt') 内核不再是获得良好结果的必要条件。尽管使用实时内核仍可获得最佳结果。请尝试、测试并自行决定。
http://wiki.linuxaudio.org/wiki/system_configuration#the_kernel
注意:从此链接他们正在讨论音频,“好”和“最佳”是非常主观的,有时他们以非常小的时间单位来测量事物,并且网络上的所有测量都是旧的,2.6.31 内核之前的。
关于 -lowlatency 和 -realtime 内核的用途仍然存在一些混淆。
-realtime 和 -rt(硬实时)内核的目标是不惜一切代价实现尽可能低的延迟。用技术术语来说,“硬实时系统应该始终满足其最后期限”。因此,开发人员应该使用最先进的编程技术(睡眠自旋锁、PI 互斥锁、完全抢占、IRQ 线程等)和牺牲可靠性、节能和吞吐量等方面。
https://help.ubuntu.com/community/UbuntuStudio/RealTimeKernel
Fedora 也有一些关于此问题的高质量文档
请注意,Fedora 链接有些过时,并且 Fedora 不再维护低延迟内核。
因此,更好的问题是,是什么让您认为实时内核会对您有所帮助?看来您正在做的任何事情(例如录音)都不需要 RT 内核,而且 RT 补丁不太可能解决您的嵌入问题。
您可以随时尝试低延迟内核,如果遇到问题,请切换回来,使用 apt-get 安装和删除它们
sudo apt-get install linux-lowlatency
sudo apt-get remove linux-lowlatency
就我个人而言,我没有遇到低延迟内核补丁的任何问题,但也没有看到任何优势(我仅用于音频录制,Ardour 3 具有多轨播放、通过耳机监听和录制新轨的功能)。
答案2
那就是Linux 低延迟来自标准 Ubuntu 存储库的软件包。不应影响任何软件(我的意思是它不需要显式重新编译和调整)。
但如果你有时间,可以研究一些其他的选择:cgroupsLinux 内核的特性可以在不定制内核二进制文件的情况下提供更精细的控制。