[置顶] 泰晓 RISC-V 实验箱,配套 30+ 讲嵌入式 Linux 系统开发公开课
泰晓资讯·11 月 / 第二期 / 2021
“泰晓资讯”,广泛报道 “Linux/开源” 业界资讯。欢迎广大读者投递相关资讯来源和素材,本站将进一步收集整理后发布给大家。
Linux 内核最新消息
本周是 5.16 版本的合并窗口(merge window)期,让我们在本期资讯中先着重预览一些将会合入 5.16 的新特性。
分支类型 | 版本 | 发布时间 |
---|---|---|
mainline | 5.15 | 2021-10-31 |
stable | 5.15.1 | 2021-11-06 |
stable | 5.14.17 | 2021-11-06 |
longterm | 5.10.78 | 2021-11-06 |
longterm | 5.4.158 | 2021-11-06 |
longterm | 4.19.216 | 2021-11-06 |
longterm | 4.14.254 | 2021-11-02 |
longterm | 4.9.289 | 2021-11-02 |
longterm | 4.4.291 | 2021-11-02 |
linux-next | next-20211111 | 2021-11-11 |
关键词: Linux
近期 Linux 内核的重要补丁(节选)
Architecture-specific
- Another version of arm64 userspace counter access support.: https://lwn.net/Articles/874223/
- Implement livepatch on PPC32: https://lwn.net/Articles/874232/
- riscv: kexec: add kexec_file_load() support: https://lwn.net/Articles/874489/
- x86/edac/amd64: Add heterogeneous node support: https://lwn.net/Articles/874233/
- AMD MCA Address Translation Updates: https://lwn.net/Articles/874366/
Core kernel
- Introduce power-off+restart call chain API: https://lwn.net/Articles/874224/
- Implement bloom filter map: https://lwn.net/Articles/874239/
- RELEASE: DTrace for Linux 2.0.0-1.8: https://lwn.net/Articles/874241/
- osnoise: Support multiple instances (for RTLA): https://lwn.net/Articles/874369/
- signal: Add SA_IMMUTABLE to ensure forced siganls do not get changed: https://lwn.net/Articles/874485/
- Introduce BPF map tracing capability: https://lwn.net/Articles/874770/
- kallsyms: new /proc/kallmodsyms with builtin modules: https://lwn.net/Articles/874839/
关键词: Linux
Linux Lab 发布 v0.9-rc1
泰晓社区(https://tinylab.org)于本周初发布了 Linux Lab 的 v0.9-rc1 版本,该版本为 Cloud Lab 升级了 Linux Lab 的镜像并新增了对 KDE konsole 终端的支持。与此同时,做了如下几处变更:
- 大部分开发板的默认内核版本调整为 v5.13。
- 为 boot-test 新增缺失的 bsp 自动下载依赖。
- 升级 llvm 工具链到最新的 13
- 对 list-linux 结果按版本排序
- 为 kernel-cleanup 新增 kernel-cleansrc 别名并新增 kernel-cleanall,可触发 cleansrc 和 clean
- 更新 x86_64/pc 的编译器配置
自 Linux Lab v0.8 正式版发布以来,社区计划在 v0.9 继续新增嵌入式图形系统 GuiLite 和 RISC-V 真实开发板支持,目前急需社区的同学踊跃报名参与,有一定基础并且乐于参与社区开发与贡献的同学,欢迎联系 tinylab 微信号申请 RISC-V 开发板(数量有限,先到先得)。当然,也欢迎大家贡献更多其他的新功能。
更多介绍请阅读新闻出处,“Linux Lab 发布 v0.9-rc1,Linux Lab Disk 同步新增 Kali Linux 和 ezgo Linux 支持”: https://tinylab.org/linux-lab-v09-rc1/。
关键词: Linux Lab
Linux 5.16 中针对 ARM SoC 的更改
It’s another busy cycle bringing up more Arm platforms with the mainline Linux kernel with multiple new SoCs and boards enabled. Some of the highlights of this work for Linux 5.16 are listed below.
紧跟着 5.15 的发布,5.16 又是一个繁忙的开发周期,新的主线中将支持多个新 ARM 平台下的 SoC 和开发板,相关的改动已经在本周三全部合入 5.16 主线。下面列出了这部分工作中的一些亮点。
有关 DeviceTree 的更新包括:
- 针对 Apple M1 的 PCI Express 和 Pinctrl 驱动程序,在将这部分驱动合入主线后,支持 Apple M1 的主线内核将更接近开箱即用的状态。
- Qualcomm 平台上对 Snapdragon 690 (SM6350) 和 SM7225 SoC 的支持。 Snapdragon 690 是该公司去年发布的用于 Android 平板电脑和智能手机的中端 SoC 之一。
- 针对 Qualcomm 的支持还还包括支持了 11 款新智能手机和另外三款 Google Chromebook。
- 针对 Samsung 平台,新增对 ExynosAutov9 的支持,这是一款 Exynos 系列上针对汽车应用开发的 SoC。
- 同样在汽车领域,Linux 5.16 增加了对 NXP S32G2 SoC 的支持。
- 新增对 Rockchip RK3566 / RK3688 SoC 的支持,以及支持各种新的 Rockchip 开发板。
- 新增支持 Intel Arria SoC FPGA 系列中的新开发板 - Enclustra Mercury AA1。
- 改进了对 Chromebook 的 Mediatek MT81xx SoC 支持。
有关 SoC 驱动程序更改:
- Mediatek 驱动程序现在支持 MT8192 SoC。 Mediatek MT8192 / Kompanio 820 设计用于各种 Google Chromebook。
- 支持允许将更多 SoC 驱动程序构建为可加载的内核模块。
- 许多其他小的改进和清理。
针对 SoC 的更改还包括继续对 TI OMAP2 平台代码进行清理,以及为 STMicroelectronics 的 stm32mp13 和 Microchip lan966 添加了新的支持。
除了对 ARM 平台的 SoC 和 开发板的改动,针对 ARM64 体系架构的改进也已经合入 Linux 5.16。这部分更改包括支持 ARMv8.6 计时器扩展、对非对称 MTE 配置的 Kernel Address Sanitizer (KASAN) 支持、以及支持在 Kexec 重定位期间启用 MMU 以提高速度等其他底层的更改。
原文新闻出处,“Linux 5.16 Arm SoC Changes Bring-Up The Snapdragon 690, Other Hardware” https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.16-Arm-SoC-Platform。
关键词: Linux, ARM
Linux 5.16 合入基于 DAMON 的内存回收机制
Following Amazon’s DAMON being merged in Linux 5.15 as a data monitoring access framework, being merged for Linux 5.16 is an addition building on top of that for memory reclamation when experiencing system RAM pressure.
继来自 Amazon 的 DAMON 被合并到 Linux 5.15 后,利用 DAMON 所提供的数据监控访问框架基础,Linux 5.16 中又继续合入了基于 DAMON 的内存回收代码,可以在系统遇到 RAM 压力时实现内存回收。该补丁作为 Andrew Morton 的 Linux 5.16 补丁系列的一部分,在过去几个月中一直通过内核邮件列表在进行代码审查。
这种主动回收内存页面有助于减轻内存压力,并利用 Amazon 的 DAMON 框架来确定系统上要回收的冷页面。据之前从事过该补丁开发的开发人员总结的好处是, "DAMON_RECLAIM on v5.13 Linux kernel with ZRAM swap device and 50ms/s time quota achieves 40.34% memory saving with only 3.38% runtime overhead. For this, DAMON_RECLAIM consumes only 5.16% of single CPU time. Among the CPU consumption, only up to about 1.448% of single CPU time is expected to be used for the access pattern monitoring."
。可见基于 DAMON 技术的运行时开销还是很小的。
这个基于 DAMON 的回收支持一个可配置的 “speed limit”,我们可以用它决定哪些 pages 可以被调出,从而控制所花费的资源量。启用此功能需要启用新的 CONFIG_DAMON_RECLAIM
构建选项。具体设置值可以通过内核启动参数 damon_reclaim
或者使用 sysfs 提供的 /sys/modules/damin_reclaim
。可以设置的配置选项包括:可以用于识别 cold memory 的 minimum age(起到时间阈值的作用)、限制回收的时间、回收内存大小、检查水印前的最小和最大时间、以及采样间隔等。
新闻出处,“DAMON-Based Memory Reclamation Merged For Linux 5.16” https://www.phoronix.com/scan.php?page=news_item&px=DAMON-Reclamation-Linux-5.16。
关键词: Linux,DAMON,内存回收
Linux 5.16 已提前准备好支持 FGKASLRW
Being worked on for more than a year by Intel and other kernel developers has been FGKASLR to enhance kernel security. While the Linux kernel has long supported Address Space Layout Randomization (ASLR) to make memory addresses less predictable, FGKASLR ups the security much more by placing that randomization at the function level. It’s looking like FGKASLR could be mainlined soon.
一年多来,Intel 和其他内核开发人员一直致力开发 FGKASLR 来增强内核安全性。虽然 Linux 内核很早就支持地址空间布局随机化 (Address Space Layout Randomization,简称 ASLR) 以降低骇客对内存地址的可预测性,但 FGKASLR 通过将地址随机化应用于函数级别来提高安全性。看起来 FGKASLR 很快就进入主线。
FGKASLR 的补丁还没有被合入 Linux 5.16,但是有部分准备工作已经被加入内核,所以我们觉得在内核种完整地加这个功能的日子应该不会太远了。所谓 FGKASLR,全称是叫 Finer Grained Kernel Address Space Layout Randomization(也有人说 FG 是 Function Granular 的意思),无论如何,其含义就是在 ASLR 针对 base address 实现随机化的基础上进一步对函数的位置进行重排,使得随进化的颗粒度更小,随机性更强。
FGKASLR 提高了针对内核中已知内存位置的抗攻击性,但可能会导致轻微 (大概 1%) 的性能损失。自 2020 年首次发布以来,FGKASLR 一直在接受多轮审查。
目前合入 Linux 5.16 中的是 x86/core 部分,其中包括为 FGKASLR 做准备的 “a bunch of changes”。为了能够支持 FGKASLR,内核底层有不少地方做了修改。具体细节可以通过从上周开始合并的这个 pull requeset 中找到。
更多介绍请阅读新闻出处,“Linux 5.16 Has Early Preparations For Supporting FGKASLR”: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.16-Preps-For-FGKASLR。
关键词: Linux,FGKASLRW
Linux 5.16 对内核代码做了一次大清理
There isn’t any shiny new drivers part of the kernel’s staging area for Linux 5.16 but exciting from a maintenance perspective is a rather healthy clean-up affecting multiple areas of this “proving grounds” area of the kernel.
Linux 5.16 代码的 staging 目录下内核暂存区没有任何闪亮的新驱动程序部分,但从维护的角度来看,令人兴奋的是一个相当健康的清理会影响内核这个“试验场”区域的多个区域。
虽然在 Linux 5.16 中没有对 staging 目录进行大的添加,但对这个目录下的内容进行了多次清理,从而删除了大量代码。准确地说,这次光从 Linux 5.16 的 staging 目录下就删除了超过 20000 行代码。从维护的角度来看,实在是一件让人高兴的事情。
清理的代码包括:Realtek r8188eu,wlan-ng、fbtft、MOST 子系统驱动程序、各种 rtl8*
驱动程序、rts5208 驱动程序、vt6655、vc04_services、WFX 和 mt7621 的驱动。
有关 WFX 代码已几乎清理到几乎可以完全被移除。 WFX 代码用于 Silicon Laboratories WiFi Linux 驱动程序。这个驱动曾经离开过内核源码树,但在 5.5 时又被重新加进来,看来这次又要被剔除了。
更多介绍请阅读新闻出处,“Linux 5.16’s Staging Enjoys An Autumn Cleaning - 20k+ Lines Of Code Removed”: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.16-Staging。
关键词: Linux
KVM 在 Linux 5.16 中的变化
Google announced today that now through at least the end of January they will be providing higher payment amounts for security researchers disclosing new vulnerabilities affecting the Linux kernel.
上周,Kernel-based Virtual Machine (简称 KVM)部分的补丁提交并被合入 Linux 5.16。其中最引人注目的改动是为 KVM 引入了 RISC-V 架构代码。KVM RISC-V hypervisor 的代码遵从 RISC-V ISA 的 hypervisor 扩展规范定义,该扩展标准最近刚刚被冻结。现在唯一等待的就是 RISC-V 处理器上市了,这些处理器必须具有很高的性能,当然也必须支持 hypervisor 扩展 ……
在 x86 (x86_64) 方面,代码有各种小改进。 AMD SVM 的一项面向用户的更改是支持关闭 KVM guest 的 AMD PSF。 所谓 PSF 是 Zen 3 所支持的 Predictive Store Forwarding 功能,但据今年早些时候披露其可能存在安全隐患。用于彻底禁用该 PSF 特性的补丁尚未合并到 Linux 内核中,而 5.16 现在至少可以允许 guest 上的内核关闭 PSF。
针对 ARM KVM 继续支持受保护的虚拟机。对于 Apple M1 上 VGIC 实现的 bug,提供了 workaround。KVM 上针对 s390 的代码也进行了各种改进,包括针对 lazy destroying of secure VMs 的 workaround。
据悉,针对 5.16 的第二批 KVM 更新会随后提交。
更多介绍请阅读新闻出处,“KVM Changes Land In Linux 5.16: RISC-V Hypervisor Support, AMD PSF Control Bit”: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.16-KVM。
关键词: Linux,KVM
GCC 12 新增 -march=armv9-a
As of this morning the GCC 12 compiler has landed support for -march=armv9-a for targeting the forthcoming Armv9-A ISA.
截至本周二上午,GCC 12 编译器已加入对 -march=armv9-a
的支持,以针对即将推出的 Armv9-A ISA。
在今年早些时候宣布 Armv9 和 Cortex-X2 之类的产品之后,开源代码编译器一直在为 ARMv8 的这种进化进步做准备。
LLVM/Clang 一直致力于 Armv9-A 的启用,从 Binutils 到 GNU Compiler Collection 的 GNU 工具链也一直在准备他们的新代码。使用 -march=armv9-a
用于支持 Armv9-A ISA 并启用可用的新指令。这是支持下一代 ARM 架构的重要一步。
GCC 12.1 作为第一个稳定的 GCC 12 版本应该在 2022 年第二季度发布。 GCC 12 的新特性开发开始逐渐减少以专注于错误修复,但鉴于修改导致的衰退风险很低,我们仍有可能在明年发布之前看到更多针对 Armv9 的新特性被加入。
更多介绍请阅读新闻出处,“GCC 12 Lands Support For -march=armv9-a”: https://www.phoronix.com/scan.php?page=news_item&px=GCC-12-ARMv9-march-armv9-a。
关键词: GCC,Armv9
联系我们
资讯内容部分来自 “LWN.net“。如果您对某些 LWN 文章感兴趣(譬如希望获得全文翻译的)请扫描二维码加微信联系我们:
猜你喜欢:
- 我要投稿:发表原创技术文章,收获福利、挚友与行业影响力
- 泰晓资讯:汇总一周技术趣闻与文章,查看「Linux 资讯」
- 知识星球:独家 Linux 实战经验与技巧,订阅「Linux知识星球」
- 视频频道:泰晓学院,B 站,发布各类 Linux 视频课
- 开源小店:欢迎光临泰晓科技自营店,购物支持泰晓原创
- 技术交流:Linux 用户技术交流微信群,联系微信号:tinylab
支付宝打赏 ¥9.68元 | 微信打赏 ¥9.68元 | |
请作者喝杯咖啡吧 |
Read Album:
- 泰晓资讯·11 月 / 第三期 / 2024
- 泰晓资讯·11 月 / 第二期 / 2024
- 泰晓资讯·11 月 / 第一期 / 2024
- 泰晓资讯·10 月 / 第二期 / 2024
- 泰晓资讯·10 月 / 第一期 / 2024