标签 内核 下的文章

这是一个可能的情景。你的系统收到了内核更新,但不知何故,事情不像以前那样顺利。

你意识到,如果你启动到较旧的内核(是的,你可以降级内核),一切都会恢复正常。

高兴之余你会觉得有点儿不爽。因为你不得不在每次启动时手动选择较旧的内核。

一位年长的读者遇到了这个问题。Linux Mint 中的新内核更新没有按预期工作。启动到较旧的内核“修复”了问题,但麻烦的是在每次启动时要去手动选择较旧的内核。

删除新内核而使用旧内核不是一个好主意,因为新内核将会在下一次系统更新时被安装使用。

因此,我建议设置成默认启动到较旧的 Linux 内核。怎么做?这就是我将在本教程中向你展示的内容。

启动至较旧的 Linux 内核

你可能不了解,你的 Linux 发行版会在你的系统上安装多个 Linux 内核。不信?使用以下命令 列出 Ubuntu 中已安装的内核

apt list --installed | grep linux-image

当你升级系统时会获得一个新版本的内核,这时你的系统会自动选择启动至最新的可用内核。

grub 屏幕中,你可以转到 高级选项 Advanced option (较旧的 Linux 版本):

ubuntu grub

在这里,你可以看到要启动的可用内核。选择较旧的(不带 恢复选项 recovery option 的条目):

grub 高级选项

你不会注意到任何显示的差异。你的文件和应用程序保持不变。

现在你已经启动到旧内核,是时候让你的系统自动启动到它了。

使旧内核成为默认启动项

如果你乐于使用 Linux 终端和命令,你可以修改 /etc/default/grub 文件并在其中添加以下行:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

然后使用如下命令 更新 GRUB

sudo update-grub

你在这里所做的是告诉你的系统将当前使用的启动项保存为将来运行 GRUB 的默认启动项。

然而,并不是每个人都善于使用命令行,因此我将专注于一个名为 Grub Customizer 的 GUI 工具。

安装 Grub Customizer

使用官方 PPA 在基于 Ubuntu 的发行版中安装 Grub Customizer

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt update
sudo apt install grub-customizer

对于其他发行版,请使用你的包管理器来安装此工具。

使用 Grub Customizer 更改默认启动项

当你运行 Grub Customizer 时,它会显示可用的启动项。

ubuntu 的 grub customizer

在这里你有两个选择。

选择一: 选择所需的内核项并使用箭头按钮(显示在顶部菜单上)将其向上移动。

在 Ubuntu grub 将旧内核向上移动

选择二: 先前的启动项 previously booted entry 设为 默认启动项 default entry

将当前启动项设为默认 Ubuntu 启动项

我建议使用第二个选择,因为即使有新的内核更新它也可以工作。

这样你就可以在 Ubuntu 或其他发行版中降级内核,甚至无需删除新内核版本。

请注意,像 Ubuntu 这样的发行版大部分一次只保留两个内核版本。因此,最终你首选的旧内核将在新的内核版本释出时被删除。

这个巧妙的技巧曾助我脱困。当时我 在 Ubuntu 中安装最新的 Linux 内核 ,由于某种原因它与我的音频系统有些兼容问题。

无论是什么原因,你现在都知道如何自动启动到旧内核。

如果有问题或建议,请在评论区留言。


via: https://itsfoss.com/boot-older-kernel-default/

作者:Abhishek Prakash 选题:lkxed 译者:hanszhao80 校对:wxy

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

不值得使用 -O3 来编译 Linux 内核

在内核社区有人 建议 在更多范围内使用-O3 编译优化参数后,Linus Torvalds 迅速 驳斥 了这一想法,因为在他看来,这带来的潜在问题更多。Phoronix 使用其著名的测试套件对 -O3 编译的内核性能进行了测试。结论是:在 230 项测试中,-O3 内核的性能只领先了 1.3%,仅在压力测试软件 Stress-NG 的上下文切换基准中有近三倍的提升,一些数据库场景有 10% 左右的提升,其它场景仅有 2% 左右的变化。总体来说,考虑到 -O3 带来的过度优化的潜在风险,使用这个优化参数没什么意义。

消息来源:Phoronix
老王点评:这下可以尘埃落定了。

Firefox 102 现在可以自动删除 URL 中的跟踪器

