NetBSD explained

NetBSD
Developer:The NetBSD Foundation, Inc.
Family:Unix-like (BSD)
Source Model:Open source
Latest Release Version:10.0
Latest Release Date:[1]
Latest Preview Version:10.99.x[2]
Latest Preview Date:Daily builds
Kernel Type:Monolithic with dynamically loadable modules, rump kernel
Userland:BSD
Influenced:Void Linux
Influenced By:386BSD
Ui:Unix shell
License:2-clause BSD license
Working State:Current
Supported Platforms:Alpha, ARM, x86 (IA-32 and x86-64), PA-RISC, 68k, MIPS, PowerPC, SH3, SPARC, RISC-V, VAX
Package Manager:pkgsrc
Tagline:"Of course it runs NetBSD"[3]

NetBSD is a free and open-source Unix-like operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked.[4] [5] It continues to be actively developed and is available for many platforms, including servers, desktops, handheld devices, and embedded systems.[6] [7]

The NetBSD project focuses on code clarity, careful design, and portability across many computer architectures. Its source code is publicly available and permissively licensed.[8] [9] [10]

History

NetBSD was originally derived from the 4.3BSD-Reno release of the Berkeley Software Distribution from the Computer Systems Research Group of the University of California, Berkeley, via its Net/2 source code release and the 386BSD project. The NetBSD project began as a result of frustration within the 386BSD developer community with the pace and direction of the operating system's development.[11] The four founders of the NetBSD project, Chris Demetriou, Theo de Raadt, Adam Glass, and Charles Hannum, felt that a more open development model would benefit the project: one centered on portable, clean, correct code. They aimed to produce a unified, multi-platform, production-quality, BSD-based operating system. The name "NetBSD" was chosen based on the importance and growth of networks such as the Internet at that time, and the distributed, collaborative nature of its development.[12]

The NetBSD source code repository was established on 21 March 1993 and the first official release, NetBSD 0.8, was made on 19 April 1993.[13] This was 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.[14] The first multi-platform release, NetBSD 1.0, was made in October 1994, and being updated with 4.4BSD-Lite sources, it was free of all legally encumbered 4.3BSD Net/2 code.[15] Also in 1994, for disputed reasons, one of the founders, Theo de Raadt, was removed from the project. He later founded a new project, OpenBSD, from a forked version of NetBSD 1.0 near the end of 1995.[16] In 1998, NetBSD 1.3 introduced the pkgsrc packages collection.[17]

Until 2004, NetBSD 1.x releases were made at roughly annual intervals, with minor "patch" releases in between. From release 2.0 onwards, NetBSD uses semantic versioning, and each major NetBSD release corresponds to an incremented major version number, i.e. the major releases following 2.0 are 3.0, 4.0 and so on. The previous minor releases are now divided into two categories: x.y "stable" maintenance releases and x.y.z releases containing only security and critical fixes.[18]

NetBSD used to ship with twm as a preconfigured graphical interface (window manager); in 2020 (version 9.1) this was changed to the more modern and versatile CTWM.[19]

Features

Portability

See also: busdma. As the project's motto ("Of course it runs NetBSD") suggests, NetBSD has been ported to a large number of 32- and 64-bit architectures. These range from VAX minicomputers to Pocket PC PDAs. NetBSD has also been ported to several video game consoles such as the Sega Dreamcast[20] and the Nintendo Wii.[21] As of 2019, NetBSD supports 59 hardware platforms (across 16 different instruction sets). The kernel and userland for these platforms are all built from a central unified source-code tree managed by CVS. Currently, unlike other kernels such as μClinux, the NetBSD kernel requires the presence of an MMU in any given target architecture.

NetBSD's portability is aided by the use of hardware abstraction layer interfaces for low-level hardware access such as bus input/output or DMA. Using this portability layer, device drivers can be split into "machine-independent" and "machine-dependent" components. This makes a single driver easily usable on several platforms by hiding hardware access details, and reduces the work to port it to a new system.[22]

This permits a particular device driver for a PCI card to work without modifications, whether it is in a PCI slot on an IA-32, Alpha, PowerPC, SPARC, or other architecture with a PCI bus. Also, a single driver for a specific device can operate via several different buses, like ISA, PCI, or PC Card.

This platform independence aids the development of embedded systems, particularly since NetBSD 1.6, when the entire toolchain of compilers, assemblers, linkers, and other tools fully support cross-compiling.

In 2005, as a demonstration of NetBSD's portability and suitability for embedded applications, Technologic Systems, a vendor of embedded systems hardware, designed and demonstrated a NetBSD-powered kitchen toaster.[23]

Commercial ports to embedded platforms were available from and supported by Wasabi Systems, including platforms such as the AMD Geode LX800, Freescale PowerQUICC processors, Marvell Orion, AMCC 405 family of PowerPC processors, and the Intel XScale IOP and IXP series.

Portable build framework

The NetBSD cross-compiling framework (also known as "build.sh"[24]) lets a developer build a complete NetBSD system for an architecture from a more powerful system of different architecture (cross-compiling), including on a different operating system (the framework supports most POSIX-compliant systems). Several embedded systems using NetBSD have required no additional software development other than toolchain and target rehost.[25]

The pkgsrc packages collection

See main article: pkgsrc. NetBSD features pkgsrc (short for "package source"), a framework for building and managing third-party application software packages. The pkgsrc collection consists of more than 20,000 packages as of .[26] Building and installing packages such as Lumina, KDE, GNOME, the Apache HTTP Server or Perl is performed through the use of a system of makefiles. This can automatically fetch the source code, unpack, patch, configure, build and install the package such that it can be removed again later. An alternative to compiling from source is to use a precompiled binary package. In either case, any prerequisites/dependencies will be installed automatically by the package system, without need for manual intervention.

pkgsrc supports not only NetBSD, but also several other BSD variants like FreeBSD and Darwin/macOS, and other Unix-like operating systems such as Linux, Solaris, IRIX, and others, as well as Interix. pkgsrc was previously adopted as the official package management system for DragonFly BSD.[27]

Symmetric multiprocessing

NetBSD has supported SMP since the NetBSD 2.0 release in 2004,[28] which was initially implemented using the giant lock approach. During the development cycle of the NetBSD 5 release, major work was done to improve SMP support; most of the kernel subsystems were modified to use the fine-grained locking approach. New synchronization primitives were implemented and scheduler activations was replaced with a 1:1 threading model in February 2007.[29] A scalable M2 thread scheduler was implemented, though the old 4.4BSD scheduler still remains the default but was modified to scale with SMP. Threaded software interrupts were implemented to improve synchronization. The virtual memory system, memory allocator and trap handling were made MP safe. The file system framework, including the VFS and major file systems were modified to be MP safe. Since April 2008 the only subsystems running with a giant lock are the network protocols and most device drivers.

Security

NetBSD provides various features in the security area.[30] The Kernel Authorization framework[31] (or Kauth) is a subsystem managing all authorization requests inside the kernel, and used as system-wide security policy. It allows external modules to plug-in the authorization process. NetBSD also incorporates exploit mitigation features, ASLR,[32] KASLR, restricted mprotect and Segvguard from the PaX project, and GCC Stack Smashing Protection (SSP, or also known as ProPolice, enabled by default since NetBSD 6.0) compiler extensions. Verified Executables (or Veriexec) is an in-kernel file integrity subsystem in NetBSD. It allows the user to set digital fingerprints (hashes) of files, and take a number of different actions if files do not match their fingerprints. For example, one can allow Perl to run only scripts that match their fingerprints.[33] The cryptographic device driver (CGD) allows using disks or partitions (including CDs and DVDs) for encrypted storage.[34]

Virtualization

The Xen virtual-machine monitor has been supported in NetBSD since release 3.0. The use of Xen requires a special pre-kernel boot environment that loads a Xen-specialized kernel as the "host OS" (Dom0). Any number of "guest OSes" (DomU) virtualized computers, with or without specific Xen/DomU support, can be run in parallel with the appropriate hardware resources.

