2013年9月 Linux内核新闻
主线版本发布(Linus的树)新闻
Linus Torvalds 在发布 3.12-rc1 时关闭了 3.12 合并窗口。在发布公告中特别提到了 tty 层和可扩展性改进。tty 层的清理导致了 per-tty 锁定,这将提高某些工作负载的性能。
目录项 (dentry) 对象表示文件名路径中的一个组件。例如,在路径 /usr/bin/yelp 中,路径中的每个单独组件 /,usr,/,bin,/,yelp 都是 dentry 对象。使用 dentry 对象有助于简化验证和解析路径中每个组件的过程。通过 3.12-rc1 中包含的 dentry 引用或使用计数可扩展性工作,文件名缓存现在在 3.12 中可以很好地扩展。这项工作消除了即使在相同文件或目录查找时也存在的 per-dentry 锁争用。
请阅读 3.12-rc1 版本发布公告 以获取此版本中包含的其他内容列表。
3.12-rc2 版本于 9 月 23 日在一周后发布。此版本包含一些驱动程序错误修复和 Alex Duecher 提供的 24 个 AMD Radeon 驱动程序补丁。除了几个错误修复补丁外,此 rc 版本还包含针对当前和即将推出的 AMD 处理器 Trinity、Kaveri 和 Kabini 的动态电源管理启用。请阅读 3.12-rc2 版本发布公告 以获取完整的版本说明。
3.12-rc3 版本于 2013 年 9 月 29 日发布。此 rc 版本在 mm 区域进行了一些变动,回退了一些仍在讨论中的提交,并允许完成讨论并根据需要修订补丁。大部分更改都在驱动程序空间以及对 ARM 和 s390 的新 lockref 支持中。请阅读 3.12-rc3 版本发布公告 以获取完整的版本说明。
稳定版本发布新闻
截至撰写本文时,最新的稳定版本如下:
- 稳定 3.11:当前最新版本为 3.11.3
- 长期支持 3.10:当前最新版本为 3.10.14。预计 EOL 为 2015 年 9 月。
- 长期支持 3.4:当前最新版本为 3.4.64。预计 EOL 为 2014 年 10 月。
- 长期支持 3.2:当前最新版本为 3.2.51。预计 EOL 为 2016 年。
- 长期支持 3.0:当前最新版本为 3.0.98。预计 EOL 为 2013 年 10 月。
- 扩展稳定版本 3.8.y.z:当前最新版本为 3.8.13.10
- 扩展稳定版本 3.5.y.z:当前最新版本为 3.5.7.22
- 长期支持 2.6.34:当前最新版本为 2.6.34.14。预计 EOL 为 2013 年年中
- 长期支持 2.6.32:当前最新版本为 2.6.32.61。预计 EOL 为 2014 年年中
- Linux RT 稳定版本 很多。请查看 linux-stable-rt.git 以获取其最新版本。
如果您想知道这些稳定版本是如何管理的以及新版本发布的频率,请参阅更多详细信息:活跃内核版本
在哪里可以找到 Linux 版本的全部 git 树?
- 主线: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
- 稳定版本(当前和长期支持): git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
- Linux RT 版本: git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git
- 扩展稳定版本: git://kernel.ubuntu.com/ubuntu/linux.git
- 前沿 linux-next: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
克隆到 git 树并构建新内核
克隆到这些 git 之一并构建自己的内核非常容易。例如,运行以下命令克隆到 stable git。它将创建一个新的 stable_git 目录并将内容克隆到 linux-stable.git 中。您将在新创建的 stable_git 目录中找到 Linux 源代码。git 准备就绪后,运行如下所示的 make 命令。
克隆到 stable git
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git stable_git
现在如何使用来自您的 stock kernel 的 oldconfig 构建新内核?
$ make oldconfig $ make all
LinuxCon 北美和同期活动新闻
LinuxCon 北美于 2013 年 9 月 16 日至 18 日在路易斯安那州新奥尔良举行。Linux 会议为开发人员提供了聚在一起面对面讨论新想法和问题解决方案的机会。除了面对面的开发者会议外,Linux 会议还包括 Linux 开发者和开源专家就各种 Linux 内核和 Linux 内核生态系统主题进行的演讲和演示。请继续阅读,了解我对 LinuxCon NA 和我参加的会议的想法和收获。
主题演讲小组:Linux 内核开发者小组 - Tejun Heo,Red Hat;Greg Kroah-Hartman,Linux 基金会;Sarah Sharp,Intel;Linus Torvalds,Linux 基金会;主持人 Ric Wheeler,Red Hat请访问活动主页 linuxcon-north-america_2013 以获取关于此小组讨论的评论和见解。我发现这个小组讨论内容丰富。它帮助新的内核开发人员和新加入 Linux 内核贡献的公司了解维护人员的想法,以及什么可以帮助他们有效地完成工作。我的收获和引起我共鸣的评论是:
“必须预算额外的时间和资源来将补丁提交到上游。” - Tejun Heo
“不仅要尽早,还要真正参与其中。如果您在公司内部构建补丁,那么它只能解决您的问题,而不能解决其他人的问题。为了使内容合并,您不仅需要解决您的问题,还需要认识到内核比您的公司更大。” - Linus Torvalds
“我一直对计算机很感兴趣,并且想从事操作系统方面的工作。我来自韩国,我不知道如何才能在 MS 或 Sun 找到工作,而且我不会说英语。但是对于 Linux 来说,我来自哪里或拥有什么学位都无关紧要,如果你能做到,你就能做到。你是谁,来自哪里都无关紧要。” - Tejun HeoUEFI 和 Linux - Kirk Bresniker,HP
本次演讲回顾了 EFI 和 ACPI 的历史、UEFI 标准以及该领域正在发生的事情。这是一个我密切关注的领域,以便了解正在发生的进展和工作。我在此次演讲中学到的一个有趣信息是希望构建支持 UEFI 的 32 位 x86 系统。这对 UEFI 标准和实现很有趣。UEFI 以本机模式执行,而 32 位 UEFI 系统无法执行 64 位固件,这使得在这些系统上支持操作系统具有挑战性。此外,64 位操作系统无法在 32 位 UEFI 系统上启动。此外,向 Linux 内核添加 UEFI 32 位支持并非易事。因此,最好避免在 32 位系统上支持 UEFI,而是坚持使用 BIOS。有关 32 位 UEFI 系统的更多信息,请阅读 Matthew Garrett 的文章 不要在 x86 上发布 32 位 UEFI 固件
Linux Plumbers Conference 2013 ACPI/PM PCI 子系统微型会议
在这个为期一天的活动中,讨论了各种 ACPI/PM PCI 子系统技术问题和主题。ACPI 与设备树的讨论是本次会议上最富有成效和最重要的讨论。本次讨论是关于如何为新的 ARM 系统添加 Linux 内核支持,这些系统使用这两种枚举方法描述设备。设备树和 ACPI 专家 Grant Likely (Linaro)、Mathew Garrett (Nebula)、Rafael Wysocki (Intel、ACPI 和 Linux PM 维护者)、H. Peter Anvin 和 David Woodhouse 之间进行了快速而热烈的讨论,并从中产生了一些非常具体的行动项。本质上,设备驱动程序不应知道设备树的详细信息,并且应该有一个胶水层 API 供驱动程序调用以获取在底层设备树或 ACPI 层中描述的设备信息。
您可以在以下网址阅读有关此主题和其他主题的所有讨论:lpc2013-acpipm-pci-subsystems
最终想法
接下来是 3.12-rc3 版本以及在发布 3.12 之前的几个 3.12-rc 版本。LinuxCon NA 和其他 Linux 会议是 Linux 生态系统中的重要组成部分,它们将 Linux 内核开发人员和行业成员聚集在一起,帮助 Linux 向前发展。作为一名 Linux 内核开发人员,对我来说,这些活动是与共同开发者会面并讨论问题、学习或只是叙旧的机会,没有这些活动,开发者就只是姓名和电子邮件地址。接下来是 Linux 内核峰会、LinuxCon EU 以及定于 2013 年 10 月 21 日至 25 日在英国爱丁堡举行的同期活动。我期待着进行演讲和参加。