这项名为“查询参数剥离”的新功能,可以在你点击一个链接时自动删除 URL 中的跟踪参数。很多网站会在 URL 中附加特定的查询字符串来跟踪链接访问,比如 Facebook 使用的是 fbclid= 。Mozilla 大约在一年前开始研究这一功能,现在它已经准备好供公众使用。这项新功能是严格跟踪保护规则的一部分,但默认情况下是禁用的,因为有可能会破坏正常浏览体验。

消息来源:Engadget
老王点评:看得出来,虽然 Firefox 有种种不尽如人意之处,但是对用户隐私的保护真是竭尽全力了。

欧美大范围的路由器受到了新的、异常复杂的恶意软件的攻击

安全研究人员报告说,一个异常先进的黑客组织花了近两年时间,用恶意软件感染了北美和欧洲的各种路由器,完全控制了与路由器连接的 Windows、macOS 和 Linux 设备。他们已经发现至少有 80 个目标被这种隐秘的恶意软件感染,感染的路由器包括思科、Netgear、华硕等制造的设备。它能够列举所有连接到受感染的路由器的设备,并收集它们发送和接收的 DNS 查询和网络流量,并保持不被发现。

消息来源:ArsTechnica
老王点评:这是专门针对小型办公室和家庭办公室路由器编译的定制恶意软件,背后所图甚大。

正如 Linus Torvalds 所暗示,Linux Kernel 5.20 发布时可能会提供对 Rust 的支持。你怎么看?

Linus

市面上已经有许多用 Rust 重写的开源项目。因此,如今 Rust 被认为是 Linux 内核的第二语言,也就不足为奇了。

几天前,在 Linux 基金会开源峰会 上,Linus Torvals 提到他们预计将在下一个内核版本(即 Linux 内核 5.20)中对 Rust 进行试验。

或许你不知道,正如 Phoronix 率先报道的那样,Linux 已经有了 Rust 内核补丁,包含了少量的示例驱动程序,以及基本的基础设施的启用代码。

因此,Linus Torvalds 对可能合并 Rust 支持的暗示,也不足为奇。但是,这无疑是令人兴奋的!

用于 Linux 内核的 Rust

这么做的最终目标是让 Linux 内核变得更好,但它现在仍然处于试运行阶段。

凭借其各种优势,Rust 正日益成为一种流行的编程语言。还记得吗,System76 也在开发一个用 Rust 编写的新桌面环境

然而,并不是所有参与维护 Linux 内核的人都熟悉这种编程语言。

那么,这会是一个问题吗?

Linus Torvalds 并不认为这是一个大问题,因为内核中也有其他语言。他还提到希望看到 Rust 成为新的一份子。

The Register 报道称,Linus Torvalds 表示会信任维护者,除非他们犯了错误。

Linux 5.20:何时发布?

Linux 内核 5.19 版本将于 7 月底左右发布。因此,5.20 版本的合并窗口应该会在其稳定版发布后开启(假设没有意外延迟的话)。

除了 Rust 以外,Linux 内核 5.20 应该也是对包括 RDNA3 在内的下一代硬件支持的重要更新,它同时提供了更多功能。

你如何看待 Rust 将在不久的将来进入 Linux 呢?你感到兴奋吗?欢迎在下方评论区告诉我们~


via: https://news.itsfoss.com/linux-kernel-rust/

作者:Ankush Das 选题:lkxed 译者:lkxed 校对:wxy

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

NetHack 被列入现代艺术博物馆藏品

NetHack 被列入了纽约现代艺术博物馆收藏。它被建筑和设计馆选定为其小型电子游戏收藏品,并作为今年秋天的“永不孤独”展览的一部分展出。NetHack 最初是 1982 年的地下城探索游戏“Hack”(它基于 1980 年的游戏 Rogue)的一个复刻版本,它影响了日后的《暗黑破坏神》和《火炬之光》。它是仍在活动的最古老的开源项目之一,实际上比“开源”一词(当时叫“自由软件”),甚至 GPL 都早了几年。它也是最早的,甚至是第一个完全通过互联网,由分布在世界各地的团队开发的软件项目之一(“NetHack”中的“Net”因此而来)。

消息来源:Linkedin
老王点评:“上古时代”的网游,这是真正的老游戏和开源鼻祖。它也有很多衍生版本,大家感兴趣的可以看看。

