Announcing NetBSD 9.0 (Feb 14, 2020)

Introduction The NetBSD Project is pleased to announce NetBSD 9.0, the seventeenth major release of the NetBSD operating system. This release brings significant improvements in terms of hardware support, quality assurance, security, along with new features and hundreds of bug fixes. Here are some highlights of this new release. Hardware Support Support for AArch64 (64-bit Armv8-A) machines . Support for "Arm ServerReady" compliant machines (SBBR+SBSA) Symmetric and asymmetrical multiprocessing support (aka big.LITTLE) Support for running 32-bit binaries via COMPAT_NETBSD32 on CPUs that support it Single GENERIC64 kernel supports ACPI and devicetree based booting Supported 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 (server-class) hardware using ACPI. Successfully test on, for example: Amazon Graviton and Graviton2 (including bare metal instances), AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040, QEMU w/ Tianocore EDK2 Support for up to 256 CPUs

. Enhanced hardware support for Armv7-A . Symmetric and asymmetrical multiprocessing support (aka big.LITTLE) UEFI bootloader Single GENERIC kernel supports devicetree based booting 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 Support for up to 8 CPUs

. Updated GPU drivers on x86 , bringing support for many recent Intel cards, and improved support for nVidia and AMD cards. Our DRM/KMS kernel subsystem is now at Linux 4.4 state.

, bringing support for many recent Intel cards, and improved support for nVidia and AMD cards. Our DRM/KMS kernel subsystem is now at Linux 4.4 state. New GPU drivers for Arm , including: 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

, including: Support for hardware-accelerated virtualization , via NetBSD's new NVMM hypervisor. A virtualization API is provided via the new libnvmm library, which allows to effortlessly create and manage virtual machines via NVMM. A new Qemu package called qemu-nvmm allows to run advanced guest OSes with NVMM. Find out more on this blog post, and this page.

, via NetBSD's new hypervisor. A virtualization API is provided via the new library, which allows to effortlessly create and manage virtual machines via NVMM. A new Qemu package called allows to run advanced guest OSes with NVMM. Find out more on this blog post, and this page. Improvements for using NetBSD as a guest OS , with support for the QEMU firmware configuration device, Virtio MMIO and PCI support for Arm, and HyperV support for x86.

, with support for the QEMU firmware configuration device, Virtio MMIO and PCI support for Arm, and HyperV support for x86. Support for Performance Monitoring Counters , via tprof , available on Armv7, Armv8, and x86 AMD and Intel. It allows to analyze the performance of the kernel and user applications at execution time. Security, Quality Assurance Support for Kernel ASLR , on x86 64-bit, via the new GENERIC_KASLR kernel configuration file. This implementation is one of the most advanced available to date. The default GENERIC configuration is also shipped with a partial Kernel ASLR enabled by default. Find out more on this page.

, on x86 64-bit, via the new kernel configuration file. This implementation is one of the most advanced available to date. The default configuration is also shipped with a partial Kernel ASLR enabled by default. Find out more on this page. Support for KLEAK , a new feature able to detect kernel memory disclosures, with initial support for amd64. It allowed to find and fix more than 25 bugs in the kernel. Find out more in this paper.

, a new feature able to detect kernel memory disclosures, with initial support for amd64. It allowed to find and fix more than 25 bugs in the kernel. Find out more in this paper. Support for Kernel Address Sanitizer (KASAN) , on amd64 and aarch64. This feature allows the kernel to detect illegal memory accesses, such as buffer overflows, stack overflows and use-after-frees. KASAN plays an important role in assuring kernel code quality.

, on amd64 and aarch64. This feature allows the kernel to detect illegal memory accesses, such as buffer overflows, stack overflows and use-after-frees. KASAN plays an important role in assuring kernel code quality. Support for Kernel Undefined Behavior Sanitizer (KUBSAN) , this feature allows the kernel to detect several classes of undefined behavior. KUBSAN also plays an important role in assuring kernel code quality.

, this feature allows the kernel to detect several classes of undefined behavior. KUBSAN also plays an important role in assuring kernel code quality. Support for Kernel Coverage (KCOV) , on amd64. This drivers allows fuzzers to collect kernel coverage to improve fuzzing inputs.

, on amd64. This drivers allows fuzzers to collect kernel coverage to improve fuzzing inputs. Support for userland sanitizers , with new configurations allowing to run the entire userland stack with sanitizers.

, with new configurations allowing to run the entire userland stack with sanitizers. Kernel Heap Hardening , making it harder to exploit several classes of memory bugs.