The need for a third-party boot manager, such as GRUB, was eliminated with NetBSD 5's Xen-compatible boot manager.[35] NetBSD 6 as a Dom0 has been benchmarked comparably to Linux, with better performance than Linux in some tests.[36]

As of NetBSD 9.0, accelerated virtualization is provided through the native hypervisor NVMM (NetBSD Virtual Machine Monitor).[37] It provides a virtualization API, libnvmm, that can be leveraged by emulators such as QEMU. A unique property of NVMM is that the kernel never accesses guest VM memory, only creating it.[38] Intel's Hardware Accelerated Execution Manager (HAXM) provides an alternative solution for acceleration in QEMU for Intel CPUs only, similar to Linux's KVM.[39]

NetBSD 5.0 introduced the rump kernel, an architecture to run drivers in user-space by emulating kernel-space calls. This anykernel architecture allows adding support of NetBSD drivers to other kernel architectures, ranging from exokernels to monolithic kernels.[40]

Storage

NetBSD includes many enterprise features like iSCSI, a journaling filesystem, logical volume management and the ZFS filesystem.

The bio(4) interface for vendor-agnostic RAID volume management through bioctl has been available in NetBSD since 2007.[41]

The WAPBL journaling filesystem, an extension of the BSD FFS filesystem, was contributed by Wasabi Systems in 2008.[42]

The NetBSD Logical Volume Manager is based on a BSD reimplementation of a device-mapper driver and a port of the Linux Logical Volume Manager tools. It was mostly written during the Google Summer of Code 2008.[43]

The ZFS filesystem developed by Sun Microsystems was imported into the NetBSD base system in 2009.

The CHFS Flash memory filesystem was imported into NetBSD in November 2011. CHFS is a file system developed at the Department of Software Engineering, University of Szeged, Hungary, and is the first open source Flash-specific file system written for NetBSD.

Compatibility with other operating systems

At the source code level, NetBSD is very nearly entirely compliant with POSIX.1 (IEEE 1003.1-1990) standard and mostly compliant with POSIX.2 (IEEE 1003.2-1992).

NetBSD provides system call-level binary compatibility on the appropriate processor architectures with its previous releases, but also with several other UNIX-derived and UNIX-like operating systems, including Linux, and other 4.3BSD derivatives like SunOS 4. This allows NetBSD users to run many applications that are only distributed in binary form for other operating systems, usually with no significant loss of performance.[44]

A variety of "foreign" disk filesystem formats are also supported in NetBSD, including ZFS, FAT, NTFS, Linux ext2fs, Apple HFS and OS X UFS, RISC OS FileCore/ADFS, AmigaOS Fast File System, IRIX EFS, Version 7 Unix File System, and many more through PUFFS.

Kernel scripting

Kernel-space scripting with the Lua programming language was added in NetBSD 7.0.[45] The Lua language (i.e., its interpreter and standard libraries) was initially ported to the NetBSD kernel during Google Summer of Code 2010 and has undergone several improvements since then. There are two main differences between user and kernel space Lua: kernel Lua does not support floating-point numbers; as such, only Lua integers are available. It also does not have full support to user space libraries that rely on the operating system (e.g., io and os).

Sensors

See main article: envsys.

NetBSD has featured a native hardware monitoring framework since 1999/2000. In 2003, it served as the inspiration behind the OpenBSD's sysctl hw.sensors framework when some NetBSD drivers were being ported to OpenBSD.[46]

, NetBSD had close to 85 device drivers exporting data through the API of the envsys framework. Since the 2007 revision, serialisation of data between the kernel and userland is done through XML property lists with the help of NetBSD's proplib(3).

Uses

NetBSD's clean design, high performance, scalability, and support for many architectures has led to its use in embedded devices and servers, especially in networking applications.

