When FreeBSD, NetBSD, and OpenBSD don't fit the bill, venturing beyond them may be the answer. We look at 10 not-so-well-known flavors worthy of consideration.
Although Linux gets much of the attention in the Free and open source operating system world, the BSD operating system is also very popular. BSD has a longer history, and its roots go right back to one of the original Unix implementations that spawned commercial Unix variants like Solaris and Mac OS X.
BSD is actually a popular source for server-focused operating systems and, due to an open license, it is sometimes more attractive to developers as the base for their projects. With some BSD variants, security and high-performance networking are key drivers.
When our last article on BSD ("Differentiating Among the BSD Distros" ran, various readers pointed out our neglect of some of the lesser-known BSD-based flavors available. This article, therefore, will look at some of the less-mainstream, yet equally valuable, BSD variants available.
We apologize in advance for any variants that don't get mentioned in the piece. For coverage in future articles, please contact the author through the feedback form.
The DragonFly BSD operating system is a fork of the main FreeBSD 4.x operating system.It was produced by Matt Dillon, who felt the development direction (particularly threading and SMP choices) of FreeBSD 5 would result in bad performance. DragonFly BSD is being developed with a different threading model and messaging system from those used in FreeBSD 5. Many of the concepts of DragonFly BSD have been inspired by functionality in AmigaOS. Interestingly, despite the split from the FreeBSD roots, the groups are sharing bug fixes and device drivers.
DragonFly BSD is provided as a Live CD and will boot into a fully functional DragonFly BSD system. Unlike pure Live CD products, however, it can also install DragonFly BSD. More information is available on the DragonFly BSD project page.
The MirOS project is more than just another flavor of the BSD, although it is a derivative of OpenBSD and NetBSD. It also borrows heavily from other operating systems, including Darwin (the foundation of Mac OS X), FreeBSD, and GNU/Linux. Officially, the BSD variant is called MirOS BSD (rather than MirBSD), but other variants such as MirOS Linux are also in development.
MirOS' focus is on producing a compact and stable server operating system, with additional support and functionality for developer workstations. One of the key areas of functionality is in the communication server market where compact operating systems are often required to run on comparatively low-powered hardware. Unlike other BSD variants, the focus is not on trying to replace the more typical workstation environments of Windows or even Linux.
The TrustedBSD project combines the core FreeBSD release with trusted security components that conform to the Common Criteria for Information Technology Security Evaluation. These components provide a range of different security constructs vital to ensuring the secure operation of the operating system.
The tools include, but are certainly not limited to, centralized policy management, extensive auditing of components and execution (including kernel modules and function calls), mandatory access control for different areas of the system, and access control lists from the file system and kernel resources. Together, they provide a finer level of access control, better reporting and monitoring, and, overall, a more secure environment for running services.
The ultimate aim is to roll back the content of TrustedBSD into the main FreeBSD releases. Until then, consider them very separate projects, with the TrustedBSD project page containing downloads and documentation on the TrustedBSD implementation.
The main BSD operating systems (NetBSD, FreeBSD, and OpenBSD) are not really designed with desktop users in mind. Although they can be used as desktop operating systems, their main focus remains the provision of services as network or application server. PC BSD is different, as its focus is on a desktop-oriented (personal computing) operating system with all the functionality, stability, and performance of BSD, but with a tool set and environment that reflects a more personal environment.
To achieve this, PC BSD is based on FreeBSD with additional software to provide an environment that addresses the concerns of a typical desktop user. Although there is no delineation between business and home users, the developers do not want to limit or restrict the power of the underlying Unix-based operating system from the user in the process. A number of rules are followed to support this approach, including the requirement for easy installation and removal of software, backward compatibility without restricting new functionality, and a low-overhead approach that keeps the size of the operating system and its requirements to a minimum.
So far the approach has worked: PC BSD is a very nice operating system for those looking for a desktop operating system with a BSD core. It is friendlier than many Linux alternatives, and, unlike Linux, the entire operating system fits onto a single CD for installation. This compares well to the two to four CDs often required in a typical Linux install.
More information is available on the PC BSD page, including screen shots of the installation and package management process.
>> More BSD Flavors
The m0n0wall project is designed to provide a complete firewall solution, ideally aimed at the embedded PC market, although the operating system can be used on any PC with suitable networking hardware. The operating system is based on a bare-bones version of FreeBSD and is combined with a Web server and PHP (for management and administration) and a suite of utilities that control and support the firewall operation.
m0n0wall is unique in that it uses PHP both to manage the system and to control the boot-up process. It uses XML to store configuration information for the entire operating system. As a firewall, it provides IP filtering, DHCP, DNS forwarding, DynDNS support, IPsec, and SNMP. Designed to work with embedded hardware, the entire operating system takes up less than 6 MB of memory. This makes it an ideal fit for small-scale embedded hardware devices, which often have less than 16 MB of RAM split between disk-like storage and active memory for running the operating system.
The m0n0wall Web site has more information.
In some situations, you may want to run an operating system to get data off of a machine but do not want to alter or affect the running operating system and in particular the hard drive. Alternatively, perhaps you want to use some old hardware and no longer have a suitable hard drive, or merely want to create a usable system that is easy to update and deploy.
PicoBSD is such an operating system. The entire operating systems fits onto a standard 1.44 MB floppy and runs on hardware with a configuration as simple as a 386SX CPU and just 8 MB of RAM. Because it runs from a floppy, it can be an effective way to deploy a simple workstation, copy that data over a network, or act as a small, dedicated, network server perhaps as a network router or firewall.
PicoBSD is available in four standard versions: dial-up (which acts as a dial-up-based Internet router), a generic networking version, a specialized router version (which includes routing and firewall facilities), and a dial-in server version that can provide access to the network over a dial-up connection. In addition to being thoroughly practical in the various versions that are available, PicoBSD is customizable, and tools are available to create a floppy-based BSD operating system to suit specific needs.
More information on PicoBSD can be found on the PicoBSD Project.
LiveCD enables you to test and run an operating system directly from the CD without having to install the operating system on your machine. The use of LiveCD is increasing as a way to test and try out operating systems in an environment not destructive to the current installation. Live CD also provide the ability to run diagnostic and testing utilities on an installation.
Because everything is running from the CD, there are some limitations. Speed is an obvious one. A CD ROM is not as fast as a hard drive. You may also be limited in terms of the supported hardware (because of limited driver availability), memory, and storage (because the CDs tries to avoid using disks automatically), and there is no easy way to customize the operating system, it will always run from the CD in the same way. This can mean that changes and modifications, particularly to the configuration, will be lost during a reboot. It also means new software generally cannot be added to installations, unless it is accessed from a remote filesystem.
Although these problems are frustrating, the flexibility and functionality LiveCD offers generally far outweighs any potential problems. Three well-known BSD-based LiveCDs are FreeSBIE, Frenzy, and GuLIC-BSD.
The Frenzy Live CD is similar to Knoppix and LiveCD. It is designed as a BSD-based rescue and recovery CD for repairing hard disks, installing operating systems, and performing virus scans and other maintenance tasks that would be less efficient, reliable, or extensive when executed on a live operating system.
Frenzy is an ongoing project that includes an extensive number of utilities, such as file management and compression tools, hardware tests, antivirus software, SQL clients, network analyzers, and various viewers for different file types.
Frenzy's project page includes active discussions on the next version of the project as well as issues and problems with current releases.
FreeSBIE is a LiveCD based on the FreeBSD operating system. At presstime, the most recent update to the project was made in December 2004, although the CD is still downloadable and is perfectly valid as a FreeBSD Live CD. As a benefit, FreeSBIE also includes an installer that can be used to install FreeSBIE to your hard drive.
In essence, FreeSBIE is a LiveCD that also provides a convenient way to install the operating system onto the machine. Additional information, including how to download FreeSBIE, can be found on the FreeSBIE Project page.
GuLIC-BSD is a version of the FreeSBIE release, localized entirely for Spanish (specifically Castilian). More information can be found on the GuLIC-BSD project page.