, making it harder to exploit several classes of memory bugs. Audited network stack , bringing more confidence in the networking components of the kernel. Find out more on this blog entry.

, bringing more confidence in the networking components of the kernel. Find out more on this blog entry. Many bug fixes and enhancements for the ptrace(2)

Removal of numerous old and unmaintained components . This results in a code base that is much cleaner, smaller, and easier to work on. The removed items include NETISDN and related drivers ( daic , iavc , ifpci , ifritz , iwic , isic ), NETNATM and the related midway driver, several compatibility layers ( NDIS , SVR3 , SVR4 ), the n8 driver, vm86, ipkdb, among others. Features, General Improvements Many improvements in NPF , including new features, bug fixes, better documentation, and increased performance with a new lookup algorithm ( thmap ). NPF is now enabled by default.

, including new features, bug fixes, better documentation, and increased performance with a new lookup algorithm ( ). NPF is now enabled by default. Updated ZFS . This is the first release with ZFS usable for daily use, but there is no support for booting from ZFS nor using ZFS as root filesystem yet.

. This is the first release with ZFS usable for daily use, but there is no support for booting from ZFS nor using ZFS as root filesystem yet. New drivers , such as bwfm for Broadcom Full-MAC wireless devices, ena for Amazon Elastic Network Adapter, and mcx Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, and ConnectX-6 EN ethernet adapters. Various other drivers have been added, and support for more hardware variants added to existing drivers.

, such as for Broadcom Full-MAC wireless devices, for Amazon Elastic Network Adapter, and Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, and ConnectX-6 EN ethernet adapters. Various other drivers have been added, and support for more hardware variants added to existing drivers. Reworked SATA subsystem , now supporting multiple commands in transit (NCQ), and with better handling of errors reported by the drive.

, now supporting multiple commands in transit (NCQ), and with better handling of errors reported by the drive. New usbnet framework , a common framework for USB Ethernet drivers. Find out more on this blog post. Updated 3rd-party Components Several 3rd-party components were updated to new versions, such as: GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0, sqlite 3.26.0. The complete list of changes can be found in the CHANGES and CHANGES-9.0 files in the top level directory of the NetBSD 9.0 release tree.

Getting NetBSD 9.0 Complete source and binaries for NetBSD 9.0 are available for download at many sites around the world. You can download NetBSD 9.0 from our main CDN, or use a mirror site close to you. A list of hashes, signed by the NetBSD Security Officer's PGP key, is available for the NetBSD 9.0 distribution in this file. NetBSD is free. All of the code is under non-restrictive licenses, and may be used without paying royalties to anyone. Free support services are available via our mailing lists and website. Commercial support is available from a variety of sources. More extensive information on NetBSD is available from our website: www.NetBSD.org

