NomadBSD 1.3It has been about a year since I last triedNomadBSD, a live operating system based on FreeBSD that is meant to be run primarily from a thumb drive. With the new 1.3 release having just come out, I decided it was time to give the project another test drive. The NomadBSD website describes the operating system as follows:
NomadBSD is a persistent live system for USB flash drives, based on FreeBSD. Together with automatic hardware detection and setup, it is configured to be used as a desktop system that works out of the box, but can also be used for data recovery, for educational purposes, or to test FreeBSD's hardware compatibility.
Version 1.3 of NomadBSD is based on FreeBSD 12.1 and reportedly supports being installed on both UFS and ZFS filesystems and the installed system now uses MBR instead of GPT disk layouts. The operating system is available in 32-bit (x86) and 64-bit (x86_64) builds. We can download a compressed image of NomadBSD which is about 2.2GB. When this archive is unpacked the resulting image file is 3.8GB in size. This image can be written to a thumb drive or other portable storage.
Since NomadBSD appears to be designed to primarily run as a live operating system, I spent most of my time exploring and using this system by running it from a thumb drive. Later on I also installed it locally, but for now let's look at how the project performs when running on a USB drive.
Nomad boots to a graphical desktop environment. A window immediate opens and asks us a few configuration questions. We are asked to select our current region and language from a list. We are then asked to pick our keyboard's layout from another list and this option window includes a text box where we can test that our keyboard is working properly. We are then asked to pick our time zone from another list and make up a password for administrative functions.
NomadBSD 1.3 -- The default desktop and application menu (full image size: 1.0MB, resolution: 1280x1024 pixels)
There are a few more questions. We are given the option of enabling encryption on the home directory on the thumb drive. We can also pick a custom command line shell (bash, csh, fish and zsh are available). We may also select our preferred text editor and file manager from two short lists of options. Once these steps have been completed the setup wizard sets up a persistent storage area on the thumb drive and reboots the computer.
When the operating system comes back on-line we are brought directly to a graphical environment powered by Openbox with the Tint2 panel. At the top of the screen is a thin panel which hosts the task switcher and system tray. The dock at the bottom of the desktop acts as a launch bar for popular applications. We can right-click on the desktop to open an application menu. I would have liked to have also had an application menu available on the top panel, but right-clicking on the desktop worked well enough.
The Openbox environment is pleasantly lightweight, distraction free and responsive. I found it pretty easy to navigate and find what I needed and the experience was pleasantly smooth. Usually I don't like having a macOS-style launch bar on the screen as they tend to take up a lot of screen space or get hidden behind windows. On Nomad I found the launch bar worked well, staying in sight and not getting in the way too much.
I was expecting Nomad to ship with a fairly minimal offering of desktop applications, but there is a well rounded collection of software in the application menu. We are given copies of Firefox, the FileZilla file transfer application, and LibreOffice. The qdfview document viewer is included along with the HexChat and Pidgin messaging applications. The Mirage image viewer, the GNU Image Manipulation Program, and XSane scanner tool are included.
Along with a full range of audio and video codecs, Nomad offers us the VLC and mpv media players. The Audacity sound editor is included along with the DeadBeef player and Asunder CD Ripper. The Xfburn disc burning software is available too.
Nomad includes a few other useful items such as a brief handbook on how to use, install, and enable networking with NomadBSD. The Clang compiler is installed for us. In the background we find all of the FreeBSD 12.1 userland tools, manual pages, and the FreeBSD kernel.
In the application menu there are a handful of settings modules which will help us adjust the look and style of the desktop. There are not a lot of these tools, just enough to change the display resolution, theme, background and network settings.
By default we login and run programs as a user called "nomad". To run programs as the administrator we can prefix commands with sudo.
I began testing Nomad in a VirtualBox environment. The operating system ran smoothly in VirtualBox, offering good performance and an overall good experience. At first the screen resolution was low, but this could be fixed in one of Nomad's settings modules.
Later I tried Nomad on a laptop computer and had similarly good results. The system was fast and ran smoothly. However, Nomad was unable to detect my laptop's wireless card which introduced a barrier to getting on-line.
The operating system was relatively light on memory, using about 204MB of Active memory and 276MB of Wired RAM. The operating system used about 3.5GB of disk space
Should we wish to install Nomad there is an entry in the application menu called NomadBSD Installer. This launcher opens a graphical program that guides us through the few simple steps required to get NomadBSD installed on our local hard drive.
The installer asks us which hard drive it is allowed to take over. We should be careful here as the installer uses the entire disk and will destroy existing partitions. We are then asked whether Nomad should use the UFS or ZFS, an advanced filesystem. We can then make up a username for ourselves and decide how big our installed system's swap space will be. The installer then confirms our choices (twice) and copies its files to the hard drive. The installer copies any files or directories we have created in the live session too, effectively transferring our live user account to the installed copy of the operating system. When the installer has finished its work it offers to restart the computer.
After Nomad has been installed, the new copy of the operating system boots to a graphical login screen. Here I ran into a problem, namely I could not sign into my account using the username I'd specified at install time. I also couldn't sign in using the account name "nomad" which had worked on the live session.
I ended up switching over to a text console where I discovered a few things. First, I could sign into the "nomad" account and the root account from the text console, the "nomad" account just did not sign in from the graphical login screen. Once I had signed into a text console I could run the startx program to get a working desktop environment. There was no sign of the user I had created at install time in the /etc/passwd file.
Apart from the issue with the login screen, running Nomad from the hard drive was virtually identical to running it from a thumb drive. The hard drive just has more space and tended to offer slightly better performance. However, the functionality, programs, and settings remain the same.
One issue I noticed was that, at install time, I had asked the installer to set up Nomad on a ZFS volume. However, the operating system was installed on a UFS filesystem.
Whether we are running NomadBSD from a thumb drive or installed on the computer locally, we have two package management options. The first is the graphical package manager which is called Octopkg. The Octopkg front-end is fairly simple in its design. It has toggle buttons at the top of the window which let us switch between viewing locally installed packages and packages available in the repository. We can scroll through this massive list of packages or search for items using keywords. Packages can be queued for installation or removal by clicking on them.
NomadBSD 1.3 -- Using Octopkg to browse available software (full image size: 455kB, resolution: 1280x1024 pixels)
Octopkg can also check for software upgrades and download new versions of packages. I tested Octopkg a few times and it worked well. The interface is not modern and not particularly friendly compared to some other software managers, but it gets the job done and works quickly.
Our second option is to use the pkg command line package manager. The pkg command works much the same way DNF and APT tools work on Linux distributions. I find pkg to be fast and I like its syntax.
During second upgrade of the week ran into an error with Octopkg where it failed to update an installed package. It turned out there was an underlying pkg error was happening due to a file not being cleaned up properly during the upgrade. So issue was with the package not Octopkg itself.
I was pleasantly taken with how well NomadBSD performs and how easy it is to use. There are not a lot of "plug it in and go" solutions in the BSD communities and NomadBSD is providing a great live environment, with lots of useful desktop software, and polished configuration tools. The operating system runs quickly, it has enough included software to be useful in several scenarios without cluttering the application menu, and it supports a wide range of languages.
The best feature though is easily the persistence built into Nomad's live mode, which allows us to install new software, create files, and change settings which will survive across reboots.
Also, I don't get to say this enough, but it is very nice to see an operating system ship with both on-line and off-line copies of its documentation. The Nomad handbook covers some basic tips on getting on-line, installing the operating system, and performing a few other common tasks.
I encountered only two serious issues while using NomadBSD. The first was the operating system could not use my laptop's wireless card. Everything else worked beautifully, but FreeBSD's support for wireless networking is not up to par yet with Linux. I also found some settings, like my username and which filesystem to use, did not take effect when I installed the operating system locally. When run from the thumb drive everything went smoothly, but a few things went wrong when getting the operating system on my hard drive.
In general, I liked NomadBSD a lot. The project makes it very easy to test drive FreeBSD with new hardware. It has defaults I like and some good documentation. I'm hoping future releases will polish the installer a little more and maybe include more wireless drivers and firmware. Otherwise I have no complaints. This is a great tool for testing a computer for FreeBSD compatibility and browsing or rescuing data.
* * * * *
Hardware used in this review
My physical test equipment for this review was a de-branded HP laptop with the followingspecifications:
Processor: Intel i3 2.5GHz CPU
Display: Intel integrated video
Storage: Western Digital 700GB hard drive
Memory: 6GB of RAM
Wired network device: Realtek RTL8101E/RTL8102E PCI Express Fast