I first met Dru at SCALE 8x – that was last year’s show; I didn’t go this year. I’ve just been working too much, dropped my print column last October, and I’ve been running Debian Lenny since December and haven’t been in the distro hunt and done little but complain about Xorg sucking the very soul from anybody using Intel video chips that haven’t been made in the past year or so. (I have three such laptops, and the damage done by Xorg to uptake of X-based GUI-using operating systems among those with “older” Intel video-equipped laptops must be staggeringly high.)

Anyhow, Dru is a tremendously gifted writer whose O’Reilly columns in the early 2000s and her subsequent book “The Best of FreeBSD Basics” has been a great help to me. Not so ironically, Dru along with fellow BSD writer Michael W. Lucas are two of the best out there at explaining Unix to the thick-of-head such as myself. Even if you don’t use BSD, both books offer a lot of insight into how to run any Unix-like operating system – even Linux.

While I’m on the subject, has anybody but me noticed that Lucas’ “Absolute FreeBSD” book is both out of print and selling for more than $150 a copy used? I wish I had gotten one while the getting was good. Lucas’ “Absolute OpenBSD” is a classic Unix manual that I’m very glad to own. Every time I mention it, I have to say that I really didn’t understand the power and wisdom behind sudo until Lucas explained it in his OpenBSD book. I’ll be looking for “Absolute FreeBSD,” and I will probably spring for the PDF from No Starch, which is still available.

Have you noticed that I’m backing into the whole point of this entry, which is the fact that I’ve been running FreeBSD 8.0-release since last week?

First I tried to fix the sound and video problems I’d been having in my recently upgraded Debian Squeeze install, which didn’t go particularly well at all. I managed to kill X completely with one of my package reinstallation experiments. I probably could’ve saved the install, but I already had a backup and was ready to move on.

I installed Ubuntu 10.04 Lucid Lynx from the March 15 daily build (only three days before the beta-1 image was released; I have a burn of that, too, but haven’t yet tried it).

I selected nomodeset in the options to boot into the live environment, turning off kernel mode setting, which doesn’t work with my Intel 830m (82830 CGC) video chip on my Toshiba Satellite 1100-S101 laptop.

Everything looked purple and pretty good besides.

I proceeded with the install, selecting an encrypted home partition (something I’m a bit militant about, having run a fully encrypted Debian Lenny laptop for three months with no discernable performance lag).

All seemed to go well, but when I rebooted, I had no video at all. No boot screen either. And this is Grub2, which as we’re all learning is much, much different than Grub1.

I since learned that in a single-boot system (with only one OS on the drive), Ubuntu Lucid makes the Grub2 bootloader screen invisible. Love that.

And the lack of X meant that my nomodeset command was not in the boot line.

I hope there’s a way to add that during the install itself, but I haven’t yet figured that one out.

