FreeBSD

From The Hidden Wiki
Jump to navigationJump to search

Template:Good article Template:Use dmy dates Template:Infobox OS

FreeBSD is a free Unix-like operating system descended from Research Unix via Berkeley Software Distribution (BSD). Although for legal reasons FreeBSD cannot use the Unix trademark, it is a direct descendant of BSD, which was historically also called "BSD Unix" or "Berkeley Unix". The first version of FreeBSD was released in 1993, and today FreeBSD is the most widely used open-source BSD distribution, accounting for more than three-quarters of all installed systems running open-source BSD derivatives.<ref name="survey" />

FreeBSD has similarities with Linux, with two major differences in scope and licensing: FreeBSD maintains a complete operating system, i.e. the project delivers kernel, device drivers, userland utilities and documentation, as opposed to a kernel only;<ref name=informit-bsd-tree /> and FreeBSD source code is generally released under a permissive BSD license as opposed to the more restrictive GPL.

The FreeBSD project includes a security team overlooking all software shipped in the base distribution. A wide range of additional third-party applications may be installed via two package managers, "pkgng" and the FreeBSD Ports, or by directly compiling source code. Due to its permissive licensing terms, much of FreeBSD's code base has become an integral part of other operating systems such as Juniper JUNOS and Apple's OS X.

History

Template:Main

Background

FreeBSD's roots go back to the University of California, Berkeley. The university acquired a UNIX source license from AT&T. Students of the university started to modify and improve the AT&T Unix and called this modified version Berkeley Unix or BSD, implementing features such as T*****/IP, virtual memory and the Unix File System. The BSD project was founded in 1976 by Bill Joy. But since the BSD contained codes from AT&T Unix, all recipients had to get a license from AT&T first in order to use BSD.<ref name="kirkmck" />

In June 1989, "Networking Release 1" or simply Net-1--the first public version of BSD--was released. After releasing Net-1, Keith Bostic, a developer of BSD, suggested replacing all AT&T code with freely-redistributable code under the original BSD license. Work on replacing AT&T code began and, after 18 months, much of the AT&T code was replaced. However, six files containing AT&T code remained in the kernel. The BSD developers decided to release the "Networking Release 2" without those six files. Net-2 was released in 1991.<ref name="kirkmck" />

Birth of FreeBSD

In 1992, several months after the release of Net-2, William Jolitz and Lynne Jolitz, wrote replacements for those six missing files and ported BSD to the Intel 80386-based microprocessors and called their new operating system 386BSD. They released 386BSD via an anonymous FTP server.<ref name="kirkmck" /> The development flow of 386BSD was slow and after a period of neglect, a group of 386BSD users decided to branch out on their own and create FreeBSD so that they could keep the operating system up to date. The first version of FreeBSD was released on November 1993.Template:Sfn<ref name="kirkmck" />

In the early days of the project's inception, a company named Walnut Creek CDROM, upon the suggestion of the two FreeBSD developers, agreed to release the operating system on CD-ROM. In addition to that, the company employed Jordan Hubbard and David Greenman, ran FreeBSD on its servers, sponsored FreeBSD conferences and published FreeBSD-related books, including The Complete FreeBSD by Greg Lehey. By 1997, FreeBSD was Walnut Creek's "most successful product". The company itself later renamed to The FreeBSD Mall and later iXSystems.<ref name="history" /><ref name="freebsdmall-history" /><ref name="linuxtoday-walnut" />

Today, FreeBSD is used by many IT companies such as IBM, Nokia, Juniper Networks and NetApp.Template:Sfn<ref name="why freebsd" /> Certain parts of the OS X operating system are based on FreeBSD.<ref name="darwin" /> Also, PS3/PS4 operating systems are based on FreeBSD.<ref name="scei-ps3" /><ref name="ps4-phoronix" />

Lawsuit

386BSD and FreeBSD were both derived from 1992's BSD release.Template:Sfn In January 1992, BSDi started to release BSD/386, later called BSD/OS, an operating system similar to FreeBSD and based on 1992's BSD release. AT&T filed a lawsuit against BSDi and alleged distribution of AT&T source code in violation of license agreements. The lawsuit was settled out of court and the exact terms were not all disclosed. The only one that became public was that BSDi would migrate their source base to the newer 4.4BSD-Lite sources. Although not involved in the litigation, it was suggested to FreeBSD that they should also move to 4.4BSD-Lite.Template:Sfn FreeBSD 2.0 which was released on November 1994, was the first version of FreeBSD without any code from AT&T.<ref name="releases" />