A commercial real-time operating system, QNX, uses a network stack based on NetBSD code,[47] [48] and provides various drivers ported from NetBSD.[49]

Dell Force10 uses NetBSD as the underlying operating system that powers FTOS (the Force10 Operating System), which is used in high scalability switch/routers.[50] Force10 also made a donation to the NetBSD Foundation in 2007 to help further research and the open development community.[51]

Wasabi Systems provides a commercial Wasabi Certified BSD product based on NetBSD with proprietary enterprise features and extensions, which are focused on embedded, server and storage applications.[52]

NetBSD was used in NASA's SAMS-II Project of measuring the microgravity environment on the International Space Station,[53] [54] and for investigations of TCP for use in satellite networks.[55] [56]

In 2004, SUNET used NetBSD to set the Internet2 Land Speed Record. NetBSD was chosen "due to the scalability of the TCP code".[57]

NetBSD is also used in Apple's AirPort Extreme and Time Capsule products,[58] [59] instead of Apple's own OS X (of which most Unix-level userland code is derived from FreeBSD code but some is derived from NetBSD code[60] [61]).

The operating system of the T-Mobile Sidekick LX 2009 smartphone is based on NetBSD.[62]

The Minix operating system uses a mostly NetBSD userland as well as its pkgsrc packages infrastructure since version 3.2.[63]

Parts of macOS were originally taken from NetBSD, such as some userspace command line tools.[64] [65] [66]

Licensing

All of the NetBSD kernel and most of the core userland source code is released under the terms of the BSD License (two, three, and four-clause variants). This essentially allows everyone to use, modify, redistribute or sell it as they wish, as long as they do not remove the copyright notice and license text (the four-clause variants also include terms relating to publicity material). Thus, the development of products based on NetBSD is possible without having to make modifications to the source code public. In contrast, the GPL, which does not apply to NetBSD, stipulates that changes to source code of a product must be released to the product recipient when products derived from those changes are released.

On 20 June 2008, the NetBSD Foundation announced a transition to the two clause BSD license, citing concerns with UCB support of clause 3 and industry applicability of clause 4.[67]

NetBSD also includes the GNU development tools and other packages, which are covered by the GPL and other open source licenses. As with other BSD projects, NetBSD separates those in its base source tree to make it easier to remove code that is under more restrictive licenses.[68] As for packages, the installed software licenses may be controlled by modifying the list of allowed licenses in the pkgsrc configuration file (mk.conf).

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
[69] 28 March 2024
[71] [72] 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)
  • Improvements in the NPF firewall, updated ZFS, new and reworked drivers
  • Support for various new kernel and userland code sanitizers, and kernel ASLR. Audited network stack.
  • Removal of various old and unmaintained components, such as Intel 386 and ISDN support
[73] 17 July 2018
  • Audio system reworked with an in-kernel mixer
  • USB stack reworked with support for USB 3 host controllers and data rates
  • PaX ASLR enabled by default on supported architectures
  • 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
  • Meltdown and Spectre vulnerability mitigations for Intel and AMD CPUs
  • Added a UEFI bootloader, NVMe driver, nouveau driver for Nvidia GPUs, support for more ARM boards including the Raspberry Pi 3
[74] [75] 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.
[76] 17 October 2012
[78] [79] [80] 29 April 2009
  • Rewritten threading subsystem based on a 1:1 model and rewritten scheduler implementation.
  • 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.[81]
  • Added support for ASLR in the kernel and dynamic linker.
  • Rewritten envsys framework (envsys2); addition of 8 new Hardware Monitoring sensor drivers; new I2C attachment of the lm(4) driver; additional hardware support in several sensor drivers
19 December 2007
23 December 2005
9 December 2004
14 September 2002
  • Unified Buffer Cache (UBC) was introduced, which unifies the filesystem and virtual memory caches of file data.
  • Zero-copy support for TCP and UDP transmit path.
  • Ten new platforms supported.
  • New implementation of cross-building (build.sh) infrastructure.
  • Added support for multibyte LC_CTYPE locales.[85] [86]
