Yesterday, we wrote about Raspberry Pi 4 getting UEFI+ACPI firmware for Arm SSBR compliance allowing the board to run operating systems designed for “Arm ServerReady” servers out of the box.
NetBSD 9.0 was just released on February 14, 2020, with support for Aarch64 (64-bit Arm) which had been in the works for a few years, and includes support for “Arm ServerReady” compliant machines (SBBR+SBSA).
- Support for AArch64 (64-bit Armv8-A) machines
- Compatibility with “Arm ServerReady” compliant machines (SBBR+SBSA) using ACPI. Tested on Amazon Graviton and Graviton2 (including bare metal instances), AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040, QEMU w/ Tianocore EDK2
- Symmetric and asymmetrical multiprocessing support (big.LITTLE)
- Support for running 32-bit binaries via COMPAT_NETBSD32 on CPUs that support it
- Single GENERIC64 kernel supports ACPI and device tree based booting
- Supported SoCs
- Allwinner A64, H5, H6
- Amlogic S905, S805X, S905D, S905W, S905X
- Broadcom BCM2837 (Raspberry Pi 3B)
- NVIDIA Tegra X1 (T210)
- QEMU “virt” emulated machines
- Rockchip RK3328, RK3399
- Support for up to 256 CPUs
- Enhanced hardware support for Armv7-A.
- Symmetric and asymmetrical multiprocessing support ( big.LITTLE)
- UEFI bootloader
- Single GENERIC kernel supports device tree based booting
- Supported SoCs:
- Allwinner A10, A13, A20, A31, A80, A83T, GR8, H3, R8
- Amlogic S805
- Arm Versatile Express V2P-CA15
- Broadcom BCM2836 (Raspberry Pi 2B)
- 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
- x86 – Support for many recent Intel cards, improved support for Nvidia and AMD cards. DRM/KMS kernel subsystem is now at Linux 4.4 state.
- 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
- Support for hardware-accelerated virtualization via NetBSD’s NVMM
- Improvements for using NetBSD as a guest OS – Support for the QEMU firmware configuration device, Virtio MMIO and PCI support on Arm, and HyperV support on x86.
NetBSD 9.0 also brings several security features (Kernel ASLR on x86 64-bit, KLEAK to detect kernel memory disclosures, Kernel Address Sanitizer on amd64 and aarch64, etc..) as well as various improvements such as a reworked SATA stack, new features and bug fixes for NPF packet filter, and updated ZFS support, now usable for daily use, although no support for booting or root fs just yet.
You may have noticed Raspberry Pi 4 board is not part of the list of supported hardware, but the beauty of getting SBBR compliance is that NetBSD developer should not have to work on a port, and once the UEFI+ACPI firmware for the board is ready, NetBSD 9.0 should just be able to boot without modifications. [Update: You’d need drivers in the OS to support all peripherals in your board of choice]