Uses

As a general purpose operating system, FreeBSD could be used in various scenarios:<ref name="welcome" />

Servers

It is possible to configure and use FreeBSD as a mail server, web server, Firewall, FTP server, DNS server and a router.

Desktop

Although FreeBSD does not ship with X Window System by default, it is available in the FreeBSD ports collection. A number of Desktop environments such as GNOME, KDE and Xfce, are also available to FreeBSD.

Embedded systems

In addition to widely-used x86 and x86-64 platforms, FreeBSD supports a number of less-used hardware platforms such as ARM, PowerPC and MIPS.

Features

File:FreeBSD 9.1 Console Login.png
FreeBSD 9.1 startup with console login prompt

Networking

FreeBSD's T*****/IP stack is based on the 4.2BSD implementation of T*****/IP which greatly contributed to the widespread adoption of these protocols.<ref name="t*****ip-stack" /> FreeBSD also supports IPv6,<ref name=packt-ipv6 /> SCTP, IPSec, and wireless networking (Wi-Fi).<ref name=bsdcan-wireless /> The IPv6 and IPSec stacks were taken from the KAME project.<ref name="kame-project" /> Also, FreeBSD supports IPX and AppleTalk protocols, but they are considered old and it is planned to drop support of them in the upcoming FreeBSD 11.0.<ref name="ipx-appletalk" />

As of FreeBSD 5.4, support for the Common Address Redundancy Protocol (CARP) was imported from the OpenBSD project. CARP allows multiple nodes to share a set of IP addresses. So if one of the nodes goes down, other nodes still can serve the requests.<ref name=fbsd-carp />

Storage

FreeBSD has several unique features related to storage. Soft updates can protect the consistency of the UFS filesystem (widely used on the BSDs) in the event of a system crash.<ref name="softupdates" /> Filesystem snapshots allow an image of a UFS filesystem at an instant in time to be efficiently created.Template:Sfn Snapshots allow reliable backup of a live filesystem. GEOM is a modular framework that provides RAID (levels 0, 1, 3 currently), full disk encryption, journaling, concatenation, caching, and access to network-backed storage. GEOM allows building of complex storage solutions combining ("chaining") these mechanisms.Template:Sfn FreeBSD provides two framework for data encryption: GBDE and Geli. Both GBDE and Geli operates at the disk level. GBDE was written by Poul-Henning Kamp and is distributed under the two-clause BSD license. Geli is an alternative to GBDE that was written by Pawel Jakub Dawidek and first appeared in FreeBSD 6.0.<ref name="geli" /><ref name="usenix-gbde" />

From 7.0 onward, FreeBSD supports the ZFS filesystem. ZFS was previously an open source filesystem that was first developed by Sun microsystems, but when Oracle acquired Sun, ZFS became a proprietary product. However, the FreeBSD project is still developing and improving its ZFS implemention.<ref name="datamation-zfs" />

Security

FreeBSD provides several security-related features including access control lists (ACLs),<ref name="onlamp-acls" /> security event auditing, extended file system attributes, mandatory access controls (MAC)<ref name=watson-mac-framework /> and fine-grained capabilities.<ref name="2004-trustedbsd" /> These security enhancements were developed by the TrustedBSD project. The project was founded by Robert Watson with the goal of implementing concepts from the Common Criteria for Information Technology Security Evaluation and the Orange Book. This project is ongoing and many of its extensions have been integrated into FreeBSD.<ref name="usenix-trustedbsd" /> The project is supported by a variety of organizations, including the DARPA, NSA, Network Associates Laboratories, Safeport Network Services, the University of Pennsylvania, Yahoo!, McAfee Research, SPARTA, Apple Computer, nCircle Network Security, Google, the University of Cambridge Computer Laboratory, and others.<ref name="trustedbsd" />

The project has also ported the NSA's FLASK/TE implementation from SELinux to FreeBSD. Other work includes the development of OpenBSM, an open source implementation of Sun's Basic Security Module (BSM) API and audit log file format, which supports an extensive security audit system. This was shipped as part of FreeBSD 6.2. Other infrastructure work in FreeBSD performed as part of the TrustedBSD Project has included GEOM and OpenPAM.<ref name="2004-trustedbsd" />

