标签 内核 下的文章

拉美自由软件基金会 FSFLA 在 Linux Torvalds 发布了 Linux 内核 4.5 两天后,也发布了他们的 Linux-libre 4.5 内核。

GNU Linux-libre 内核 4.5 基于上游的 Linux 内核 4.5,但是从代码中 洁化 deblobbing 了一些驱动程序,比如 Qualcomm WCNSS SOC、 qat\_c62x、 qat\_c3xxx、 goodix touchscreen 和 adf7242 等。此外,也更新了洁化版的 Nouveau、 Radeon、 Skylake sound 和 XHCI rcar 驱动。

GNU Linux-libre 内核 4.5 是给谁用的?

GNU Linux-libre 项目创建于很久之前,它致力于为那些遵循自由软件基金会的 《GNU 自由操作系统发行版指南》 GNU Free System Distribution Guidelines 的人们提供上游 Linux 内核的 100% 自由的版本。

GNU Linux-libre 内核设计上与 GNU 操作系统的兼容性有所偏差,不过你可以自由的在你的 GNU/Linux 系统上使用它,无论你是一位要创建基于 Linux 内核的操作系统的开发者,还是一位要希望得到完整的自由的用户!

如果你对 GNU Linux-libre 项目感兴趣,想要将它部署到你的操作系统中,我们建议你去读读 http://linuxlibre.org 的官方维基,并下载 GNU Linux-libre 内核 4.5 的源代码

最新的 Linux 内核 4.5 进入生产阶段

2016/3/14 日,Linus Torvalds 和辛勤工作的内核团队宣布,Linux 内核 4.5 正式发布!

从 1/25 发布第一个 RC 版本开始,在将近两个月的时间内发布了七个 RC 版本之后,Linux 内核 4.5 正式进入了最终的生产版本,而上一个 RC 版本发布于 3/6 日。

“相比往常,在上周日发布要晚了一点,因为我一直犹豫是否发布一个 RC8。不管怎么说,我最终还是决定不发布 RC8 了”,Linus Torvalds 在发布公告里面说,“整体来说,所有的这些改动都很小”。

Linux 内核 4.5 的主要特性包括,初步支持了 AMD PowerPlay 电源管理技术,为 Radeon GPU 的 AMDGPU 的开源驱动提供了更高的性能,在 Btrfs 文件系统的自由空间处理方面提升了可伸缩性,以及更好的 epoll 多线程伸缩性。在 4.5 中可以通过 -fsanitize=undefined 支持 GCC 的 UndefinedBehaviorSanitizer (UBSan) ,内存控制器可以提供正确的 socket 内存统计,madvise() 支持 MADV\_FREE 标志,cgroup 的 unified hierarchy 已经达到了稳定。

另外一个在 Linux 内核 4.5 中引入的重要特性是 copy\_file\_range 系统调用,它实现了不需要通过用户空间传输任何数据而复制文件的支持。这个新功能称之为 复制卸载 copy offloading

Linux 内核 4.5 也改进了 SO\_REUSEPORT UDP socket 的伸缩性,和设备映射器组件的 Forward Error Correction (FEC) 支持。此外,也更新了许多设备驱动、修复了大量 bug。你可以从 kernel.org 下载最新的 Linux 内核 4.5 的源代码。

最古老的 Linux LTS 内核 2.6.32 结束了支持期

在二月份的时候,内核开发者 Willy Tarreau 就说过要结束 2.6.32 的支持了,当时他发布了 2.6.32.70 维护版本,并说, 如果没有什么重大问题的话,将在一两周后发布最终的维护版本。果然,在比预期的晚了两周后,他发布了该系列的最后维护版本 2.6.32.71 LTS,宣告了 2.6.32 的支持结束!

除非你对新的内核还不放心,否则你不应该继续使用 2.6.32 LTS 版本了。如果因为某些原因还没办法升级到其它的 LTS 版本,如 Linux 4.4 LTS,那么也应该升级到这个最后的维护版本。

Linux 内核 2.6 最早发布于 2003 年 12 月,而 2.6.32 LTS 则发布于 2009 年。

(LCTT 译注:这是一则过期的消息,但是为了披露更新内容,还是发布出来给大家参考)

著名的内核维护者Greg Kroah-Hartman貌似正在度假中,因为Sasha Levin2016年2月16日的早些时候宣布,第十八个Linux内核维护版本Linux Kernel 4.1 LTS通用版本正式发布。

