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).
NetBSD 9.0 main changes related to hardware support:
- 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.
- Arm
- 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]
You can download NetBSD 9.0 via one of the mirrors, and more details and a longer list of changes can be found in the announcement.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
> once the UEFI+ACPI firmware for the board is ready, NetBSD 9.0 should just be able to boot without modifications Since when do operating systems don’t need hardware drivers any more? The ‘UEFI for RPi’ idea is just a complex emulation layer to get towards SBBR/EBBR compliance but without hardware drivers in the OS of question itself certain hardware won’t work. As the RPi4 UEFI guys put it: ‘You can use the firmware to boot and install Linux from USB (tested with Debian 10.2 for ARM64, with the caveat that you NIC and SD card will be unavailable due to… Read more »
Good point. I’ve updated the post accordingly.
As usual Jared does an amazing job and first driver iteration for the Ethernet controller on the RPi 4 is ready for testing: http://mail-index.netbsd.org/source-changes/2020/02/22/msg114223.html
“Updated GPU drivers x86 – Support for many recent Intel cards.” Recent Intel cards? Do you mean i740?
I suppose they refer to internal GPU in Intel SoC’s. I can see some references to i915
The GPU list does not include the various Raspberry Pi Broadcom GPUs. Is support only for headless?
Too bad the Amlogic S912 isn’t listed. I have an S912 TV box laying around, unloved.