While most components of the TrustedBSD project are eventually folded into the main sources for FreeBSD, many features, once fully matured, find their way into other operating systems. For example, OpenPAM have been adopted by NetBSD.<ref name="netbsd-openpam" /> Moreover, the TrustedBSD MAC Framework has been adopted by Apple for OS X.<ref>Template:Cite web</ref>

FreeBSD ships with three different firewall packages: IPFW, pf and IPFilter. IPFW is FreeBSD's native firewall. pf was taken from OpenBSD and IPFilter was ported to FreeBSD by Darren Reed.Template:Sfn

Taken from OpenBSD, the OpenSSH program was included in default install. OpenSSH is a Free implementation of SSH protocol and is a replacement for telnet. Unlike telnet, OpenSSH encrypts all information (including username and password).Template:Sfn

Portability

FreeBSD has been ported to a variety of processor architectures. The FreeBSD project organizes architectures into tiers that characterize the level of support provided. Tier 1 architectures are mature and fully supported. Tier 2 architectures are undergoing major development. Tier 3 architectures are experimental or are no longer under active development and tier 4 architectures have no support at all.

As of March 2014, FreeBSD has been ported to the following architectures:<ref name="portability" />

Architecture Support Level<ref name="commguide-archs" /> Notes
x86 (IA-32) Tier 1 referred to as "i386"
x86-64 Tier 1 referred to as "amd64"
NEC PC-9801 Tier 2 referred to as "pc98"
Sun SPARC Tier 2 Only 64-bit (V9) architecture
Itanium (IA-64) Tier 2
PowerPC and PowerPC/64 Tier 2
ARM Tier 2
MIPS Tier 3
IBM ESA/390 Tier 3 referred to as "S/390"

In addition, initial work has been done to port FreeBSD to run on Raspberry Pi single board computers with ARM11 SoC hardware.<ref name="kernelnomicon-rpi" /><ref name="osnews-rasbpi" />

Third-party software

Template:Details

File:FreeBSD Applications.png
FreeBSD running GIMP, Firefox, and GNOME installed from the ports collection.

FreeBSD has a repository of over 24,000 applications that are developed by third parties outside of the project itself. (Examples include windowing systems, Internet browsers, email programs, office suites, and so forth.) In general, the project itself does not develop this software, only the framework to allow these programs to be installed (termed the Ports Collection). Applications may be installed either from source, if its licensing terms allow such redistribution (these are called ports), or as compiled binaries if allowed (these are called packages). The Ports Collection supports the latest release on the -CURRENT and -STABLE branches. Older releases are not supported and may or may not work correctly with an up-to-date ports collection.<ref name="handbook-ports" />

Ports and Packages

File:Freebsd.png
FreeBSD 9.1-RC3 running KDE SC, the Dolphin file manager, the Konsole terminal emulator, and the Mozilla Firefox Web browser from the FreeBSD Ports Collection

Each application in the Ports Collection is installed from source. Ports are instructions for compiling software on FreeBSD, and packages are pre-compiled ports.Template:Sfn Each port's Makefile automatically fetches the application source code, either from a local disk, CD-ROM or via ftp, unpacks it on the system, applies the patches, and compiles.<ref name=informit-bsd-tree /><ref name="usenix-ports" /> This method can be very time consuming as compiling large packages can take hours, but the user is able to install a customized program. For most ports, precompiled binary packages also exist. This method is very quick as the whole compilation process is avoided, but the user is not able to install a program with customized compile time options.Template:Sfn

In FreeBSD 10.0, a new package manager, called pkg, was introduced. pkg is a replacement for the previously used package tools.<ref name="phoronix-pkgng" /> It has functionality similar to apt and yum. It includes installation and upgrades from both source (ports) and with pre-built binary packages.

PackageKit also supports the FreeBSD Ports collection as an accepted repository.

Jails

Template:Main First introduced in 4.x, a FreeBSD jail is a security mechanism and an implementation of operating system-level virtualization that enables the user to run multiple instances of a guest operating system (FreeBSD) on top of a FreeBSD host. Jails are enhanced version of traditional chroot mechanism. A process that runs in a jail, is unable to access the resources outside of that jail. Every jail has its own hostname and IP address. It is possible to run multiple jails at the same time. The kernel is shared among all of them, therefore only FreeBSD-built software can be run inside a jail.<ref name="osnews-bsdfamily" />