Linus Torvalds 反对用 -O3 优化编译内核

之前我们 报道 过,有开发者提出了补丁,可以在所有 CPU 架构上启用 -O3 的优化参数来编译内核,而之前该 Kconfig 参数只在 ARC 架构上可用。Linus Torvalds 对此的看法是,他实际上反对有这样一个 Kconfig 选项。他需要被一些真实的、现实世界的数据所说服,以显示其好处。当然,感兴趣的人即便没有这个 Kconfig 选项,也可以为编译器添加类似选项而做到 -O3 优化。但 Linus 也指出,“在生成糟糕的代码方面,-O3 有更多的黑历史。最好干脆移除这个选项。”

消息来源:Phoronix
老王点评:过度优化显然是个错误,Linus 和内核社区还是一如既往的保守持重。不过我觉得,作为实验性的选项,完全可以更开放一些,或许真的能对内核和编译器优化有所改进。

Fedora CoreOS 有望提升为官方版本

Fedora CoreOS 是一个自动更新、最小化的操作系统,用于容器工作负载,其目标是结合 CoreOS Container Linux 和 Fedora Atomic Host 的最佳特性。早在 Fedora 34 开发周期中,Fedora CoreOS 的开发者希望能够晋升为官方版本。现在反馈的问题已经得到解决,有望在 Fedora 37 中升级为和工作站、服务器和 IoT 构建并列的官方版本。

消息来源:Phoronix
老王点评:再加上这个容器版本,Fedora 的各个官方产品线就齐全了。

外媒报道中国芯片行业高速发展

数据显示,过去四个季度全世界增长速度最快的 20 家芯片行业公司有 19 家在中国。据中国半导体行业协会的数据,2021 年中国芯片制造商和设计公司的总销售额增长 18%,达到创纪录的逾 1 万亿元人民币。中芯国际和华虹半导体是中国最大的合同芯片制造商,中芯国际最近报告其季度销售额增长 67%,超过 GlobalFoundries 和台积电。视频芯片设计公司上海富瀚微电子的收入平均增长 37%,它计划进入电动汽车和人工智能领域。集成电路软件工具开发商上海概伦电子过去四个季度平均销售额增长了一倍,它声称其软件可用于制造 3 纳米芯片。

消息来源:彭博社
老王点评:美国的封锁一时打压了中国企业的增长,但也促进了中国芯片产业的发展。

Rust 有可能在 Linux 5.20 中合并

在 Linux 基金会近日举行的开源峰会上,Linus Torvalds 谈到了 Rust 在 Linux 内核中的可能性,并表示它可能很快就会登陆,甚至可能是在下一个内核周期。目前还没有任何 Rust for Linux 的拉取请求被发送和合并,但很多初始的 Rust 启用代码已经就绪。上个月发布了最新的 Rust for Linux 内核补丁,使更多的功能得以形成,并完成了更多审查。

消息来源:Phoronix
老王点评:说实话,Rust 支持是最值得期待的特性之一了,但是距离 Rust 在内核中普遍使用,可能还有很远。

内核开发者仍然在实验 -O3 级优化

Linux 内核的编译采用 -O2 级的优化,虽然采用更高级别 -O3 编译会得到更高性能的内核,但由于内核的复杂性和非常大的代码库,它很可能在低级别的内核代码中出现错误或不正确的行为。因此采用 -O3 编译的内核并没有得到广泛认可。甚至一些内核开发者不希望看到它成为 Kconfig 选项。但是有一些爱好者对 -O3 优化内核以获得更高的性能感兴趣,或者试图发现 Linux 内核代码和编译器本身的优化出错的错误。最近有开发者发出一组补丁,使之可以在所有架构上使用该优化级别。

消息来源:Phoronix
老王点评:一般来说,上游的 Linux 内核开发者对新的的编译器功能是相当保守的,只是为了提高性能,而这可能意味着微妙的错误/难以检测的问题。但是我觉得作为实验性的功能值得探索。

Linus Torvalds 发布了用来测试的 Linux 内核 5.19 RC1,带来了一些重大变化。

继上个月 Linux 内核 5.18 发布之后,Linus Torvalds 宣布了 Linux 内核 5.19 系列第一个候选版本。与此同时,Linux 内核 5.19 官方合并窗口关闭,这意味着除非是关键性的,否则不会再接受任何新功能。