6 December 2000
  • IPv6 and IPsec were added to the network stack.
  • OpenSSL and OpenSSH imported.
  • New implementation of rc.d system start-up mechanism.
  • Start of migration to ELF-format binaries.
  • A ktruss utility for kernel tracing was added.
  • Six new platforms supported, including sparc64.
  • Added FFS soft updates and support for NTFS.[87]
12 May 1999
9 March 1998
4 October 1996
26 November 1995
26 October 1994
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).[93]
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.[94]

Logo

The NetBSD "flag" logo, designed by Grant Bissett, was introduced in 2004 and is an abstraction of the older logo,[95] which was designed by Shawn Mueller in 1994. Mueller's version was based on the famous World War II photograph Raising the Flag on Iwo Jima.[96]

The NetBSD Foundation

The NetBSD Foundation is the legal entity that owns the intellectual property and trademarks associated with NetBSD,[97] and on 22 January 2004, became a 501(c)3 tax-exempt non-profit organization. The members of the foundation are developers who have CVS commit access.[98] The NetBSD Foundation has a Board of Directors, elected by the voting of members for two years.[99]

Hosting

Hosting for the project is provided primarily by Columbia University, and Western Washington University, fronted by a CDN provided by Fastly. Mirrors for the project are spread around the world and provided by volunteers and supporters of the project.

Commit guidelines

The project defines guidelines to make commits to its CVS source tree. On April 4, 2004, its first version, 1.1, was published. [100] The 10 guidelines of this version can be summarized as:[101] [102]

  1. Commit only familiar code you are familiar with;
  2. Do not commit tainted code to the repository, i.e., if the code is not yours, check its license;
  3. The more intrusive your changes are the higher is the level of required prior approval;
  4. Commit only code that you have tested;
  5. Group commits together that are part of the same fix;
  6. Each commit should be a separate patch/fix/addition/etc.;
  7. Do not mix functionality or bug-fix patches with whitespace/layout updates;
  8. Clearly document your changes in the commit log;
  9. Give proper credit if your commit contains code;
  10. Do not revert other developer's commits, try to reach an agreement.

In May 2024, the second guideline was extended to state that code generated by "large language model or similar technology" must not be committed without prior written approval by core. [103] [104]

See also

References

