NetBSD
Adapted from Wikipedia · Discoverer experience
NetBSD is a free and open-source operating system based on the Berkeley Software Distribution. It was the first open-source version of BSD to be officially released after 386BSD was created separately. Today, NetBSD is still being developed and can run on many different types of devices, such as servers, desktops, handheld devices, and embedded systems.
The NetBSD project puts a lot of effort into making its code easy to understand, well-designed, and able to work on many different kinds of computers. Because its source code is available to everyone and has flexible licensing, anyone can use, change, or share it.
NetBSD can support over 59 different hardware platforms across 16 instruction set architectures. This includes everything from old VAX minicomputers and vintage home computers to modern ARM-based systems, Raspberry Pis, and RISC-V hardware. A special layer in the system helps make drivers work across many platforms. NetBSD also includes a large collection of third-party software packages, which has been used by other operating systems as well.
The operating system is developed by the NetBSD Foundation, a non-profit organization that owns the project's intellectual property and trademarks. The latest stable version is NetBSD 10.1, released in December 2024. This version includes improvements for better performance on certain computers, better support for ZFS file systems, integration of WireGuard VPN technology, and support for hardware such as Apple M1 chips and Raspberry Pi 4 models.
History
NetBSD started from the Berkeley Software Distribution, a type of computer system. It was created because some developers were unhappy with how another project, called 386BSD, was progressing. Four people started NetBSD to make a better system that could work on many types of computers. They chose the name “NetBSD” because networks, like the Internet, were becoming very important.
The first official version of NetBSD was released in 1993. Over time, it was updated to work on many different devices and to include new features. In 1998, one of the founders left and started a new project called OpenBSD. Today, NetBSD continues to be developed and improved.
Features
NetBSD is a free and open-source operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is available for many platforms, including servers, desktops, handheld devices, and embedded systems.
The project's motto, "Of course it runs NetBSD," highlights its wide portability. NetBSD has been adapted to run on numerous 32-bit and 64-bit architectures, from older minicomputers to modern handheld devices and video game consoles. It supports 59 hardware platforms across 16 different instruction sets. All these platforms are built from a single, unified source-code tree.
NetBSD's portability is enhanced by its hardware abstraction layer, which allows device drivers to work across multiple platforms by hiding hardware differences. This makes it easier to develop and maintain drivers for various systems. The system also supports cross-compiling, enabling developers to build NetBSD for one architecture using a different, more powerful system.
Uses
NetBSD's clear design, high performance, scalability, and support for many architectures has led to its use in embedded devices and servers, especially in networking applications.
NetBSD is popular among retrocomputing fans because it is light weight and works on many types of old hardware, from DEC VAXen to the Commodore Amiga and IBM PCs.
NetBSD has been used in many important projects, like NASA's SAMS-II Project and for studying TCP in satellite networks. It is also used in Apple's AirPort Extreme and Time Capsule products.
Several companies use NetBSD for their products, including Wasabi Systems, Precedence Technologies, and Internet Initiative Japan, Inc. (IIJ). The operating system of the T-Mobile Sidekick LX 2009 smartphone is based on NetBSD.
Parts of macOS and Bionic, the C standard library in Android, also come from NetBSD. NetBSD's tools are used by other operating systems to add extra features.
Licensing
NetBSD allows anyone to use, change, share, or sell its code as long as they keep the copyright notice. This is because it uses the BSD License. Unlike the GPL, which requires sharing changes, the BSD License does not force this.
In 2008, NetBSD switched to a simpler version of the BSD License to make it easier for companies to use. NetBSD also includes some tools from GNU, which have different rules, but these are kept separate to keep things simple.
Releases
The following table lists major NetBSD releases and their notable features in reverse chronological order. Minor and patch releases are not included.
| Major releases | Release date | Notable features and changes |
|---|---|---|
| Latest version: 10.0 | 28 March 2024 | Scheduler aware of non-uniform memory access, hyperthreading, and ARM big.LITTLE. File path cache replaced with faster red–black tree. Memory page lookup cache replaced with faster radix tree. Hardware support for Apple M1, Raspberry Pi 4, Nintendo Wii, Asus Tinker Board, Realtek 2.5GBASE-T Ethernet, Intel 40 Gigabit Ethernet Updated Direct Rendering Manager (DRM) to Linux 5.6 Support for new AArch64 security features: Privileged Access Never, Pointer Authentication, Branch Target Identification. Support for Linux binary compatibility on AArch64. Support for PVH Xen virtualization, paravirtualization and multiprocessor Dom0 support in Xen POSIX.1e access-control lists for the Fast File System, Filesystem in Userspace API compatibility up to FUSE 3.10, fsck support for the Universal Disk Format Compatibility with WireGuard VPNs, Adiantum disk encryption, Argon2 password hashing, constant time in-kernel cryptography Removal of various obsolete and unmaintained networking components, such as HIPPI, Fiber Distributed Data Interface, and Token Ring support |
| Supported: 9.0 | 14 February 2020 | Support for AArch64 (64-bit ARMv8-A) machines, including SBSA/SBBR, big.LITTLE, compatibility with 32-bit binaries, and up to 256 CPUs Enhanced support for ARMv7-A, including UEFI bootloader, big.LITTLE, kernel mode setting for Allwinner and other SoCs, and device tree support Updated Direct Rendering Manager (DRM) to Linux 4.4, support for Intel graphics up to and including Kaby Lake Hardware accelerated virtualization for QEMU via NVMM (NetBSD Virtual Machine Monitor) Support for various new kernel and userland code sanitizers, and kernel ASLR. Audited network stack. |
| Unsupported: 8.0 | 17 July 2018 | Audio system reworked with an in-kernel mixer USB stack reworked with support for USB 3 host controllers and data rates Hardened memory layout with fewer writable pages and PaX MPROTECT (W^X) enforced by default on supported architectures Support for reproducible builds, and userland built with position-independent code by default Added a UEFI bootloader, NVMe driver, nouveau driver for Nvidia GPUs, support for more ARM boards including the Raspberry Pi 3 |
| Unsupported: 7.0 | 8 October 2015 | Add accelerated support for modern Intel and Radeon devices on x86 through a port of the Linux 3.15 DRM/KMS code. Lua kernel scripting blacklistd, a daemon that integrates with packet filters to dynamically protect network daemons from network break-in attempts. NPF improvements such as JIT compilation and dynamic rules. Multiprocessor ARM support Support for many new ARM boards: Add support for Lemote Yeeloong Notebooks. |
| Unsupported: 6.0 | 17 October 2012 | Support for thread-local storage, Logical Volume Manager functionality Rewritten disk quota subsystem New subsystems to handle flash devices and NAND controllers An experimental CHFS file system designed for flash devices Support for the Multiprotocol Label Switching protocol. Introduce NetBSD Packet Filter (NPF) – a new packet filter, designed with multi-core systems in mind, which can do TCP/IP traffic filtering, stateful inspection, and Network Address Translation SMP support for Xen domU kernels, initial suspend/resume support for Xen domU, PCI pass-through support for Xen3, and addition of the balloon driver Major rework of MIPS port adding support for Symmetric multiprocessing and 64-bit (O32, N32, N64 ABIs are supported) processors, DSP v2 ASE extension, various NetLogic/RMI processor models, Loongson family processors, and new SoC boards Improved SMP on PowerPC port and added support for Book E Freescale MPC85xx (e500 core) processors ARM has gained support for Cortex-A8 processors, various new SoCs, and initial support for Raspberry Pi To address the year 2038 problem, time t was extended to 64-bit type on all NetBSD ports. apropos rewritten to implement full text search for man pages Access to driver-internal limit values added to sysmon_envsys(9), freshly utilized by new drivers like aibs(4) |
| Unsupported: 5.0 | 29 April 2009 | Support for kernel preemption, POSIX real-time scheduling extensions, processor-sets, and dynamic CPU sets for thread affinity Added jemalloc memory allocator. A metadata journaling for FFS, known as WAPBL (Write Ahead Physical Block Logging) Rewritten Loadable kernel module framework, which will replace old LKMs. Use of X.Org rather than XFree86 by default for i386 and amd64 ports, and introduction of drm(4)/DRI for 3D hardware acceleration. Preliminary support for using Clang instead of GCC as the system compiler. Added support for ASLR in the kernel and dynamic linker. |
| Unsupported: 4.0 | 19 December 2007 | Added support for slab allocator, bioctl, iSCSI target, CARP, tmpfs, Explicit Congestion Notification, Xen 3, the Kernel Authorization framework, Veriexec and other security extensions, property list exchange between kernel/userland through ioctl with proplib(3), and a Bluetooth protocol suite. |
| Unsupported: 3.0 | 23 December 2005 | Support for Xen 2.0 Support for filesystems > 2 terabytes added. OpenBSD Packet Filter was integrated as an alternative to IPFilter. UFS directory hash support. |
| Unsupported: 2.0 | 9 December 2004 | |
| Unsupported: 1.6 | 14 September 2002 | |
| Unsupported: 1.5 | 6 December 2000 | |
| Unsupported: 1.4 | 12 May 1999 | UVM, a rewritten virtual memory subsystem, was introduced. Completion of the integration of all remaining 4.4BSD Lite-2 kernel improvements. Added full USB support. |
| Unsupported: 1.3 | 9 March 1998 | |
| Unsupported: 1.2 | 4 October 1996 | |
| Unsupported: 1.1 | 26 November 1995 | |
| Unsupported: 1.0 | 26 October 1994 | The first multi-platform release, supporting the PC, HP 9000 Series 300, Amiga, 68k Macintosh, Sun-4c series and the PC532. The legally encumbered Net/2-derived source code was replaced with equivalent code from 4.4BSD-lite, in accordance with the USL v BSDi lawsuit settlement. Addition of shared libraries and Kerberos 5. |
| Unsupported: 0.9 | 20 August 1993 | Contained many enhancements and bug fixes. This was still a PC-platform-only release, although by this time, work was underway to add support for other architectures. Support for loadable kernel modules (LKM). |
| Unsupported: 0.8 | 20 April 1993 | The first official release, derived from 386BSD 0.1 plus the version 0.2.2 unofficial patchkit, with several programs from the Net/2 release missing from 386BSD re-integrated, and various other improvements. |
Logo
The NetBSD "flag" logo was created by Grant Bissett in 2004. It is inspired by an older logo made by Shawn Mueller in 1994. Mueller’s logo was based on a famous photograph from World War II called Raising the Flag on Iwo Jima.
The NetBSD Foundation
The NetBSD Foundation is the group that owns the rights to NetBSD. On 22 January 2004, it became a special type of non-profit organization. The people who help create NetBSD can vote for leaders to guide the foundation for two years.
Hosting
The NetBSD project is mainly hosted by Columbia University and Western Washington University. A CDN from Fastly helps make the project available faster. Volunteers and supporters around the world also provide mirrors to help share the project.
Related articles
This article is a child-friendly adaptation of the Wikipedia article on NetBSD, available under CC BY-SA 4.0.
Images from Wikimedia Commons. Tap any image to view credits and license.
Safekipedia