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 利用。