Notes and References

  1. Web site: Announcing NetBSD 10.0 (Mar 28, 2024).
  2. http://nycdn.netbsd.org/pub/NetBSD-daily/HEAD/latest/ Daily Release Engineering Builds
  3. Web site: Delony . David . NetBSD Explained: The Unix System That Can Run on Anything . Makeuseof . 17 August 2021 . 16 January 2023.
  4. Book: Twenty Years of Berkeley Unix: From AT&T-Owned to Freely Redistributable. http://www.oreilly.com/openbook/opensources/book/kirkmck.html. Open Sources: Voices from the Open Source Revolution. O'Reilly Media. January 1999. 1-56592-582-3.
  5. Web site: About NetBSD. 7 June 2014. NetBSD is a fork of the 386/BSD branch of the Berkeley Software Distribution (or BSD) operating system..
  6. Web site: Get to know NetBSD: An operating system that travels. ibm.org.
  7. Book: Embedded Hardware. 978-0-7506-8584-9. Ganssle, Jack G. Noergaard, Tammy. Eady, Fred. Edwards, Lewin. Katz, David J. 14 September 2007. Newnes . pp. 291–292.
  8. Web site: About NetBSD. The NetBSD Project's goals. The NetBSD Foundation, Inc.. 26 September 2023.
  9. Web site: NetBSD features list. The NetBSD Foundation, Inc.. 7 June 2014. NetBSD focuses on clean design and well architected solutions.. 6 August 2011. https://web.archive.org/web/20110806041016/http://www.netbsd.org/about/features.html#clean-design. dead.
  10. Book: Love. Robert. Linux Kernel development. 2005. Sams Publishing. 0-672-32720-1. 2.. https://archive.org/details/linuxkerneldevel00love_0. 7 June 2014. Chapter 19. Some examples of highly portable operating systems are Minix, NetBSD, and many research systems..
  11. Web site: The History of the NetBSD Project. netbsd.org. The NetBSD Foundation. 29 November 2009.
  12. Web site: 20 April 1993. INSTALLATION NOTES for NetBSD 0.8. dead. 20 October 2020. NetBSD. 17 January 2020. https://web.archive.org/web/20200117054425/http://ftp.netbsd.org/pub/NetBSD/misc/release/NetBSD/NetBSD-0.8.
  13. So you say you want an interim release of 386bsd?. Chris G. Demetriou. 19 April 1993. 1qvpc9$1e8@agate.berkeley.edu. comp.os.386bsd.announce. 12 May 2010.
  14. Web site: Information about NetBSD 0.8.
  15. Web site: Information about NetBSD 1.0.
  16. Web site: Archive of the mail conversation leading to Theo de Raadt's departure . Theo . De Raadt . Theo de Raadt . 29 March 2009 . 15 January 2010.
  17. Web site: Platforms supported by pkgsrc. netbsd.org. The NetBSD Foundation. 10 January 2010.
  18. Web site: NetBSD release glossary and graphs. 13 January 2010. The NetBSD Project. 15 January 2010.
  19. Web site: Plura . Michael . 2020-10-26 . NetBSD 9.1 mit mehr ZFS und "neuem" Fenstermanager CTWM . 2024-05-30 . heise online . de.
  20. Web site: About NetBSD/dreamcast . February 25, 2024 . NetBSD Blog.
  21. Web site: McNeill . Jared . January 21, 2024 . NetBSD/evbppc 10.99.10 on the Nintendo Wii . February 25, 2024 . YouTube.
  22. Web site: Portability and supported hardware platforms. netbsd.org. The NetBSD Foundation. 29 November 2009.
  23. Technologic Systems Designs NetBSD Controlled Toaster. August 2005. 11 June 2007.
  24. Web site: Chapter 31. Crosscompiling NetBSD with build.sh . The NetBSD Guide . The NetBSD Foundation . 10 January 2010 . 15 January 2010.
  25. Web site: BSD or Linux: Which Unix is better for embedded applications? . 2003 . Wasabi Systems Inc. . 11 June 2007 . 30 December 2006 . https://web.archive.org/web/20061230075423/http://www.wasabisystems.com/pdfs/Linux_or_BSD.pdf.
  26. The pkgsrc-2019Q3 Release. Thomas. Klausner. 3 October 2019. tech-pkg.
  27. PKGSRC will be officially supported as of the next release . Matthew . Dillon . Matthew Dillon (computer scientist) . DragonFly users . 31 August 2005 . 15 January 2010 . https://web.archive.org/web/20080120045308/http://leaf.dragonflybsd.org/mailarchive/users/2005-08/msg00347.html . 20 January 2008 . dead .
  28. Web site: NetBSD 2.0 release notes.
  29. Web site: Significant changes from NetBSD 4.0 to 5.0 . 23 December 2009 . 15 January 2010.
  30. Web site: NetBSD security(8) manual page.
  31. Web site: kauth(9) . NetBSD Manual Pages . 10 August 2009 . 15 January 2010.
  32. Web site: NetBSD paxctl(8) manual page.
  33. Web site: Chapter 19. NetBSD Veriexec subsystem.
  34. Web site: Chapter 14. The cryptographic device driver (CGD).
  35. Web site: boot(8) . NetBSD Manual Pages . 4 September 2009 . 15 January 2010.
  36. Web site: (Free and Net) BSD Xen Roadmap . Cherry G. . Matthew . Roger Pau . Monné . August 2012 . 29 December 2012.
  37. Web site: NetBSD Virtual Machine Monitor. m00nbsd.net.
  38. Web site: Re: What is the difference between nvmm-netbsd and kvm-linux?. marc.info.
  39. Web site: The hardware-assisted virtualization challenge. NetBSD Blog.
  40. Web site: The Anykernel and Rump Kernels.
  41. Web site: bioctl(8) – RAID management interface. BSD Cross Reference. NetBSD.
  42. Patches for journalling support . Simon . Burge . 2 March 2008 . tech-kern@NetBSD.org . 15 January 2010.
  43. HEADS UP NetBSD lvm support . Adam . Hamsik . 29 August 2008 . tech-kern@NetBSD.org . 15 January 2010.
  44. Web site: NetBSD Binary Emulation . 13 January 2010 . 15 January 2010.
  45. Web site: Scriptable Operating Systems with Lua.
  46. MMath. Constantine A. Murenin . 2010-05-21. 6. Evolution of the Framework; 7.1. NetBSD envsys / sysmon. OpenBSD Hardware Sensors – Environmental Monitoring and Fan Control.. . UWSpace. 10012/5234. Document ID: ab71498b6b1a60ff817b29d56997a418..
  47. Web site: Third Party Open Source License Terms Guide. QNX Software Systems. 27 December 2011.
  48. Web site: Core Networking 6.4: Neutrino's Next Gen Networking Stack and Foundry27. QNX Software Systems. (registration required)
  49. Web site: Foundry27: Project Networking – Driver wiki page. QNX Software Systems. 27 December 2011.
  50. Force10 Networks uses NetBSD to build software scalability into operating system . 13 February 2007 . . 27 December 2011 . dead . https://web.archive.org/web/20111115101312/http://force10networks.com/news/pressreleases/2007/pr-2007-02-13.asp . 15 November 2011 .
  51. Force10 Networks introduces unified operating system across product portfolio to lower total cost of owning and operating networks . 28 January 2008 . . 27 December 2011 . dead . https://web.archive.org/web/20111115095657/http://force10networks.com/news/pressreleases/2008/pr-2008-01-28b.asp . 15 November 2011 .
  52. Web site: Wasabi Systems. 16 February 2018.
  53. News: NetBSD Introduction by Siju Oommen George - BSD MAG. Duc. Hiep Nguyen. 2016-06-21. BSD MAG. 2017-11-09. en-US.
  54. Re: NetBSD/i386 and single board computers. Mary. Rivett. 12 April 1997. port-i386.
  55. News: NetBSD Introduction by Siju Oommen George - BSD MAG. Duc. Hiep Nguyen. 2016-06-21. BSD MAG. 2017-11-09. en-US.
  56. Web site: HTTP Page Transfer Rates over Geo-Stationary Satellite Links. Hans. Kruse. Mark. Allman. Jim. Griner. Diepchi. Tran. amp. 5 March 1998. 27 December 2011. dead. https://web.archive.org/web/20090720152309/http://roland.grc.nasa.gov/~jgriner/papers/nash98.pdf. 20 July 2009.
  57. Web site: SUNET Internet2 Land Speed Record: 69.073 Pbmps. Börje. Josefsson. SUNET. 14 April 2004. 27 December 2011.
  58. Web site: How to jailbreak an Apple Time Capsule?. superuser.com. 27 December 2009.
  59. Web site: AirPort Extreme: Apple Breaks 90 Mbps. Fleishman. Glenn. 16 February 2007. wifinetnews.com. 28 December 2009.
  60. Web site: Myths about FreeBSD. 7 June 2014. The two operating systems do share a lot of code, for example most userland utilities and the C library on OS X are derived from FreeBSD versions..
  61. Web site: Overview of OS X. Apple Inc.. 11 June 2012.
  62. Web site: Sidekick LX 2009 / Blade Will Run NetBSD. 30 January 2009. hiptop3.com. 5 February 2009. https://web.archive.org/web/20090317022256/http://www.hiptop3.com/archives/sidekick-lx-2009-blade-will-run-netbsd/. 17 March 2009. dead.
  63. Web site: Minix Gets a NetBSD Code Infusion. 29 February 2012. pcworld.com. 4 July 2012.
  64. Web site: chmod.c. opensource.apple.com.
  65. Web site: du.c. opensource.apple.com.
  66. Web site: mv.c. opensource.apple.com.
  67. NetBSD Licensing and Redistribution. June 2008. 20 June 2008.
  68. Web site: Distro description. Free Penguin. 7 June 2014. Licensing Section. NetBSD separates those in its base source tree, in order to make removal of code under more restrictive licenses easier..
  69. Web site: Announcing NetBSD 10.0 (Mar 28, 2024).
  70. Web site: Husemann . Martin . February 7, 2024 . NetBSD 10.0 RC4 available! . Feb 25, 2024 . NetBSD Blog.
  71. Web site: Announcing NetBSD 9.0 (Feb 14, 2020).
  72. Web site: NetBSD Blog.
  73. Web site: Announcing NetBSD 8.0. 17 July 2017. NetBSD.
  74. Web site: Announcing NetBSD 7.0.
  75. https://distrowatch.com/weekly.php?issue=20151130#netbsd DistroWatch Weekly, Issue 638, 30 November 2015
  76. Web site: Announcing NetBSD 6.0.
  77. Web site: aibs – ASUSTeK AI Booster ACPI ATK0110 voltage, temperature and fan sensor.
  78. Web site: Announcing NetBSD 5.0.
  79. https://lwn.net/Articles/330909/ Distributions [LWN.net]
  80. https://distrowatch.com/weekly.php?issue=20110103#feature DistroWatch Weekly, Issue 386, 3 January 2011
  81. Web site: Status of NetBSD and LLVM . Sonnenberger . Jörg . 2012-01-19 . 2015-03-26 . https://web.archive.org/web/20140409203110/http://www.sonnenberger.org/2012/01/19/status-netbsd-and-llvm/ . 9 April 2014 . dead .
  82. Web site: Announcing NetBSD 4.0.
  83. Web site: Announcing NetBSD 3.0.
  84. Web site: Announcing NetBSD 2.0.
  85. Web site: Announcing NetBSD 1.6.
  86. http://www.osnews.com/story/6398 OS Review: NetBSD 1.6.2 on SPARC64
  87. Web site: Announcing NetBSD 1.5.
  88. Web site: NetBSD 1.4 Release Announcement.
  89. Web site: Information about NetBSD 1.3.
  90. Web site: Information about NetBSD 1.2.
  91. Web site: Information about NetBSD 1.1.
  92. Web site: NetBSD 1.0 release announcement.
  93. Web site: NetBSD 0.9 available for anon-ftp....
  94. Web site: Installation notes for NetBSD 0.8.
  95. //www.netbsd.org/images/NetBSD-old.jpg Old NetBSD logo
  96. Web site: NetBSD logo design competition.
  97. //www.netbsd.org/foundation/ The NetBSD Foundation, Inc.
  98. Web site: NetBSD Developers . 7 January 2010 . 15 January 2010.
  99. Web site: Bylaws of The NetBSD Foundation, Constitution of The NetBSD Foundation. 7 June 2014. Section 5.4. Each Director shall serve for two years.
  100. Web site: CVS log for the Commit Guidelines . live . https://web.archive.org/web/20240520020859/http://cvsweb.netbsd.org/bsdweb.cgi/htdocs/developers/commit-guidelines.html?only_with_tag=MAIN . May 20, 2024 .
  101. Web site: NetBSD Commit Guidelines v1.3 . May 20, 2024.
  102. Web site: CVS view of NetBSD Commit Guidelines v1.1 . 2024-05-20 .
  103. Web site: Harper . Christopher . May 18, 2024 . Linux distros ban 'tainted' AI-generated code — NetBSD and Gentoo lead the charge on forbidding AI-written code . May 20, 2024 . Tom's Hardware .
  104. Web site: NetBSD Commit Guidelines v1.95 . live . https://web.archive.org/web/20240519110900/https://www.netbsd.org/developers/commit-guidelines.html . May 19, 2024 . May 20, 2024.