作为长期支持的内核分支,Linux 4.1还会在几年内得到更新和补丁,而今天的维护构建版本也证明一点,就是内核开发者们正致力于保持该系列在所有使用该版本的GNU/Linux操作系统上稳定和可靠。Linux Kernel 4.1.18 LTS是一个大的发布版本,它带来了总计达228个文件修改,这些修改包含了多达5304个插入修改和1128个删除修改。

Linux Kernel 4.1.18 LTS更新了什么呢?好吧,首先是对ARM,ARM64(AArch64),MIPS,PA-RISC,m32r,PowerPC(PPC),s390以及x86等硬件架构的改进。此外,还有对Btrfs,CIFS,NFS,XFS,OCFS2,OverlayFS以及UDF文件系统的加强。对网络堆栈的修复,尤其是对mac80211的修复。同时,还有多核心、加密和mm等方面的改进和对声音的更新。

“我宣布4.1.18内核正式发布,所有4.1内核系列的用户都应当升级。”Sasha Levin说,“更新的4.1.y git树可以在这里找到:git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.1.y,并且可以在 kernel.org 的 git 网站上浏览:http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

大量驱动被更新

除了架构、文件系统、声音、网络、加密、mm和核心内核方面的改进之外,Linux Kernel 4.1.18 LTS更新了各个驱动,以提供更好的硬件支持,特别是像蓝牙、DMA、EDAC、GPU(主要是Radeon和Intel i915)、无限带宽技术、IOMMU、IRQ芯片、MD、MMC、DVB、网络(主要是无线)、PCI、SCSI、USB、散热、暂存和Virtio等此类东西。

和以往一样,我们鼓励所有基于Linux内核的操作系统平台的用户,凡是使用了Linux 4.1 LTS系列内核包的,尽快更新到今天的4.1.18版本。这些用户可以通过默认软件仓库安装更新,也可以手动编译源码包,这些包你现在就可以从kernel.org网站或者Softpedia下载。


via: http://news.softpedia.com/news/linux-kernel-4-1-18-lts-is-the-biggest-in-the-series-with-hundreds-of-changes-500500.shtml

作者:Marius Nestor 译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Greg Kroah-Hartman 于5月4日发布了最新的 Linux 内核稳定版 4.4.4 。作为 LTS (长期支持)的内核,我们很高兴地看到它再次得到了更新。

虽然过几天就要发布了 4.5 内核的正式版了,不过大部分 Linux 发行版都已经升级到了 4.4.x 内核,并且不大可能会更新到非 LTS 版本。不幸的是,没有办法知道某个 LTS 版本会被支持多久。

“Linux 内核 4.4.4 有什么新东西吗?”

Greg Kroah-Hartman 在他的邮件列表中说:“我在此宣布 4.4.4 正式发布。所有的 4.4 内核系列的用户都应该升级。更新后的 4.4.y 的 git 树可以在如下地址找到:git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git 。也可以通过 Web 浏览器访问如下地址来浏览:http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary 。”

Linux 内核 4.4 带来了大量更新,包括 AMD Stoney 支持、树莓派 KMS 驱动、更好的 Skylake 支持等等。最新的版本更加稳定了,包括了大量的修正、驱动更新和一些文件系统改进。

完整的更新内容可以参见 https://www.kernel.org/category/releases.html

Linux 内核 4.4.4 可从此下载: https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.4.4.tar.xz

对于自由软件来说,其最大的自由之一就是能够用一个更新或修改的版本来替换原始版本的程序。尽管如此,数千万使用那些手机里面装着所谓 Linux 的用户却很少能够在他们的手机上运行 主线内核 mainline kernel ,即使他们拥有替换内核代码的专业技能。可悲的是,我们必须承认目前仍然没有可以运行主线内核的主流手机。在由 Rob Herring 主持的2015届 内核峰会 Kernel Summit 上,与会人员共同探讨了这个问题,并进一步谈论了他们应该怎么做才能解决这个问题。

