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.org、DistroWatch.org 的對應頁面、Phoronix 的有關報道、osnews.com及英文維基百科的 NetBSD 詞條;前述資料均基於 Fair Use 利用。