Virtualization

Template:Main bhyve, a new virtualization solution was introduced in FreeBSD 10.0. bhyve allows a user to run a number of guest operating systems (FreeBSD, OpenBSD and Linux) simultaneously. Other operating systems such as Microsoft Windows and Illumos are planned. bhyve was written by Neel Nato and Peter Grehan and was announced in the 2011 BSDCan conference for the first time. The main difference between bhyve and FreeBSD jails is that jails are an operating system-level virtualization and therefore limited to only FreeBSD guests; but bhyve is a type 2 hypervisor and is not limited to only FreeBSD guests.<ref name="fosdem-bhyve" /><ref name="phoronix-bhyve" /><ref name="eurobsdcon-bhyve" /> For comparison, bhyve is a similar technology to KVM whereas jails are closer to LXC containers or Zones.

Compatibility layers with other operating systems

Most software that runs on Linux can run on FreeBSD using an optional built-in compatibility layer. Hence, most Linux binaries can be run on FreeBSD, including some proprietary applications distributed only in binary form. This compatibility layer is not an emulation; Linux's system call interface is implemented in the FreeBSD's kernel and hence, Linux executable images and shared libraries are treated the same as FreeBSD's native executable images and shared libraries.<ref name=newsforge-bincomp /> Additionally, FreeBSD provides compatibility layers for several other Unix-like operating systems, in addition to Linux, such as BSD/OSTemplate:Sfn and SVR4.<ref name="newsforge-bincomp" /> In addition to that, FreeBSD is able to run NetBSD and OpenBSD's binaries, but people usually don't do that and instead, compile those programs directly on FreeBSD.Template:Sfn No noticeable performance penalty over native FreeBSD programs has been noted when running Linux binaries, and, in some cases, these may even perform more smoothly than on Linux.<ref name="unleashed" /><ref name="phoronix-linuxemu" /> However, the layer is not altogether seamless, and some Linux binaries are unusable or only partially usable on FreeBSD. There is support for system calls up to version 2.6.16, available since FreeBSD 7.0. However, there is currently no support for running 64-bit Linux binaries.<ref name="phoronix-linuxemu" /> As of September 2014, there are plans for supporting 64-bit Linux binaries.<ref name="linux-64-bit-freebsd10" />

FreeBSD has implemented a number of Microsoft Windows native NDIS kernel interfaces to allow FreeBSD to run Windows-only network drivers.<ref>Template:Cite mailing list</ref><ref name="pingwales-evil" />

Kernel

FreeBSD's kernel provides support for some essential tasks such as managing processes, communication, booting and filesystems. FreeBSD has a monolithic kernel,Template:Sfn with modular design. Different parts of the kernel such as drivers, are designed as modules. The user can load and unload these modules at any time.Template:Sfn ULE is the default scheduler in FreeBSD since version 7.1, it supports SMP and SMT.<ref name="usenix-ule" /> The FreeBSD kernel has also a scalable event notification interface, named kqueue. It has been ported to other BSD-derivatives such as OpenBSD, NetBSD.<ref name="usenix-kqueue" /> Originally, FreeBSD used a M:N threading model. This model works well in theory,<ref>Template:Cite web</ref>Template:Sfn but it is hard to implement and few operating systems support it. Although FreeBSD's implementation of this model worked, it did not perform well, so from version 7.0 onward. FreeBSD started using a 1:1 threading model, called libthr.Template:Sfn

Documentation and support

FreeBSD's documentation consists of its handbooks, manual pages, mailing list archives, FAQs and a variety of articles, mainly maintained by The FreeBSD Documentation Project. FreeBSD's documentation is translated into several languages.Template:Sfn All official documentation is released under the FreeBSD Documentation License, "a permissive non-copyleft free documentation license that is compatible with the GNU FDL".<ref name="freebsddl" /> FreeBSD's documentation is described as "high-quality".Template:Sfn<ref name="informit-bsd" />

The FreeBSD project maintains a variety of mailing lists.<ref name="lists" /> Among the most popular mailing lists are FreeBSD-questions (general questions) and FreeBSD-hackers (a place for ask more technically questions).Template:Sfn

Installers

From version 2.0 to 9.0, FreeBSD used the sysinstall program as its main installer. It was written in C by Jordan Hubbard. It uses a text user interface, and is divided into a number of menus and screens that can be used to configure and control the installation process. It can also be used to install Ports and Packages as an alternative to the command-line interface.<ref name="sysinstall-manpage" />

