Babe in the Woods: A Linux User Migrates to FreeBSD

By Ed Hurst | Posted at 4:47 PM

Most people know what GNU/Linux is, but fewer know about BSD and fewer still have actually used one of the major BSD variants (other than the highly customized Mac OS X). Ed Hurst, a writer and a long time GNU/Linux user, decided to give FreeBSD a try. Will Ed join the ranks of happy FreeBSD users? Read on to find out.

It's about having choices.

Some folks are better off being restricted in some ways. Give them too
many choices and they won't make any at all. I'm not one of those
people. When it comes to computer use, I want options. That's what drew
me to Open Source in the first place. I have often eschewed safety for
the sake of opportunity.

In a generous mood, you might say I qualify as a “power user” of Linux.
Out of poverty, I was first drawn to Linux because it was free to
obtain. I stayed for the freedom. My first experience was with RedHat
5.1, quickly followed by 5.2. It took a couple of attempts, but I got
it installed and working properly. While the hobby aspect was a strong
factor, it was the work I got done that made Linux a fixture in my
life. I am a communicator; I write, speak in public, teach, etc.
Critical inputs for my craft include surfing the Internet, where anyone
can publish anything, and only the reader's discernment plays censor.
Linux served as a most agreeable tool for my pursuits.

Of course, “the steep learning curve” was more than just a by-word.
While I did indeed consider learning the inner workings, and even read
a bit on coding, it only distracted me from the main task. I've learned
to configure most things that matter in my work, and gained enough
experience to find solutions a little faster nowadays.

Thus, I was not totally unprepared for the move to FreeBSD. I was
advised Release 5.0 would be “rough around the edge” and it was true.
Not in terms of glitches in the the software that installs on the
machine, but in other ways. In that respect, FreeBSD is certainly no
worse than any other OS I've used. What I was not told was that this is
the bleeding-edge alpha grade release in BSD's terms.

The install scripts are probably the roughest part of my experience.
One really must read a thorough guide before attempting it. If you
forget something, you may not get the chance to go back and correct it
during the initial installation. If you try to go back and run the
process again, you may get a surprise. When I went back to run
sysinstall, it wiped a lot of config and log files. I had to add my
user account back, and create the passwords for that and the root
account. The locate database was wiped. I also found nothing but
empty files in /var/log.

There were other problems with the release, primarily broken packages.
The Linux “emulator” is broken, and I never got any of my Linux apps to
so much as install, never mind use them: Applix 5.0, any version of
OpenOffice, WordPerfect 8.0, etc. The fix, as I understand it, is to
recompile from patched sources. Considering it not all that important,
I decided the Linux-compat sources were simply too large for my feeble
dialup connection. Regarding this as a mere warm-up exercise, I decided
to wait until I secured a better release of FreeBSD.

Other problems might be simply the nature of the BSDs. I noticed that
my hardware was very properly detected, and the record in dmesg was
shorter and actually easier to read than what I was used to in Linux.
Conversely, precious little was configured automatically by comparison.
I had to specifically tell the boot loader to grab the modules for my
sound card. Even though my XF86Config file from SuSE worked rather well
as a drop in, as did my entire TrueType fonts directory, it required
some rather precise tweaking to get my MS Wheelmouse properly working.

Printing wasn't too bad. While CUPS was installed, it required
Linux-compat to set up, and mine didn't work. Getting the printer going
required installing apsfilter, and selecting a reasonably close driver
from Ghostscript (my Epson CS 860 works fine with the 740 driver). But
then, a2ps was broken, and I couldn't print from the command line. Test
pages came out fine, though. The fix was to recompile only the
a2ps-letter package with a patch to fix the file.

Firewalling is a nightmare of hand-editing the ipfw configuration. I
found several guides that counseled their own particular solution, but
it seems no two of them could be dovetailed without a great deal more
knowledge. The default settings still required editing a default config
file (/etc/rc.firewall) but there were variables I didn't understand
well. After almost a week of futzing about between actual work
sessions, I just now discovered that I was supposed to make up a
convenient hostname for the machine that specifically avoided using my
ISP's domain name for dialup. There is no default machine name, such as
one finds with most Linux distros — “localhost.localdomain” or
“local.linux” and so forth. The stand-alone dialup workstation is
scarcely included in the planning of these things. What little I found
assumed far too much knowledge. It almost feels like “Newbies not
welcome” at times. If you ask advice, you'll get polite versions of
“RTFM” mostly.

And so it went. I had no intention of running a thorough test of
everything, just the things I needed to use. What really keeps me
working with all this is not some hard-headed persistence, but that I
found in FreeBSD at least two things that I came looking for: a speedy
system on my aging hardware, and a chance to get off the upgrade

It boots with the default kernel into a console in less than 60
seconds. I've not seen that once with any Linux distro I've tried;
usually more like 90 seconds at the least, and steadily increasing with
each new release. RAM is released more quickly, and less is taken in
the first place. It's now common to run topand see that 100MB of my
384MB is unused. No Linux distro was ever so conservative under similar
circumstances — usually leaving less than 30MB free.

My research into the famous “ports collection” for FreeBSD indicates
that those who wish to install and run what they have for a
considerable period are rewarded with good tracking of important
packages and package groups. The porting gurus make sure that stable
release users can at least compile from source with ease the latest
version of Mozilla, KDE, Gnome, etc. In many cases, someone will have
compiled it for download.

The BSDs are source-centric. When something is ported, it requires
little or no tweaking to compile and install. The system automatically
handles dependencies. Most core library packages do not separate out
the “devel” portion. If you install glib2, it's all in the package. The
collection of ports for recent releases is huge, including things I've
never heard of and can't imagine using. Even better, it seems to have
everything I do use. I found even patches were a breeze to apply. The
scripts approach newbie-proof, providing one simply reads the
instructions, because it's the one part of documentation that assumes
very little of user knowledge.

In the next week or two I anticipate receiving a copy of FreeBSD
4.8-STABLE. It has more recent packages; the 5.0 I'm using came with
KDE 3.0.5, compared to 3.1.3 for 4.8. I've been told the install
scripts are much better, and configuration is simpler. I'm looking
forward to writing a much more pleasant Part 2 to this story.

Test Hardware Profile:
Gigabyte GA-7IXE4 motherboard (AMD 750 chipset)

AMD Duron 800 CPU, 384MB RAM

Western Digital 20GB Internal EIDE hard drive

Micro Advantage CD-RW, 52/24/52

Generic floppy drive

ATI Rage XL graphics card, 8MB VRAM

NEC MultiSync M700 17” monitor

Creative Modem Blaster external serial modem

SoundBlaster 16 (Ensoniq 1372) soundcard

Microsoft Wheel Mouse

Micro Innovations KB-4001 keyboard

Epson Color Stylus 860

Ed Hurst is the Music Director for Grace Baptist Church of Kickapoo Creek, Texas. Ed loves computers, runs FreeBSD at home, and reads all sorts of things. You can visit his personal web site at softedges/.