Setting up a home desktop system with FreeBSD

Different Desk

© Lead Image © ageevphoto, 123RF.com

© Lead Image © ageevphoto, 123RF.com

Article from Issue 306/2026
Author(s):

FreeBSD is steady and stable – will it work as a desktop system?

Linux might be the go-to system for free and open source software users (especially the readers of this magazine), but it isn't the only game in town. The Berkeley Software Distribution (BSD) family of operating systems is older than Linux, and a loyal following of users prefer the stability and security of BSD over Linux. Some of the busiest websites in the world run on BSD, and BSD is also used extensively in embedded systems and other industrial applications.

How does BSD work as an ordinary end-user desktop system? We decided to find out. The aim of this project is to build a desktop system for home or business with FreeBSD, the most popular BSD variant.

The Other FOSS System

The BSD distributions (such as FreeBSD, NetBSD, OpenBSD, and GhostBSD) are a family of related operating systems. The original BSD project began at the University of California Berkeley in the late 1970s, with development led by future Sun Microsystems cofounder Bill Joy. The project was originally a variant of Unix, but the developers later took out any proprietary Unix elements, making BSD a fully free and open source system.

As with other free software systems, users have the right to fork the code. Eventually the BSD community split into a number of independent projects. BSD developers think about the operating system as a cohesive whole, and they tend to be very methodical, emphasizing stability. In contrast, Linux distributions are more fragmented in their design, often making use of competing systems and incompatible filesystem layouts. Linux emphasizes openness, diversity, and new features; the BSD variants are more tightly maintained, which some users view as a benefit.

By default, FreeBSD boots to a text-based environment. There are BSD derivatives that come with a pre-made desktop, but building from the FreeBSD base gives more of an opportunity to learn about BSD and provides more control over which components are added to the system.

The BSD software license is what the Free Software Foundation (FSF) calls a permissive license. The license fully qualifies as free software according to the four freedoms defined by the FSF (see the box entitled "Four Freedoms"), but, unlike the GPL license used with Linux, BSD's license does not include the famous "copyleft" protection, which forces users who distribute the code to share their changes with the community. Consequently, BSD code has found its way into proprietary systems, including macOS and the PlayStation series of consoles.

Four Freedoms

According to the Free Software Foundation [1], a program qualifies as free software if it gives the user the following freedoms:

  • The freedom to run the program as you wish, for any purpose (freedom 0)
  • The freedom to study how the program works and to change it so it does your computing as you wish (freedom 1)
  • The freedom to redistribute copies so you can help others (freedom 2)
  • The freedom to distribute copies of your modified versions to others (freedom 3)

Install FreeBSD

Begin by visiting the FreeBSD website [2] and downloading a suitable ISO image. Boot from it in the same way as you would when testing a new Linux distribution. FreeBSD isn't renowned as an easy-to-use system for beginners, but the text-mode installation shouldn't provide any difficulties to a seasoned Linux user. In fact, the procedure is probably a bit easier than that of some Linux distributions, such as Gentoo and Slackware, as no manual work needs to be carried out to get a basic, command-line driven system installed. Turning this into a fully-fledged desktop system with a desktop environment does require some manual set up work though.

Traditionally, the FreeBSD installer would download the entire distribution as a single archive, but it is now possible to install the system via the packaging system, like a typical Linux distribution. This is the approach I'd recommend, as it was problem-free when I tried it.

You can select the automatic partitioning option without needing to fully understand the terminology of BSD's default ZFS filesystem (see Figure 1). For a more complicated setup, you should be able to guess the right options, but of course, be careful if there are other installed operating systems on this drive, as it is easy to wipe the wrong drive or partition. At some point, you'll be prompted for a system administrator password. The day-to-day user account is created later.

Figure 1: Accept the defaults of the partition setup if you are happy to wipe the entire drive.

Enable Services

Some services are selectable from the installer. SSH is enabled by default, which is useful when setting a system up. Most users would be well-advised to select NTP for Internet clock synchronization. local_unbound is a DNS cache, and powered is for CPU scaling. There is also a section on system hardening options, which will appeal to network security experts. The final option within the installer is to create the regular user.

Skipping ahead a little, I ran into some problems with the DNS cache option, as Internet access didn't work once I'd rebooted. After searching the forums a bit, I managed to disable this service. However, this episode highlights the fact that FreeBSD can feel a bit unpolished compared to modern Linux. In my opinion, a feature should be absolutely bulletproof if it is part of an operating system's installer.

Assessing the experience, I would grade the difficulty of installing FreeBSD to be similar to that of the Linux distributions of 10 years ago, and it won't present any difficulties to the average Linux user.

Buy this article as PDF

Download Article PDF now with Express Checkout
Price $2.95
(incl. VAT)

Buy Linux Magazine

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News