The sysinstall utility is now considered deprecated in favor of bsdinstall, a new installer which was introduced in FreeBSD 9.0. bsdinstall is "a lightweight replacement for sysinstall" that was written in sh. According to OSNews, "It has lost some features while gaining others, but it is a much more flexible design, and will ultimately be significant improvement".<ref name="osnews-bsdfamily" /><ref name="osnews-2014" />

Development

FreeBSD is developed by a volunteer team located around the world. The developers use the Internet for all communication and many have not met each other in person. In addition to local user groups sponsored and attended by users, an annual conference, called BSDcon, is held by USENIX. BSDcon is not FreeBSD-specific so it deals with the technical aspects of all BSD operating systems, including OpenBSD and NetBSD.Template:Sfn In addition to BSDcon, two other annual conferences, EuroBSDCon and AsiaBSDCon take place in Europe and Japan respectively.<ref name="eurobsdcon" /><ref name="asiabsdcon" />

Governance structure

Template:Main The FreeBSD Project is run by around 500 committers, or developers who have commit access to the master source code repositories and can develop, debug or enhance any part of the system. Most of the developers are volunteers and few developers are paid by some companies.Template:Sfn There are several kinds of committers, including source committers (base operating system), doc committers (documentation and web site authors) and ports (third party application porting and infrastructure). Every two years the FreeBSD committers select a 9-member FreeBSD Core Team who are responsible for overall project direction, setting and enforcing project rules and approving new commiters, or the granting of SVN commit access. A number of responsibilities are officially assigned to other development teams by the FreeBSD Core Team, for example, responsibility for managing the ports collection is delegated to the Ports Management Team.Template:Sfn

In addition to developers, FreeBSD has thousands of "contributors". Contributors are also volunteers outside of the FreeBSD project who submit patches for consideration by committers, as they don't have direct access to FreeBSD's source code repository. Committers then evaluate contributors submissions and decide what to accept and what to reject. A contributor who submits high-quality patches is often asked to become a committer.Template:Sfn

Branches

FreeBSD developers maintain at least two branches of simultaneous development. The -CURRENT branch always represents the "bleeding edge" of FreeBSD development. A -STABLE branch of FreeBSD is created for each major version number, from which -RELEASE are cut about once every 4–6 months. If a feature is sufficiently stable and mature it will likely be backported (MFC or Merge from CURRENT in FreeBSD developer slang) to the -STABLE branch.Template:Sfn<ref name="informit-bsd-tree" />

Foundation

Template:Main FreeBSD development is supported in part by the FreeBSD Foundation. The foundation is a non-profit organization that accepts donations to fund FreeBSD development. Such funding has been used to sponsor developers for specific activities, purchase hardware and network infrastructure, provide travel grants to developer summits, and provide legal support to the FreeBSD project.<ref name="foundation-about" />

License

FreeBSD is released under a variety of open source licenses. The kernel code and most newly created code is released under the two-clause BSD license which allows everyone to use and redistribute FreeBSD as they wish. This license was approved by Free Software Foundation<ref name="fsf-license" /> and Open Source Initiative<ref name="osi-license" /> as a Free Software and Open Source license respectively. Free Software Foundation described this license as "a lax, permissive non-copyleft free software license, compatible with the GNU GPL". There are parts released under three- and four-clause BSD licenses, as well as Beerware license. Some device drivers include a binary blob,<ref name="rwatson-binblobs" /> such as the Atheros HAL of FreeBSD versions before 7.2.<ref name="copyright" /> Some of the code contributed by other projects is licensed under GPL, LGPL, CDDL<ref name="cddl" /> and ISC. All the code licensed under GPL and CDDL is clearly separated from the code under liberal licenses, to make it easy for users such as embedded device manufacturers to use only permissive free software licenses. ClangBSD aims to replace some GPL dependencies in the FreeBSD base system by replacing the GNU compiler collection with the BSD-licenced LLVM/Clang compiler. ClangBSD became self-hosting on 16 April 2010.<ref name="osnews-clangbsd" />

File:Bsd daemon.jpg
FreeBSD's mascot is the generic BSD Daemon, also known as Beastie

