Learning to Walk: A Linux User Migrates to FreeBSD

By Ed Hurst | Posted at 7:01 PM
If you haven't read part 1 of this -- "Babe in the Woods: A Linux User Migrates to FreeBSD" -- you may be at a loss. For those who did read it, many are still at a loss. That is, they didn't grasp the subtle purpose behind the article. Of those who commented, most were hardcore geeks, the techies who are in a position to really understand computers.

They are also the minority of those who use computers. They were offended because my story echoed all the clueless noises made by the average user. What they did not catch on to was that I intentionally went about the whole exercise as a clueless user. I wanted to experience it from the perspective of the average user who doesn't revel in the world of math and science. You see, I have a mild learning disability that hinders my progress in math and science. It takes me twice as much effort, if not more, than the average human who seeks to learn about computer technology. With my Linux background, as a user only, I figured that would put me about on par with experienced users with better brains, but who hadn't experienced Linux or BSD.

More about why those folks matter to us, in the Free/Open Source Software community, in a later article. I want to emphasize the importance of setting people free from the prison of proprietary software.

It's still about freedom, but it's freedom for a reason. It's no good being free to do a million things I don't want if I can't do the one thing I do want. FreeBSD 5.0 is just a test release: Don't try this at home, kids. It was broken in many places and I wasn't getting much work done.

So I accepted someone's offer to provide me with 4.8. Let me muddy things just a bit by explaining this CD was 4.8-RELEASE. While that makes it a part of the "stable" branch of FreeBSD development, you cannot simply install packages from the STABLE collection for 4.8, because in this case "STABLE" means updated from the "RELEASE." STABLE implies "current," but not necessarily cutting edge. It's got all the recent fixes. That is, if I understand their system correctly. At any rate, this release is where I intend to stand, barring unforseen disasters or significant hardware upgrades.

Oddly, the installation process was a little less smooth this time. While I didn't have script glitches to fight, the process was a bit more complicated, with more steps. 5.0 had some new-fangled hardware detection that shorcut some of the old process, and was probably the one part that worked for me on the first run. On the second run with 4.8 I decided to try out the graphical X-server setup. It locked up quickly, and froze the entire I/O, rather like an infamous OS I once used. So it meant pressing the reset button, and manually running fsck on the reboot. At that point, the system was ready to run without X, but it needed approval for each of several dozen nodes to be fixed -- one at a time. I had no access at that time to the manpage for fsck. Once booted, I dropped in my XF86Config that I had backed up from the tweaking done for 5.0. Minor editing and I was ready to go.

Except, only root was ready to go. I had configured my user account, but something kept both KDE and Gnome from opening completely. Any standard window manager worked (WindowMaker and IceWM, for example). I eventually discovered that /dev/null had been improperly created, and I had to do it manually. Then there was the inability to run top, or any other system monitor. I'm not sure how but perhaps the lockup caused corruption not caught by fsck. The installation I anticipated taking an hour to do, and then promptly getting back online, ended with four solid hours of chasing gremlins before I could check e-mail.

It took another six hours for me to feel comfortable with the situation. That meant downloading a lot of packages, both compiled and from source, over my feeble dialup connection. Precious few of my favorites are included in the basic install CD: Midnight Commander, Nedit, Joe, Postfix, and Xscreensaver. Fetchmail wouldn't work at all, and had to be re-compiled from source. Probably something else I damaged by the I/O lockup. And so it went. It was well into the next day when I found instructions I could understand for getting color in the terminal emulators, partially working BKSP and DEL keys, and getting Postfix to actually nudge Sendmail out of the way. None of it was intuitive, even from a Linux user's point of view. Nifty gui tools are limited in the BSDs, or have different names.

Part of the problem may be due to the BSD purist's resistance to these "innovations" so common in Linux-land. Only recently have webpages appeared with simplified instructions that will cover most cases, if the dates on the pages mean anything. Between this go around and my previous attempt, I managed to puzzle out the firewall issue. The bundled handbook was written at the network administrator's level, and assumed the reader knew all the various Internet protocols, what to block and what to allow. A more detailed article on the subject was also bundled, but it begins with re-compiling the kernel. None of the canned solutions fit my needs, and the bewildering lack of concordance between the various routes meant reading each set of instructions repeatedly until it all began to sound like English to me. Keep in mind: I've never had to set up a firewall manually.

On the other hand, once I got the problems ironed out, I got a system that worked pretty much as advertised. The word "stability" has taken on a whole new meaning. The Linux APIs in the kernel work on 4.8, and it's completely transparent. I copied OpenOffice for Linux into a convenient folder, ran the script and it worked perfectly. From my user account I simply click on the desktop icon and OpenOffice opens at least as fast as it would on a regular Linux box. It typically takes 10 to 15 seconds. Other Linux applications I tried were similarly easy (except for Netscape 7.1, a special case). They appeared to open more quickly than when I actually ran Linux.

My current boot time from power up is 30 seconds, and resource use remains relatively light. There is no apparent lag in GUI refresh; in my last Linux installation the cursor in X would often have to catch up to display on screen the results of keyboard and mouse input. Drag and drop doesn't slip in KDE, as it had in the past; when I grab an object, it is not longer necessary to be so deliberate in order to drag it across the screen. Linux has left my hardware behind.

Again, most configuration is done using scripts or direct editing of the config files. This is not for the faint of heart. Still, it clearly can be done. I doubt my powers of deduction are superior to the average, and I know far less than most Linux users. FreeBSD can indeed be turned to the desktop use. I still have yet to test CD burning, but the instructions appear relatively simple on the first read. The subject of digital cameras is farther down the road. Those who wish to try any of the BSDs are well advised to read the official handbook for the release you are trying. They can be found on the Install CD and on the supporting websites.

I look forward to a long and productive sojourn in the Land of BSD.

Ed Hurst is Associate Editor of Open for Business. Ed is also the Music Director for Grace Baptist Church of Kickapoo Creek, Texas. He loves computers, runs FreeBSD at home, and reads all sorts of things. You can reach Ed at ehurst@ofb.biz.