NetBSD 是一个继承自 BSD 的自由、安全且支持诸多处理器架构的类 Unix 操作系统。其源代码完全开源,开发活跃,应用广泛。


NetBSD 项目于 2 月 14 日发布了 NetBSD 9.0,这是该项目的第 17 个大版本。前一个大版本 NetBSD 8.0 发布于 2018 年 7 月。

NetBSD 9.0 在硬件支持、质量保证(QA)、安全性等方面进行了重大改进,带来了诸多新功能和数百个错误修复。

变化

硬件支持

  • 支持 AArch64(64-bit Armv8-A)
    • 支持符合「Arm ServerReady」标准的机器(SBBR+SBSA)
    • 支持对称及非对称多处理(multi-processing)(即 big.LITTLE)
    • 在一些 CPU 上通过 COMPAT_NETBSD32 支持运行 32 位的二进制程序
    • 支持以下 SoCs:
      • Allwinner A64, H5, H6
      • Amlogic S905, S805X, S905D, S905W, S905X
      • Broadcom BCM2837
      • NVIDIA Tegra X1 (T210)
      • QEMU "virt" emulated machines
      • Rockchip RK3328, RK3399
      • SBSA/SBBR
    • 支持最多 256 个 CPU

  • 改进对 Armv7-A 的硬件支持.

    • UEFI bootloader
    • Supported SoCs:
      • Allwinner A10, A13, A20, A31, A80, A83T, GR8, H3, R8
      • Amlogic S805
      • Arm Versatile Express V2P-CA15
      • Broadcom BCM2836, BCM2837
      • Intel Cyclone V SoC FPGA
      • NVIDIA Tegra K1 (T124)
      • Samsung Exynos 5422
      • TI AM335x, OMAP3
      • Xilinx Zynq 7000
    • 支持最多 8 个 CPU

  • 更新 x86 的 GPU 驱动,支持许多新的 Intel 图形显示卡,更好地支持 nVidia 和 AMD 显示卡。目前的 DRM/KMS 内核子系统处于 Linux 4.4 的状态。

  • 为 Arm 增加新的 GPU 驱动,包含:

    • DRM/KMS modesetting drivers for Allwinner DE2, Rockchip VOP, TI AM335x LCDC
    • Basic framebuffer driver for Arm PrimeCell PL111, TI OMAP3 DSS
    • Simple framebuffer support for reusing linear FBs configured by the bootloader
  • 支持硬件加速虚拟化,经由 NetBSD 的新 hypervisor NVMM,见此文此页

  • 改进对将 NetBSD 用作 guest OS 的支持;对于 Arm,支持 QEMU 固件配置设备、Virtio MMIO 及 PCI;对于 x86,支持 HyperV。
  • 支持 tprof,其可用于 Armv7、Armv8 以及 x86(AMD 与 Intel)设备。

安全及质量保证(QA)

  • 支持 Kernel ASLR.
  • 支持 KLEAK。这一特性能检测内存信息泄漏,目前仅初步支持 AMD64。
  • 支持 Kernel Address Sanitizer (KASAN),针对 amd64 及 aarch64这一特性让内核能检测非法内存访问。
  • 支持 Kernel Undefined Behavior Sanitizer (KUBSAN),这一特性让内核能检测道数种未定义行为(undefined behavior)。
  • 支持 Kernel Coverage (KCOV),针对 amd64。这一驱动让 fuzzer 收集内核代码覆盖情况以改进 fuzzing 输入。
  • 支持 userland sanitizers
  • 支持 Kernel Heap Hardening
  • 对网络栈实现进行审计
  • ptrace(2) 调试器框架带来诸多 bug 修复及改进.
  • 移除大量的旧的、属于维护的组件。其中包括 NETISDN 与 NETNATM 及其有关驱动。

特性与改进

  • 为 NPF 防火墙带来诸多改进,其中包括新的特性、bug 修复、更好的文档及性能提升(引入新的查询算法 thmap)。NPF 现在默认启用。
  • 更新 ZFS。ZFS 现已可日用。但目前仍不支持从 ZFS 启动或将 ZFS 用作根文件系统。
  • 新的驱动程序,例如用以支持 Broadcom Full-MAC 无线设备的 bwfm、用以支持 Amazon Elastic Network Adapter 的 ena、用以支持 Mellanox ConnectX-4 Lx EN、ConnectX-4 EN, ConnectX-5 EN 和 ConnectX-6 EN 以太网适配器的 mcx。新增了诸多其它的驱动。为现有驱动进入了对更多硬件的支持。
  • 重写 SATA 子系统
  • 新的 usbnet 框架(USB Ethernet 驱动)。

纪念开发者

NetBSD 9.0 专门用于纪念 2018 年 8 月去世的 Matthias Drochner 和 2019 年 3 月去世的 Eric Schnoebelen。

Matthias 的技术贡献太多,无法在此处完整列出。他是一个长期的贡献者,在源代码树中进行了 3000 多次更改。

Eric 是 pkgsrc 的长期开发者,也是著名的社区成员。

除了他们的技术贡献外,Eric 和 Matthias 总是乐于助人和友好。他们的榜样鼓励用户为该项目做出贡献并与社区分享他们的工作。

此版本的更多信息见于其发布通告


NetBSD 自 386BSD fork 而来,是第一个开源的 BSD 继承者。它开发活跃,可运行于许多平台:大型服务器系统、桌面系统和手持设备,并常用于嵌入式系统。NetBSD 项目关注代码清晰、审慎设计以及不同计算机架构间的可移植性。其源代码基于低限制性的 BSD License 许可协议开源,允许任何人在保留版权声明和许可证的前提下使用、修改、重分发甚至用作一些商业用途(其各部分源码的授权条款基于不同的 BSD 许可变体,且有所不同;详细信息可查看 NetBSD.org 的此页面

NetBSD 项目主页:
http://www.netbsd.org

下载地址(此版本):
https://www.netbsd.org/mirrors/
https://cdn.netbsd.org/pub/NetBSD/NetBSD-9.0/(经由 CDN)。


封面图片转载自 www.NetBSD.org(来自Paweł Stańczuk <[email protected]>);文内的部分文字转录或衍生自 www.NetBSD.orgDistroWatch.org 的对应页面Phoronix 的有关报道osnews.com英文维基百科的 NetBSD 词条;前述资料均基于 Fair Use 利用。