For many years FreeBSD's logo was the generic BSD daemon, also called Beastie, a distorted pronunciation of BSD. First appearing in 1976 on Unix T-shirts purchased by Bell Labs, the more popular versions of the BSD daemon were drawn by animation director John Lasseter beginning in 1984.<ref name="mckusick-usenix" /><ref name="saving-unix" /> Several FreeBSD-specific versions were later drawn by Tatsumi Hosokawa.<ref name="daemon" /> However, Beastie was not unique to FreeBSD. In lithographic terms, the Lasseter graphic is not line art and often requires a screened, four color photo offset printing process for faithful reproduction on physical surfaces such as paper. Also, the BSD daemon was thought to be too graphically detailed for smooth size scaling and aesthetically over dependent upon multiple color gradations, making it hard to reliably reproduce as a simple, standardized logo in only two or three colors, much less in monochrome. Because of these worries, a competition was held and a new logo designed by Anton K. Gural, still echoing the BSD daemon, was released on 8 October 2005.<ref name="osnews-logo" /><ref name="logo-anon" /><ref name="logo-result" /> However, it was announced by Robert Watson that, the FreeBSD project is "seeking a new logo, but not a new mascot" and that the FreeBSD project will continue to use Beastie as its mascot.<ref name="osnews-logo" />

The name "FreeBSD" was coined by David Greenman on 19 June 1993, other suggested names were "BSDFree86" and "Free86BSD".<ref name="freebsd-coin" /> FreeBSD's slogan, "The Power to serve", is a registered trademark of The FreeBSD Foundation.<ref name="logo" />

Derivatives

Template:Details

There are a number of software distributions based on FreeBSD including:

All these distributions have no or only minor changes when compared with the original FreeBSD base system. The main difference to the original FreeBSD is that they come with pre-installed and pre-configured software for specific use cases. This can be compared with Linux distributions, which are all binary compatible because they use the same kernel and also use the same basic tools, compilers and libraries, while coming with different applications, configurations and branding.

Besides these distributions, there are some independent operating systems based on FreeBSD. DragonFly BSD is a fork from FreeBSD 4.8 aiming for a different multiprocessor synchronization strategy than the one chosen for FreeBSD 5 and development of some microkernel features.<ref name="announcing-dfbsd" /> It does not aim to stay compatible with FreeBSD and has huge differences in the kernel and basic userland.

Darwin, the core of Apple OS X, includes a virtual file system and network stack derived from the FreeBSD virtual file system and network stack, and components of its userspace are also FreeBSD-derived.<ref name="darwin">Template:Cite web</ref><ref>Template:Cite web</ref>

Some subscription services that are directly based on FreeBSD are:

  • WhatsApp<ref name="whatsapp">Template:Cite web</ref> - processes 2 million concurrent T***** connections per server.<ref name="whatsapp"/>

Embedded devices and embedded device operating systems based on FreeBSD include:

  • NetApp's Data ONTAP 8.x and the now superseded ONTAP GX (only as a loader for proprietary kernel-space module)
  • Netflix's Open Connect Appliance<ref name="netflix" /><ref name="netflix-mailinglist" /> to handle content delivery.
  • The PlayStation 3<ref name="scei-ps3" />
  • The PlayStation 4 ("Orbis OS")<ref name="ps4-phoronix" /><ref name="ps4-geek" /><ref name="thereg-ps4" />

Unauthorized access to FreeBSD's servers

On November 2012, The FreeBSD Security Team announced that hackers gained unauthorized access on two of the project's servers. These servers were turned off immediately. More research demonstrated that the first unauthorized access by hackers occurred on 19 September. Apparently hackers gained access to these servers by stealing SSH keys from FreeBSD's developers, not by exploiting a bug in the operating system itself. These two hacked servers were part of the infrastructure used to build third-party software packages. The FreeBSD Security Team checked the integrity of the binary packages and announced that no unauthorized change was made to the binary packages, but they stated that they can't guarantee the integrity of packages that was downloaded between 19 September and 11 November.<ref name="honline-hack" /><ref name="computerworld-hack" /><ref name="techeye-hack" />

Version history

Template:Main

Template:Version

Version Release date Supported until Significant changes
Template:Version November 1993
  • The first official release.
  • The Ports Collection
Template:Version May 1994
Template:Version 22 November 1994
  • replace code base with BSD-Lite 4.4 (to satisfy terms of the USL v. BSDi lawsuit settlement)
  • new installer and new boot manager
  • loadable filesystems support for more filesystems (MS-DOS, unionfs, kernfs)
  • imported loadable kernel modules from NetBSD
