NetBSD
Adapted from Wikipedia · Adventurer experience
NetBSD is a free and open-source operating system based on the Berkeley Software Distribution. It was the first open version of BSD to be released after 386BSD was created.
NetBSD is still being developed and can run on many types of devices, like servers, desktops, handheld devices, and other systems.
The NetBSD project works hard to make its code clear and well-designed so it can run on many kinds of computers. Because its source code is available to everyone, anyone can use, change, or share it.
NetBSD can support many different hardware platforms across 16 instruction set types. This includes old computers and modern systems like ARM-based devices, Raspberry Pis, and RISC-V hardware. NetBSD includes many software packages that other operating systems also use.
The operating system is developed by the NetBSD Foundation, a non-profit group. The latest stable version is NetBSD 10.1, released in December 2024. This version has improvements for better performance, better support for ZFS file systems, and includes WireGuard technology. It also supports hardware such as Apple M1 chips and Raspberry Pi 4 models.
History
NetBSD began 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 is still being developed and can run on many types of devices, like servers, desktops, handheld devices, and embedded systems.
The project's motto, "Of course it runs NetBSD," shows how easy it is to use on different devices. NetBSD can run on many 32-bit and 64-bit types of computers, from older minicomputers to modern handheld devices and video game consoles. It supports many hardware platforms using different instruction sets. All these platforms use the same main source-code tree.
NetBSD's ability to work on many devices is helped by its hardware abstraction layer. This lets device drivers work on many platforms by hiding the differences in hardware. This makes it easier to create and update drivers for different systems. The system also supports cross-compiling, which lets developers build NetBSD for one type of computer using a different, more powerful computer.
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 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 lets anyone use, change, share, or sell its code as long as they keep the copyright notice. This is because it uses the BSD License. The BSD License is different from the GPL. The GPL makes people share changes, but the BSD License does not.
In 2008, NetBSD changed to a simpler version of the BSD License. This made it easier for companies to use. NetBSD also includes some tools from GNU. These tools have different rules, but they are kept separate to keep things simple.
Releases
Here is a list of important NetBSD releases and what they added. The list is shown from the newest to the oldest. Small updates and fixes 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 based on an older logo made by Shawn Mueller in 1994. Mueller’s logo was inspired by a famous photograph from World War II.
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 hosted by Columbia University and Western Washington University. A CDN from Fastly helps share the project quickly. Volunteers and supporters worldwide also provide mirrors to spread 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