What I did figure out subsequently (detailed here) is that in Grub2, when you’re booting the machine, holding down the Shift key will pause the boot sequence and bring up the boot menu, allowing users to enter boot parameters (and giving them the chance to modify Grub2 later to include them permanently. Again, a thorough reading of the Ubuntu Grub2 page is something I recommend very strongly.

Anyway, I learned this Grub2 secret on Monday but knew nothing of it on Friday, when I decided to install FreeBSD 8.0 on the laptop and give it a try.

I already had a PC-BSD 8.0 live DVD, which proved the Toshiba and its Intel video chip to be a perfect platform for FreeBSD, upon which PC-BSD is based.

And since the PC-BSD 8.0 disc will also install FreeBSD w/o all the PC-BSD bits, I decided to use it. The install went smoothly, but I recommend that users who wish to install FreeBSD use a DVD image directly from the project. With the PC-BSD disc, I missed a lot of the options that the full FreeBSD installer offers.

Time to mention Dru again: If you’re at all interested in PC-BSD or FreeBSD — and I’m saying you definitely should be, check out her new book “The Definitive Guide to PC-BSD,”, which is slated for release March 31.

Anyhow, the version of FreeBSD I installed is 8.0-release. I’m still getting a handle on the FreeBSD release philosophy, and the availability and performance of packages and ports for the various releases. (I recommend anybody do a thorough examination of what software is available for any given release of any OS before you run it; it’s time very well-spent.)

Here’s my quick distro review: I installed FreeBSD 8.0-release from the PC-BSD 8.0 DVD. Installation was smooth (I accepted the default partitioning scheme), and while there was more post-install setup than in the average Linux distribution, most of it is well-documented in the massive FreeBSD Handbook, with a good number of tips available from other sites as well.

While OpenBSD is thought of as being extremely locked-down, to my untrained eye, FreeBSD seems equally concerned with security and by including less in the base installation, allows for easy deployment of a security-minded server or desktop. My passing familiarity with OpenBSD did help quite a bit in my configuration and use of FreeBSD, since the projects are more similar in philosophy and structure than not (though they still are quite different).

I’m no fan of ports and compiling, especially with a 20 GB hard drive that fills up fast, so I’m relying on precompiled packages. One app I did need to add from ports was Gthumb, since the FreeBSD packages is compiled with IPTC support turned off, and that is my No. 1 feature in Gthumb. One thing I did add in the basic install was the ports tree, so it was easy to build Gthumb from a port with IPTC turned on.

To my base install I also added xorg (unlike OpenBSD, there’s no X in the default FreeBSD installation), gnome2 and gnone2-fifth-toe. The “toe” is a metapackage with lots of GNOME-ish apps, and between the two GNOME packages I had a fairly complete GNOME desktop.

And that GNOME desktop in FreeBSD 8.0 is as fast as any I’ve used. Faster than Debian and Ubuntu by far.

Sound needed to be turned on manually, but it worked. Networking thus far is way different (and in my unlearned opinion better) than in Linux. I still need to figure out encrypted connections in WiFi, but I was able to make that happen in OpenBSD, so it shouldn’t pose a problem in FreeBSD.

Here are my “issues” with this install:

FreeBSD 8.0-release installs GNOME 2.26 from packages. It also installs Firefox 3.0.x or 3.5.x. You can get newer versions from ports, I think, but the last thing I want to do is compile apps for hours and days.

I’ve since learned that there are multiple development branches in FreeBSD at any given time, either -current or -stable, both of which move incrementally, unlike -release, which stays the same except for security patches (don’t quote me … I’m still learning all of this) until a new release is made.

What’s curious to me is that FreeBSD 7.2-release has newer precompiled packages than FreeBSD 8.0-release. 7.2 also has OpenOffice 2.4. 8.0 has no OpenOffice in packages.

No OpenOffice? You’ve got to be kidding me. I know it takes days to compile. That’s why I need the package. 8.0 will eventually get that package, and there are some available from outside the FreeBSD repository, but I really don’t want to take that route.

I did add the gnome2-office package, which includes Abiword and Gnumeric, and the fonts in this version of Abiword look way better than I’ve seen on any Linux distribution in a long, long time. I’m tempted to stick with Abiword, but while the fonts look great on native documents, I haven’t figured out a few font issues with my existing OO documents that renders them a bunched-up mess until I change the font througout to something Abiword likes better.

My problems include Java, Flash and other video. I thought that installing Java in FreeBSD would be easier than the geek odyssey that is installing Java in OpenBSD (which I was barely able to accomplish from that OS’ ports). But there are no Java packages for FreeBSD 8.0-release, as far as I can tell.

There are such packages for 7.2. Can you see where I’m headed?

Also, while the Firefox and Epiphany browsers perform extremely well in 8.0-release, adding the Flash plugin caused Firefox to crash on any page including Flash. And the plugin didn’t work on anything in Epiphany.

The deal-breaker was Totem. It crashes on anything, video or audio. I saw a FreeBSD forum post on the problem but couldn’t see a solution.

And in Mplayer, the video has audio but …. no video.

Another annoying thing: I don’t know if this is standard FreeBSD policy or something due to using the PC-BSD disc, but my user account had the UID and GID (user ID and group ID) of 1001, which didn’t match up with my Linux files on my backup drive and my Debian-derived UID and GID of 1000. It was easy enough to change the UID of my files in the console once I rsync’d them over, but I would rather have the choice of setting my UID and GID to 1000 if that’s possible.

Just like in OpenBSD, the FreeBSD man pages are excellent and filled with examples that actually make them useful. I’ve said many times that the FreeBSD Handbook is an invaluable resource, and it remains that today.

So I’m going to save my /etc/rc.conf and install FreeBSD-7.2 release – which offers a newer GNOME 2.28, Firefox 3.6.x, the abovementioned OpenOffice, and even Java packages (though not in the repository for Sun-nish legal reasons that escape me because I really don’t care).

Disclaimer: I didn’t turn on Linux compatibility, which might have made the Flash plugin not work, nor did I try a Linux browser (they are available for FreeBSD).

While I can live without Flash, my minimum “requirements” are a working Java runtime environment for my browsers, and the ability to view video in Totem, Mplayer or VLC. (I couldn’t find a package anywhere for VLC, but perhaps that’s another legal thing …).

Overall:

Did I mention speed? This GNOME 2.26 desktop just flies. It’s a pleasure to use, and if I can manage to install FreeBSD 7.2-release and get the same speed with working Java and Totem, I’ll be very, very happy. Working Flash, should I manage it, will be an added bonus.

And thanks, Dru, for the inspiration to do my first serious FreeBSD test.

Updates:

I can’t bring myself to wipe the FreeBSD 8.0 install and try 7.2 (or 7.3, which is available in what looks like release-candidate form. Aside from my Totem issues, it all works so well. But I’ll probably do it.

I forgot to mention that I had the usual screen “artifacts” problem with Xorg and my Intel 830m chipset (82830 CGC video). The xorg.conf generated by xorg -configure didn’t work at all. But my Debian Lenny xorg.conf worked perfectly. The GNOME screensaver works, but the Power Management screensaver kills X, so I’m using the former, not the latter.

I modified dhclient.conf to keep my dns servers since one of my networks I use is so old-school that it doesn’t supply its own, while all the others overwrite whatever I put in there manually. In OpenBSD, I did this by using an /etc/resolv.conf.tail file. In FreeBSD, I added the following to /etc/dhclient.conf (this example using the Google DNS, but you can use whatever servers you want/need):

option domain-name-servers 8.8.8.8, 8.8.4.4

I’m no expert, but Web apps with heavy Javascript (Google Docs, Gmail) are extremely smooth and quick in both the Firefox and Epiphany browsers.