Template:Version March 1997
Template:Version 29 November 1998
Template:Version 16 October 1998
Template:Version 15 February 1999
Template:Version 20 December 1999
Template:Version 14 March 2000
  • IPv6 support and IPsec with KAME (applications were also updated to support IPv6)
  • OpenSSH integrated into the base system
  • emulator for SVR4 binary files
Template:Version 27 July 2000
Template:Version 3 April 2003 31 March 2004
Template:Version 27 May 2004 May 2006
Template:Version 14 January 2003 30 June 2003
Template:Version 9 June 2003 February 2004
  • experimental support for AMD64
  • experimental 1:1 and M:N thread libraries for multithreaded processing
  • experimental ULE scheduler
Template:Version 6 November 2004 31 October 2006
  • ALTQ
  • addition of new debugging framework KDB
  • import pf from OpenBSD
  • binary compatibility interface for native execution of NDIS drivers
  • replace XFree86 with X.org 6.7
  • cryptography enabled by default in base
Template:Version 9 May 2005 31 October 2006
Template:Version 15 January 2007 31 May 2008
  • support for Xbox architecture
  • OpenBSM
  • freebsd-update (binary updates for security fixes and errata patches)
Template:Version 27 February 2008 30 April 2009
Template:Version 4 January 2009 28 February 2011
Template:Version 23 July 2010 31 July 2012
  • High Availability Storage
Template:Version 9 June 2013 30 June 2015
Template:Version 12 January 2012 31 March 2013
  • substitute GCC with Clang and LLVM for base system
  • USB 3.0 support
  • UFS SoftUpdates+Journal
  • update ZFS to version 28
  • replaced Sysinstall with bsdinstall
Template:Version 30 December 2012 31 December 2014
Template:Version 30 September 2013 31 December 2014
Template:Version 16 July 2014 31 December 2016
Template:Version 20 January 2014 31 January 2015
  • Virtualization improvements (bhyve, virtio)
  • use clang and LLVM by default
  • capsicum (sandbox) enabled by default in the kernel
  • pkgng
  • BIND replaced with LDNS and Unbound in base system
  • add support for Raspberry Pi
  • ZFS on Root File system
Version Release date Supported until Significant changes

See also

Template:Portal

References

