Setting up a home desktop system with FreeBSD
Different Desk
© Lead Image © ageevphoto, 123RF.com
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.
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
(incl. VAT)
Buy Linux Magazine
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.
News
-
AI Fixes Linux Bottlenecks Using “Hideous” Code
A Linux developer used AI to fix bottlenecks that caused problems when building the kernel. The resulting AI-generated code needed a lot of work.
-
Advanced Video Coding Still Under Patent
Brazilian patent BRPI0109962B1 has expired, which means that DivX and Xvid are no longer problematic for Linux, but it doesn’t mean that video is all of a sudden fully unleashed.
-
2,000 Vulnerabilities per Linux Release
Thanks to AI bug hunters, the Linux kernel is seeing record numbers of vulnerabilities, and it's overwhelming developers.
-
Linux Exempt from California’s Age Verification Law
So long as Linux is distributed under the GPL, MIT, BSD, and Apache licenses, the OS is exempt from being required to verify the age of its users in California.
-
Roll Out the Cake: Linux Turns 35
35 years ago, a Finnish student began a humble project that would forever change the course of technology.
-
China Switching from Windows to Linux
China has ordered several government agencies to drop a Chinese-developed version of Windows 10 in favor of either KylinOS or UOS.
-
Pine64 Halts Production of Linux Devices
With continued DRAM and eMMC shortages, Pine64 has decided to discontinue production of Linux devices.
-
The Bullet-Proof KDE Software Initiative Is Coming
KDE, Techpaladin, and Kubuntu Focus have announced a new initiative that will provide at least three years of support for KDE Plasma 6.6 LTS and related software.
-
Linux Mint Shares a Possible Kernel Cleanup Solution
For those on Linux Mint who like to keep multiple kernels around but don't want them to take up too much space, you might be getting a new automated tool.
-
CachyOS Gets an Update
CachyOS August 2026 release is now available with the latest version of KDE, some new features, and plenty of improvements.
