FreeBSD or OpenSolaris?

As you may know I have been a great fan of OpenSolaris. I think it's a great operating system and it has served me well during the last two years.

But OpenSolaris future is uncertain. Oracle has made some of statements about the future of Solaris (not OpenSolaris). The fact is that OpenSolaris 2010.03 does not exist.

I don't like to live with that uncertainty: it's time to plan a migration.


FreeBSD, NetBSD or OpenBSD?

FreeBSD, NetBSD and OpenBSD are great candidates. They don't suffer the problems of the Linux Kernel and are secure and fast.

Among them all FreeBSD is probably the best choice, so I decided to give FreeBSD 8.0 a go during a couple of days (8.0 is the current RELEASE version), and here are some of my findings:

FreeBSD 8.0: Installation

FreeBSD 8.0 installation is, well, a pain in the neck. Really. It's a nerd-oriented installation process. You have to configure everything, from X11 to wifi/wpa to the sound system. The good news is that FreeBSD is very well documented in the FreeBSD HandBook, and the documentation is simply excellent. It doesn't mind what you need: from wifi/wpa, to the sound system to VirtualBox to X11 and Gnome: everything is in there.

X11 installation is somewhat tricky for a newbie. Add haldenable="YES" in your /etc/rc.conf and reboot, then try -configure and, if things work well, move the configuration file to /etc/xorg.conf. I didn't add dbusenable="YES" in /etc/rc.conf.

If you're a FreeBSD newbie I recommend you having the handbook available while installing. Printing it (or getting a PDF version in an ebook reader) is a great investment, as you'll keep on using the handbook as you learn about FreeBSD.

FreeBSD 8.0: Packages and ports

There're some precompiled software packages for the most common things, and there're around 21000 "software ports" (yes, twenty-one thousand software ports). These "ports" are some sort of Makefiles you can use to build software packages from the source. The Makefiles are specifically targetted for FreeBSD 8.0, so you don't have to tweak/configure them. Makefiles also download stuff on demand, from appropriate places, so you just have to write "make install clean" to have a software port installed.

FreeBSD 8.0: Port dependencies

I installed FreeBSD 8.0 from DVD, and the DVD has a list of available ports you can use to install stuff. My recommendation is not to use this list of ports from the DVD: download them from the network instead. You'll avoid lots of problems with dependencies.

Ports are managed with some command-line utilities (much like apt-get/pkg and friends in Linux distributions). There're several different utilities for managing ports and port-dependencies. Of course, the handbook explains how to use them. It's a must read before going on.

It's important to understand how to upgrade the version of an already installed port, so reading the handbook paying special attention to versioning is a must. portupgrade and friends are indeed of great help.

FreeBSD 8.0: Software

With FreeBSD 8.0 you'll have to compile lots of software, as many interesting things are not available due to licensing restrictions or whatever. AcrobatReader is available using Linux binaries (as FreeBSD can run Linux binaries smoothly). Again the handbook is a must.

Adobe's flash player (version 10 crashes a lot for my liking) is also available using linux emulation.

I couldn't get binaries for firefox, so I had to install it myself following the handbook. It seems there're binaries for the Opera browser, so I may end using that too.

I didn't want to compile the whole OpenOffice, so I got some binaries from the net. Latest version (3.2.2, I think, newer than OpenSolaris') run smoothly.

VirtualBox was a nightmare to install, as it depends on Qt4 and some Qt4 ports were broken. Yes, you can have broken ports in FreeBSD (don't know if the port was broken or if I didn't know how to upgrade to a more recent version).

Multimedia stuff is impressive. You have the latest version of almost everything, from gstreamer plugins to vlc/xine and friends.

Regarding ZFS: FreeBSD 8.0 supports zpool version 13, whereas my OpenSolaris (2009.06) is running zpool version 14. Sadly I don't think I can import my zfs stuff from my OpenSolaris disk onto FreeBSD.

Gnome/KDE: I gave KDE 4 a quick go before checking it's all weird and unsable and uninstalling it. After that I got gnome 2.2.26 (IIRC) working and stuck with that. I missed some features from OpenSolaris' gnome (ACPI integration, for instance) but hey, it worked.

Other software: if you ask about any other software then the answer is yes: FreeBSD has got it. The list of ports is overwhelming (I was missing wxLua, though, but I'll create a port myself, so don't tell anybody yet).

FreeBSD 8.0: Hardware

At first sight I thought that the wifi card in my laptop couldn't be recognized: I was wrong. It was. After some configuration I could get it working using WPA/PSK. Configuration allows you to connect automatically to the network.

My sound card was recognized at first glance, but as I have two devices (snd_hda peculiarity, I think) I got the wrong default. I had to change this default using sysctl and things started working.

I inserted a flash-card in my card-reader and it wasn't mounted automatically: I had to mount it myself using "mount_msdos". I didn't verify if "automount" or similar are available.

There're many other little tricks you may want to configure yourself. ACPI was satisfactory (after installing the so called "acpi_video" kernel module). The gnome's brightness didn't work, though, nor my keyboard keys.


FreeBSD seems a great target for the migration: it's stable, secure and fast.

Furthermore: it has a clear release information, so that you know what to expect from your operating system.

The mistmatch between my OpenSolaris zfs and the one in FreeBSD 8.0 seems to be a problem for the migration, so I think I'll start backing up data and maybe I wait for FreeBSD 8.1, expected on july 2010: version 8.1 will support zfs version 14, and that will make the migration easier.

Happy free-bsd-ing meanwhile,


Note: be warned that comments are currently broken in this site!

blog comments powered by Disqus