1 }}
     | references-column-width 
     | references-column-count references-column-count-{{#if:1|30em}} }}
   | {{#if: 
     | references-column-width }} }}" style="{{#if: 30em
   | {{#iferror: {{#ifexpr: 30em > 1 }}
     | Template:Column-width
     | Template:Column-count }}
   | {{#if: 
     | Template:Column-width }} }} list-style-type: {{#switch: 
   | upper-alpha
   | upper-roman
   | lower-alpha
   | lower-greek
   | lower-roman = {{{group}}}
   | #default = decimal}};">

<references group=""><ref name="why freebsd">Template:Cite web</ref>

<ref name="welcome">Template:Cite web</ref>

<ref name="survey">Template:Cite journal</ref>

<ref name="kirkmck">Template:Cite web</ref>

<ref name=history>Template:Cite web</ref>

<ref name="freebsdmall-history">Template:Cite web</ref>

<ref name="linuxtoday-walnut">Template:Cite web</ref>

<ref name="t*****ip-stack">Template:Cite book</ref>

<ref name=packt-ipv6>Template:Cite web</ref>

<ref name=bsdcan-wireless>Template:Cite web</ref>

<ref name="kame-project">Template:Cite web</ref>

<ref name="ipx-appletalk">Template:Cite mailing list</ref>

<ref name=fbsd-carp>Template:Cite web</ref>

<ref name="softupdates">Template:Cite book</ref>

<ref name="datamation-zfs">Template:Cite web</ref>

<ref name="geli">Template:Cite web</ref>

<ref name="usenix-gbde">Template:Cite web</ref>

<ref name="trustedbsd">Template:Cite web</ref>

<ref name="portability">Template:Cite web</ref>

<ref name="commguide-archs">Template:Cite web</ref>

<ref name="handbook-ports">Template:Cite web</ref>

<ref name="usenix-ports">Template:Cite web</ref>

<ref name="phoronix-pkgng">Template:Cite web</ref>

<ref name="fosdem-bhyve">Template:Cite web</ref>

<ref name="phoronix-bhyve">Template:Cite web</ref>

<ref name="informit-bsd">Template:Cite web</ref>

<ref name="freebsddl">Template:Cite web</ref>

<ref name="eurobsdcon-bhyve">Template:Cite web</ref>

<ref name="newsforge-bincomp">Template:Cite web</ref>

<ref name="unleashed">Template:Cite book</ref>

<ref name="phoronix-linuxemu">Template:Cite web</ref>

<ref name="linux-64-bit-freebsd10">Template:Cite web</ref>

<ref name="pingwales-evil">Template:Cite web</ref>

<ref name="usenix-ule">Template:Cite web</ref>

<ref name="usenix-kqueue">Template:Cite web</ref>

<ref name="eurobsdcon">Template:Cite web</ref>

<ref name="asiabsdcon">Template:Cite web</ref>

<ref name="informit-bsd-tree">Template:Cite web</ref>

<ref name="foundation-about">Template:Cite web</ref>

<ref name="fsf-license">Template:Cite web</ref>

<ref name="osi-license">Template:Cite web</ref>

<ref name="rwatson-binblobs">Template:Cite mailing list</ref>

<ref name="copyright">Template:Cite web</ref>

<ref name=cddl>Template:Cite web</ref>

<ref name="osnews-clangbsd">Template:Cite web</ref>

<ref name="mckusick-usenix">Template:Cite web</ref>

<ref name="saving-unix">Template:Cite web</ref>

<ref name="daemon">Template:Cite web</ref>

<ref name="osnews-logo">Template:Cite web</ref>

<ref name="logo-anon">Template:Cite mailing list</ref>

<ref name="logo-result">Template:Cite web</ref>

<ref name="freebsd-coin">Template:Cite web</ref>

<ref name="logo">Template:Cite web</ref>

<ref name="announcing-dfbsd">Bombus<ref name="xeps-dnock">Template:Citation</ref></ref>

<ref name="scei-ps3">Template:Cite web</ref>

<ref name="ps4-phoronix">Template:Cite web</ref>

<ref name="ps4-geek">Template:Cite web</ref>

<ref name="thereg-ps4">Template:Cite web</ref>

<ref name="netflix">Template:Cite web</ref>

<ref name="netflix-mailinglist">Template:Cite mailing list</ref>

<ref name="kernelnomicon-rpi">Template:Cite web, see also Raspbian#Software build </ref>

<ref name="osnews-rasbpi">Template:Cite web</ref>

<ref name="sysinstall-manpage">Template:Cite web</ref>

<ref name="osnews-bsdfamily">Template:Cite web</ref>

<ref name="osnews-2014">Template:Cite web</ref>

<ref name="honline-hack">Template:Cite web</ref>

<ref name="computerworld-hack">Template:Cite web</ref>

<ref name="techeye-hack">Template:Cite web</ref>

<ref name=onlamp-acls>Template:Cite web</ref>

<ref name="releases">Template:Cite web</ref>

<ref name="lists">Template:Cite web</ref>

<ref name="watson-mac-framework">Template:Cite web</ref>

<ref name="netbsd-openpam">Template:Cite web</ref>

<ref name="2004-trustedbsd">Template:Cite web</ref>

<ref name="usenix-trustedbsd">Template:Cite web</ref></references>

Notes

Template:Refbegin

  • Bombus<ref name="xeps-dnock">Template:Citation</ref>
  • Bombus<ref name="xeps-dnock">Template:Citation</ref>
  • Bombus<ref name="xeps-dnock">Template:Citation</ref>
  • Bombus<ref name="xeps-dnock">Template:Citation</ref>
  • Bombus<ref name="xeps-dnock">Template:Citation</ref>
  • Bombus<ref name="xeps-dnock">Template:Citation</ref>
  • Bombus<ref name="xeps-dnock">Template:Citation</ref>
  • Bombus<ref name="xeps-dnock">Template:Citation</ref>
  • Bombus<ref name="xeps-dnock">Template:Citation</ref>
  • Bombus<ref name="xeps-dnock">Template:Citation</ref>
  • Bombus<ref name="xeps-dnock">Template:Citation</ref>
  • Bombus<ref name="xeps-dnock">Template:Citation</ref>

Template:Refend

External links

Template:Commons category

Template:FreeBSD Template:Berkeley Software Distribution Template:Unix-like