System families supported by NetBSD 9.0 The NetBSD 9.0 release provides supported binary distributions for the following systems: NetBSD/aarch64 Arm 64-bit NetBSD/acorn32 Acorn RiscPC/A7000, VLSI RC7500 NetBSD/algor Algorithmics, Ltd. MIPS evaluation boards NetBSD/alpha Digital/Compaq Alpha (64-bit) NetBSD/amd64 AMD family processors like Opteron, Athlon64, and Intel CPUs with EM64T extension NetBSD/amiga Commodore Amiga and MacroSystem DraCo NetBSD/amigappc PowerPC-based Amiga boards. NetBSD/arc MIPS-based machines following the Advanced RISC Computing spec NetBSD/atari Atari TT030, Falcon, Hades NetBSD/bebox Be Inc's BeBox NetBSD/cats Chalice Technology's CATS and Intel's EBSA-285 evaluation boards NetBSD/cesfic CES FIC8234 VME processor board NetBSD/cobalt Cobalt Networks' MIPS-based Microservers NetBSD/dreamcast Sega Dreamcast game console NetBSD/emips The Extensible MIPS architecture from Microsoft Research NetBSD/epoc32 Psion EPOC PDAs NetBSD/evbarm Various Arm-based evaluation boards and appliances NetBSD/evbmips Various MIPS-based evaluation boards and appliances NetBSD/evbppc Various PowerPC-based evaluation boards and appliances NetBSD/evbsh3 Various Hitachi Super-H SH3 and SH4-based evaluation boards and appliances NetBSD/ews4800mips NEC's MIPS-based EWS4800 workstation NetBSD/hp300 Hewlett-Packard 9000/300 and 400 series NetBSD/hpcarm StrongArm based Windows CE PDA machines NetBSD/hpcmips MIPS-based Windows CE PDA machines NetBSD/hpcsh Hitachi Super-H based Windows CE PDA machines NetBSD/hppa Hewlett-Packard 9000 Series 700 workstations NetBSD/i386 IBM PCs and PC clones with i486-family processors and up NetBSD/ibmnws IBM Network Station 1000 NetBSD/iyonix Castle Technology's Iyonix Arm based PCs NetBSD/landisk SH4 processor based NAS appliances NetBSD/luna68k OMRON Tateisi Electric's LUNA series NetBSD/mac68k Apple Macintosh with Motorola 68k CPU NetBSD/macppc Apple PowerPC-based Macintosh and clones NetBSD/mipsco MIPS Computer Systems Inc. family of workstations and servers NetBSD/mmeye Brains mmEye multimedia server NetBSD/mvme68k Motorola MVME 68k Single Board Computers NetBSD/mvmeppc Motorola PowerPC VME Single Board Computers NetBSD/netwinder StrongArm based NetWinder machines NetBSD/news68k Sony's 68k-based “ NET WORK STATION ” series NetBSD/newsmips Sony's MIPS-based “ NET WORK STATION ” series NetBSD/next68k NeXT 68k “ black ” hardware NetBSD/ofppc OpenFirmware PowerPC machines NetBSD/pmax Digital MIPS-based DECstations and DECsystems NetBSD/prep PReP (PowerPC Reference Platform) and CHRP machines NetBSD/rs6000 IBM RS/6000 MCA-based PowerPC machines. NetBSD/sandpoint Motorola Sandpoint reference platform, including many PPC-based NAS boxes NetBSD/sgimips Silicon Graphics' MIPS-based workstations NetBSD/shark Digital DNARD ( “ shark ” ) NetBSD/sparc Sun SPARC (32-bit) and UltraSPARC (in 32-bit mode) NetBSD/sparc64 Sun UltraSPARC (in native 64-bit mode) NetBSD/sun2 Sun Microsystems Sun 2 machines with Motorola 68010 CPU NetBSD/sun3 Motorola 68020 and 030 based Sun 3 and 3x machines NetBSD/vax Digital VAX NetBSD/x68k Sharp X680x0 series NetBSD/xen The Xen virtual machine monitor NetBSD/zaurus Sharp Arm PDAs Ports included in the release but not fully supported or functional: NetBSD/ia64 Itanium family of processors

Dedication NetBSD 9.0 is dedicated to the memory of Matthias Drochner, who passed away in August 2018, and Eric Schnoebelen, who passed away in March 2019. Matthias' technical contributions are too many to list here in full. He was a long term contributor and committed more than 3000 changes all over the source tree and lately was especially active in keeping some of our weirdest ancient VME architectures in shape. Eric was a long term pkgsrc developer and well known community member. Beyond their technical contributions, Eric and Matthias were always helpful and friendly. Their example encouraged users to contribute to the project and share their work with the community.

Acknowledgments The NetBSD Foundation would like to thank all those who have contributed code, hardware, documentation, funds, colocation for our servers, web pages and other documentation, release engineering, and other resources over the years. More information on the people who make NetBSD happen is available at: www.NetBSD.org/people/ We would also like to thank the Tasty Lime and the Network Security Lab at Columbia University's Computer Science Department for current colocation services. Thanks to Fastly for providing the CDN services.

About NetBSD NetBSD is a free, fast, secure, and highly portable Unix-like Open Source operating system. It is available for a wide range of platforms, from large-scale servers and powerful desktop systems to handheld and embedded devices. Its clean design and advanced features make it excellent for use in both production and research environments, and the source code is freely available under a business-friendly license. NetBSD is developed and supported by a large and vibrant international community. Many applications are readily available through pkgsrc, the NetBSD Packages Collection.

About the NetBSD Foundation The NetBSD Foundation was chartered in 1995, with the task of overseeing core NetBSD project services, promoting the project within industry and the open source community, and holding intellectual property rights on much of the NetBSD code base. Day-to-day operations of the project are handled by volunteers. As a non-profit organization with no commercial backing, the NetBSD Foundation depends on donations from its users, and we would like to ask you to consider making a donation to the NetBSD Foundation in support of continuing production of our fine operating system. Your generous donation would be particularly welcome to help with ongoing upgrades and maintenance, as well as with operating expenses for the NetBSD Foundation. Donations can be done via PayPal to <paypal@NetBSD.org> , or via Google Checkout and are fully tax-deductible in the US. See www.NetBSD.org/donations/ for more information, or contact <finance-exec@NetBSD.org> directly.

Back to NetBSD 9.x formal releases