当主持人提问的时候,在座的大多数开发人员都表示他们更乐意在他们的手机上面运行主线内核,然而也有少数人持相反的看法。在 Project Ara 的支持下,Rob 在这个问题上已经研究了近一年半的时间(参见:https://lwn.net/Articles/648400/ )。但是最新的研究成果并不理想。

Rob 表示,通常手机上运行了太多的 过期 out-of-tree 代码;主线内核只是缺少能使手机正常运行所必须的驱动。每台常规的手机都在运行着100万行到300万行的 过期 out-of-tree 代码。几乎所有的这些手机的内核版本都不超过3.10,有一些甚至更加古老。造成这种情况的原因有很多,但是有一点是很清楚的,在手机的世界里,一切都变化的太快以至于无法跟上内核社区的步伐。如果真是那样,他问到,我们还担心什么呢?

Tim Bird 指出,第一台 Android 手机 Nexus 1 从来没有运行过任何一个主线内核,并且以后也不会。它打破了开源的承诺,也使得用户不可能做到将一个新的内核放到手机中。从这一点上来说,没有任何一款手机支持这种能力。Peter Zijlstra 想知道从一台手机到另一台手机到底复制了多少能够工作的过期代码;Rob 表示,迄今为止,他已经见到了三个独立开发的热插拔 Governors

Dirk Hohndel 提出了很少有人注意到的建议。他说,对于世界上的数以亿计的手机,大约只有他们27个人关心他们的手机是否运行着主线内核。剩下的用户仅仅只是想让他们的手机正常工作。或许那些关注手机是否在运行主线内核的开发者正在努力去解决这个令人不解的问题。

Chris Mason 说,那些手机厂商当前正面临着相同类型的问题,而这些问题也是那些 Linux 发行版过去所面临过的问题。他们疲于应付大量的无效且重复和能被复用的工作。一旦这些发行版决定将他们的工作配合主线内核而不是使用自己维护的内核,那么问题将会变得好解决的多。解决问题的关键就是去帮助手机制造商们认识到他们可以通过同样的方式获得便利,形成这种认识的关键并不是通过来自用户的压力。这样一来,问题就可以解决了。

Grant Likely 提出了对于安全问题的担忧,这种担忧来自于那些不能升级他们的手机系统的 android 设备。他说,我们需要的是一个真正专为手机设立的发行版。但是,只要手机厂商仍然掌控着手机中的应用软件,那么手机的同步更新将无法实现。我们接下来将面临一个很大的安全难题。Peter 补充说,随着 Stagefright 漏洞的出现,难题已经出现在我们面前了。

Ted Ts'o 说,运行主线内核并不是他的主要关注点。他很乐于见到这个假期中所售卖的手机能够运行3.18或者4.1的内核,而不是继续停留在3.10。他认为这是一个更可能被解决的问题。Steve Rostedt 认为,按照 Ted Ts'o 所说的那样去做并不能解决手机的安全问题,但是,Ted 认为使用一个更新一些的内核至少可以让漏洞修复变得更加容易。Grant 对此回应说,接下来的一年里,这一切都将再次发生;过渡到更新的内核也是一个渐进式的对系统的完善。Kees Cook 补充说,我们无法从修复旧版本的内核漏洞的过程中得到太多的益处,真正的问题是我们没有对 bug 的应对措施(他会在今天的另外一个对话中讲到这个话题)。

Rob 说,任何一种解决方案都需要得到当前市场上的手机供应商的支持。否则,由于厂商对安装到他们生产的手机上的操作系统的封锁,运行主线内核的策略将会陷入麻烦。Paolo Bonzini 提问说是否可以因为那些没有修复的安全漏洞而控告手机厂商,尤其当手机仍然处于保修期内。Grant 认为对于手机的 可更新能力 upgradeability 的保证必须来源于市场需求,否则是无法实现的。而促使它实现的原因可能会是一个严重的安全问题,然后用户开始对手机的可更新能力提出要求。同时,内核开发人员必须不断朝着这个方向努力。Rob 表示,除了到目前为止指出的所有优点之外,运行主线内核也能帮助开发者对安卓设备上的新特性进行测试和验证。

Josh Triplett 提问说,如果手机厂商提出对主线内核提供支持的想法,那么内核社区又将采取什么措施呢?那样将会针对手机各方面的特性要求对内核进行大量的测试和验证;Android 的兼容性测试套件中出现的失败将不得不被再次回归到内核。Rob 提议这个问题可以在明年讨论,即先将最基本的功能做好。但是,Josh 强调说,如果这个需求出现了,我们就应该能够给出一个好的答案。

Tim 认为,当前,我们和厂商之间存在很大的脱节。厂商根本不会主动报告或者贡献任何反馈给社区。他们之间完全脱节了,这样的话永远不会有进步。Josh 表示,当厂商们开始报告他们正在使用的旧内核的相关 bug 时,双方之间的接受度将变得更加友好。Arnd Bergmann 认为,我们需要的是得到一个大芯片厂商对使用主线内核的认可,并且将该厂商的硬件提升到能够支持主线内核的运行的这样一个水平,而这样将会在其他方面增加负担。但是,他补充说,实现这个目标要求存在一个跟随硬件一起分发的自由 GPU 驱动程序——然而这种程序当前并不存在。

Rob 给存在问题的领域列了一个清单,但是现在已经没有太多的时间去讨论其中的细节了。WiFi 驱动仍然是一个问题,尤其是当这个新特性被添加到 Android 设备上的时候。Johannes Berg 对新特性仍然存在问题表示赞同;Android 的开发人员甚至在这些新特性被应用到 Android 设备上之前都不会去谈论它们是否存在问题。然而,对这些特性中的大多数的技术支持最终都会落实在主线内核中。

随着会议逐渐接近尾声,Ben Herrenschmidt 再次重申:实现在 Android 手机上运行主线内核的关键还是在于让厂商认识到使用主线内核是它们获得最大利润的最好选择。从长远看,使用主线内核能节省大量的工作。Mark Brown 认为,以前,当搭载在 Android 设备上的内核版本以更稳定的方式向前推进的时候,上游工作的好处对运营商来说更加明显。以现在的情况来看,手机上的内核版本似乎停留在了3.10,那种压力是不一样的。

这次谈话以开发者决定进一步改善当前的状况而结束,但是却并没有对如何改善提出一个明确的计划。


via: https://lwn.net/Articles/662147/

作者:Jonathan Corbet 译者:kylepeng93 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

美国时间 2016/1/10,Linux 历史翻开了新的一页,Linus Torvalds 以及千千万万辛勤的程序员们正式发布了 Linux 内核 4.4 LTS 版本(长期支持版)。

可以现在可以在虚拟机中玩 OpenGL 游戏了

在这个版本中,最重要的更新莫过于在虚拟 GPU 驱动中支持了 3D 功能,这可以让虚拟机使用宿主机的 3D 硬件渲染功能。也就是说,现在可以在虚拟机中使用宿主机的 GPU 加速能力来玩 OpenGL 游戏了

经过两年的努力,重构了 TCP 的实现,使 TCP 监听器的快速路径完全无锁化,可以支持更大的伸缩性和更快的 TCP 服务器了。在一台测试服务器上,每秒钟处理了 3,500,000 个 SYN 包仍富有余力,有可能还能提升2-3个数量级。

在 RAID/LVM 层增加了对日志型 RAID 5 阵列的支持。在日志型设备中,比如 NVRAM 或 SSD,写入到阵列的数据会首先写入到日志,然后才会写到阵列中。如果发生故障就可以从日志中恢复,加速阵列重新同步。同时修复了 RAID 的 Write Hole 问题。

此外,引入了支持 异步 IO Asynchronous I/O 直接 IO Direct I/O 的更加精简快速的 回路 loop 设备,从而提升了系统性能并减少了内存占用;通过 LightNVM 支持了开放通道固态硬盘;非特权用户可以运行 eBPF 程序了,从而实现了持久化运行,同时 pref 也增加了对 eBPF 程序的支持;支持 块轮询 Block polling 以改善高端存储设备的整体性能;全新的 mlock2() 系统调用可以在内存页错误时锁住内存。

“这周没有什么意外发生,所以 Linux 4.4 如期到达。和之前的 4.4 rc8 差异不大”,Linus Torvalds 说,“其中有1/3的架构方面的更新、1/3的驱动和1/3的其它方面的更新(主要是一些内核和网络方面的),但是这些改动都很小。也许值得注意的是 x86-32 的 'sysenter' ABI,有些人(比如 android-x86)可能误用了它,没有使用 vdso 而是直接使用了该指令。”

完整的更新说明请参见 Linux Torvalds 的发布公告

Linux 内核 4.4 LTS 是目前最新的长期支持内核分支,可以预期它会出现在 Ubuntu 16.04 LTS (Xenial Xerus)及其它的 Linux 发行版中。不过我觉得 Arch Linux 的用户们肯定是第一个用上的。当然,如果你想尝试一下,你也可以从 kernel.org 网站下载源代码,自己构建即可。

参考来源:softpediakernelnewbies