简单看一下 Linux 内核 5.19 的新内容,会发现 CPU、GPU、网络、存储和核心模块都有常规的更新。此外,代码清理、淘汰过时硬件和对以后芯片组的持续支持是此版本的亮点。

在进一步介绍之前,让我们简单来看一下这些新特性。

Linux 内核 5.19(RC1)的新特性

CPU

首先需要提及的是,Linux 内核 5.19 开始 初步支持 龙芯架构的 CPU 系列。龙芯由中国龙芯中科公司设计开发。龙芯架构的 CPU 是兼容 MIPS 架构的通用微处理器。不过虽然现在提供了支持,但是你仍不能在龙芯 CPU 上启动 Linux,因为一些代码还在审核中。希望在 5.20 版本中能够使用。

新的 英特尔 IFS 驱动 在该版本中落地,这有助于在部署前后发现硬件问题。它能够在早期阶段检测电路层面的 CPU 错误。

在前几个针对英特尔 CPU 的内核版本中一直在对电源管理和散热方面进行开发,这个版本 也不例外。首先,为 Raptor 和 Alder Lake 家族添加了英特尔 运行时平均功率限制 Run-Time Average Power Limiting (RAPL)的支持。其次,改进了 P-state 驱动以处理频率变化,并且基于 CPU 的缩放支持被添加到被动 devfreq 中。

虽然英特尔 CPU 主要是散热和电源管理方面的工作,但对 AMD CPU 系列来说有更多的性能更新。首先,计划在今年年底完成 ZMD Zen 4 CPU 的 基于指令的采样 Instruction-Based Sampling (IBS)模块引入了更多更新。此外,此版本引入了 PerfMonV2,提供了更多性能监视能力。

此外,该版本中移除了 a.out 支持。同样,过时的 Renesas H8/300 CPU 也被移除了。

主要 ARM 更新

终于,主线 Linux 内核能够 支持 ARM 多平台 了。在 Linus 的 RC1 开场白中可以看到,这是该版本中的巨大改变!从 Linux 3.7 开始,跨越了十多年的工作,这是多么漫长的过程。

Linux 内核 5.19 Rc1 发布公告提到了 ARM 变化

图形和存储升级

存储子系统在各种流行的文件系统中都有性能提升。最主要的变化包括苹果 M1 NVMe 控制器支持和对 XFS 文件系统的更好支持。此外,Btrfs、F2FS 以及 exFAT 文件系统也有增强。

在代码行数方面,有一个令人兴奋的指标是仅是图形驱动程序 Linux 内核 5.19 就增加了大约50 万行代码。它包括 AMD 的 RDNA、CDNA,英特尔的 Raptor Lake、DG2/Alchemist 等图形驱动更新。

重要的网络变化

鉴于数据传输大幅增长,对 Big TCP 的支持有助于支持数据中心 400 GBit 级别的流量。它还可以在高性能网络环境中降低延迟。

继续改进了 多路径 TCP Multi-Path TCP (MPTCP)。此外,高通 ath11k WiFi 驱动程序在此版本中添加了网络唤醒功能。同样增加了对瑞昱的 8852ce 芯片、联发科的 T700 调制解调器以及瑞萨科技的 RZ/V2M 的支持。

其他值得注意的功能

首先,内核中著名的随机函数生成器(RNG)在此版本中 继续 改进。

其次,著名的新兴的 Framework 模块化笔记本电脑获得了此版本 Chrome OS EC 驱动支持。Framework 笔记本现在可以作为一个非 Chromebook 设备利用 ChromeOS 的嵌入式控制器。

此外,Wacom 绘画板以及其他相关设备也有众多更新。包括 对联想 Thinkpad TrackPoint II、谷歌 Whiskers Touchpad、联想 X12 TrackPoint 等设备支持的提升。

Linux 内核 5.19 下载

如果你想要测试并尝试该候选版本,可以在 这里 下载。

预计在 2022 年 7 月左右最终版本发布前,将会有多个版本更迭。

参考自:内核邮件列表


via: https://www.debugpoint.com/2022/06/linux-kernel-5-19-rc1/

作者:Arindam 选题:lkxed 译者:Donkey-Hao 校对:wxy

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