LWN.net Logo

FreeBSD 5.4 on AMD64

May 18, 2005

This article was contributed by Ladislav Bodnar

Regular readers of this column will recall our series of mini-reviews of several Linux distributions on the AMD64 platform and their readiness to function as developer workstations. Originally, this series also meant to include FreeBSD, as the most popular of the BSD operating systems, but we were somewhat discouraged by this report at NewsForge, which claimed that FreeBSD 5.3 shipped without support for 32-bit FreeBSD binary compatibility and without support for 64-bit Linux binary compatibility. This fact would almost certainly have made FreeBSD 5.3 look incomplete in comparison with most current Linux distributions, so we decided to wait for version 5.4 before attempting to install FreeBSD on our AMD64 box.

Six months after FreeBSD 5.3, the second production version of FreeBSD 5.x series was released. Has it addressed the concerns in the above-mentioned review? To find out, we installed the AMD64 edition of FreeBSD 5.4 on a system with the following specifications: AMD64 3500+ processor (2.2GHz), K8N Neo2 (Socket939) mainboard from Micro-Star International, 2 GB of DDR SDRAM, 2 x 120 GB Maxtor hard disks, Plextor PX-712A DVD/CD Rewritable Drive, and NVIDIA GeForce4 Ti 4600 graphics card. First, we installed a base FreeBSD system, rebooted, then proceeded with further package installation from a local FTP mirror. To save time, we did not compile desktop applications from source, but used FreeBSD's binary packages instead; with 'pkg_add -r kde' and 'pkg_add -r gnome2', we had both the KDE and GNOME desktops set up in no time. We also added Firefox, Apache, PHP and a few other popular applications.

We started investigating the compatibility issues right after setting up our desktop environment. We checked out the default kernel configuration file, which included options for "COMPAT_IA32" and "COMPAT_LINUX32". This looked promising, but we were still curious about how complete the AMD64 port was. Looking through the FreeBSD 5.4 package trees we noted that there were a total of 10,383 packages for the i386 architecture, and 9,807 packages for the AMD64 architecture, which suggested that almost 95% of all FreeBSD packages have been ported to the AMD64 platform. This is in line with most Linux distributions. Running 'diff' on the two package sets gave us a more clear picture about what is missing from the 64-bit edition; besides the usual culprits, such as OpenOffice.org, Opera, proprietary multimedia codecs, and Java-based applications (Eclipse, Jakarta...), we also noted the absence of Azureus, Blender, TightVNC and Wine, among other packages. The 'sysinstall' interface did list a few dozens of Linux applications that could be installed under a binary compatibility mode, but it did not include anything terribly exciting.

This was disappointing. At this point we couldn't help thinking about how far Linux has evolved in providing a near-complete support for 64-bit processors. Fedora, Mandriva, SUSE and Ubuntu come pre-configured with 32-bit compatibility libraries, so that applications that do not compile under AMD64 (e.g. OpenOffice.org) can be run in a 32-bit mode. Debian provides an excellent write-up about how to set up a minimal 32-bit Debian system in a chroot-ed environment and how to integrate transparently any 32-bit applications into the main 64-bit system. Even though none of these solutions are ideal, they are certainly workable - at least until OpenOffice.org compiles under AMD64 and until makers of proprietary software, such as Opera, RealPlayer, Acrobat Reader, Flash Player, and others wake up and start building 64-bit binaries. Unfortunately, this means that the 64-bit edition of FreeBSD remains somewhat limited as a workstation. A brief search on the Internet revealed that, while it was not impossible to install the 32-bit Linux binary edition of OpenOffice.org on a 64-bit FreeBSD system, this was by no means straightforward and certainly not officially supported.

Of course, if you don't need any of the proprietary applications or OpenOffice.org, then FreeBSD 5.4 is certainly a workable system. We only spent one day testing it, but had no trouble with installing a large number of applications from the binary package pool. Some hardware, such as sound cards, still required manual setup with 'kldload', but the network card and USB mouse were detected and set up automatically. FreeBSD 5.4 comes with the very latest open source applications available today; these include X.Org 6.8.2, GNOME 2.10, KDE 3.4, Apache 2.0.54, and PHP 5.0.4, just to name a few. As a server, FreeBSD 5.4 seems to be a noticeable improvement over 5.3; as an example, we host DistroWatch.com on FreeBSD and had a few serious problems with version 5.3 (which our hosting provider confirmed to have affected a number of other FreeBSD 5.3 boxes), but these problems have yet to manifest themselves after upgrading to FreeBSD 5.4.

While talking about FreeBSD as a desktop solution, perhaps it is a good time to mention a new project called PC-BSD. PC-BSD is the first attempt (besides Mac OS) to create a truly user-friendly BSD-based operating system, complete with a graphical installer and automatic hardware configuration. Dru Lavigne, a well-known BSD advocate and author of several BSD books, concluded in her recent review of PC-BSD that "this is one CD I'll definitely be passing out and I look forward to watching this project mature and achieve its goals." Although still in early beta, there is little doubt that, in terms of user-friendliness, PC-BSD has come close to matching some of the top Linux distributions on the market. The installation is a breeze and the first reboot takes users straight into a pre-configured KDE desktop. The upcoming release will even include a graphical FreeBSD package manager!

So how did the AMD64 edition of FreeBSD 5.4 fare in our brief test? As a server, it is an excellent operating system. As a workstation, we won't use it and won't recommend it. It lags behind both the i386 edition of FreeBSD, and the AMD64 editions of all major Linux distributions, mainly due to the limited support for 32-bit applications. Without it, the overall experience of running the 64-bit edition of FreeBSD on the desktop is simply not on par with any of the current 64-bit Linux distributions.


(Log in to post comments)

Copyright © 2005, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds