BSD — it’s better with books

After my less-than-successful forays into BSD, I’ve come to the conclusion that before installing, configuring and working with a BSD distro — whether it be FreeBSD, OpenBSD, NetBSD, and even DesktopBSD and PC-BSD — it pays to read up on in.

With Linux, you can fake it easier. Most Linux distros ship with everything you need, and even setting up a server can be as easy as clicking the right boxes during an install.

But BSD is a different animal. The hardware support is nowhere near as comprehensive as it is for Linux, but it is possible to get it working with the hardware you have (wireless notwithstanding — BSD and wireless is something I know very little about but want to know much more).

One thing people say about BSD — it can be faster than Linux for many tasks. I don’t know how that plays out on the desktop, but for servers and other processor-intensive tasks, BSD is an attractive alternative. And the security of OpenBSD especially is legendary. So for a server, I can totally understand it.

And the BSD that went into Apple’s OS X seems to be working very, very well — multimedia is probably better on the Mac than anywhere else, so for BSD and Linux, it can be done and can perform better than Windows by far.

But when rolling your own BSD system, I think a ton of reading is what’s required. And there really isn’t a book out there that focuses on BSD desktop systems, even though there are two distros that focus on just that.

FreeBSD is the most popular BSD, from what I gather, and that’s due in no small part to the excellent FreeBSD Handbook, a free 900+ page manual that is one of the best examples of FOSS documentation I’ve seen.

And new from NoStarch Press is “Absolute FreeBSD, 2nd Edition,” by Michael W. Lucas. Check out the PDF of the table of contents. At $59.95 retail, you better hope for a deep Amazon discount on that one. From No Starch parent company O’Reilly — and for $9.95 each — are two PDF-only books, “The FreeBSD 6.2 Crash Course” and “The OpenBSD 4.0 Crash Course,” both by Jem Matzen. Both of these PDFs promise some guidance on using BSD as a desktop OS.

As I’ve written previously, OpenBSD is the only BSD to install on my Maxspeed Maxterm converted thin client (VIA C3 Samuel processor), and while I was far from getting it set up for the desktop — there was just too much to do with ports and configuration — I now look favorably on OpenBSD as a great system on which to learn BSD. The OpenBSD FAQ is quite good, though not as extensive as FreeBSD’s Handbook . I was able to do the OpenBSD installation with no problems whatsoever by consulting it keystroke by keystroke. It’s also available in text form.

I’ve been warned away from BSD by people who know more than I do. And other way-smarter people swear by the use of BSD, even on the desktop.

From my point of view, having not just one OS alternative (Linux) but many — including the various BSDs — is vitally important to all of us, both on the server and the desktop — as we go forward. I hope the people behind the various BSD distributions keep the desktop user in mind more and more in the near and far future.

Advertisement

I conquer the fan

I finally did get my fan under control in Puppy Linux. It involved modprobe commands for both the fan and thermal modules (I configured them to start on boot) and getting a cron job running to check CPU temperature at 5-minute intervals and turn the fan on or off depending on temperature.

I’m working on writing the whole thing up. But first I want to thank the Gateway Solo 1450 owners and Puppy Linux users whose expertise I drew on to get it done.

Even with the cron job running, I think the fan runs less under Debian and Ubuntu. There must be a different set of parameters for determining fan status. Perhaps cron’s check every 5 minutes of the CPU temperature is a much longer interval than those other systems use. I’ll have to look into it.

Another thing I’ll be looking into is what my “trigger” points for the fan are. I currently have it set to start at 50 C and stop at 40 C. Maybe I can shift those numbers a bit to have the fan run less but still keep the CPU at an acceptable temperature.

While I’m giddy as shit at being able to run Puppy without the fan blasting the whole session, I’m still not as satisfied as I would be if it were managed as well as Debian does in EVERY Linux distro I use. But at least I can take what I learned in Puppy and try it in other distros that don’t control the fan on this laptop. I’d love for this to work in BSD, too, but who am I kidding? I’ll have to try my shell scripts and modprobe commands in BSD and see what happens. Probably nothing.

One thing bothers me, though. If I were running a fanless PC, this wouldn’t be a problem. It makes me want to build a fanless mini-ITX VIA box with parts from the Damn Small Linux Store or Logic Supply. And why can’t their be a fanless laptop? If only I had enough skill, time and crazy-in-the-headness to build my own laptop. (I know this one has a fan, but I’d do it sans fan.

Still, I’ve got the fan saga, more on the Debian Live CDs, my problems with image editing and IPTC info and more in the near future.

FreeSBIE — the FreeBSD-based live CD

I returned to FreeSBIE today. I haven’t reviewed it so well in the past because it’s a bit kludgy. But now that I have many more months of Linux (and X Window System) experience I can approach FreeSBIE and at least get it running.

I forgot that by default, FreeSBIE boots to a shell, not the gui.

To start X, just type this at he prompt:

startx

Or … you can use the following cheat codes BEFORE booting into FreeSBIE:

freesbie.xfce4
freesbie.flux

… and you will boot into one of those two window managers. Ideally, FreeSBIE should automatically boot into a GUI, with a shell being an option, and at the very least there should be a message on the screen telling the user to type “startx” to get the window manager going. I say this because the “documentation” with FreeSBIE consists of an HTML document that comes up automatically … only after you are in X.

Since I don’t use a dynamic IP at this location, I had to set up my own static IP. Usually there’s a GUI or script to help you out. Even Slackware has such a script.

Not FreeSBIE. I had to do it at the command line. It was just that little bit different from Linux, given the difference between BSD and Linux. But it wasn’t above my skill level:

My Ethernet interface, usually eth0 in Linux, is called fxp0 in FreeSBIE/FreeBSD.
(My comments are in italic and parenthesis — do NOT type them in. Bold is for emphasis.)

I opened a terminal:

$ su
(No root password necessary in FreeSBIE; I get the # prompt immediately.)

# ifconfig fxp0 10.10.10.8 netmask 255.255.255.0 broadcast 10.10.10.255
(Use your own static IP info on the numbers above in bold.)

# route add default 10.10.10.1
(Note: don’t use route add default gw, like in Linux — gw is not needed. As above, enter your own router/gateway address)

I also set up my name servers in /etc/resolv.conf (I used vi because I knew it would be there. You can also use nano in FreeSBIE. Use any text editor you wish in its place:

# vi /etc/resolv.conf

once in the file, I added these lines:

nameserver 192.9.200.4
nameserver 192.9.200.2

(as always, add your own search domain and name server IPs, then save and close the file; you should now be ready to start Firefox and begin browsing the Web.)

Anyway, now I was able to use FreeSBIE. It’s pretty fast. Not as fast as Puppy Linux or Damn Small Linux, but good enough.

FreeSBIE doesn’t benefit from the same kind of compression as most Linux live CDs, and as such, there are far fewer applications available. But between Firefox, Thunderbird, Vim, nano and AbiWord, there was enough for me to get around.

I had no idea how to do a cron job to get the noisy fan in my Gateway Solo 1450 laptop to turn off, and since running FreeSBIE I’ve struck out in a bunch of Linux distros as well when it comes to managing this fan. I’ve discovered that Debian Etch, Ubuntu (not the latest kernel but the older one in the current 7.10 version) and CentOS 5 (aka Red Hat) all are able to manage this fan automatically.

Thus, if I had a desktop computer that could run FreeBSD, I’d be racing to install it right now and see how it runs.

I’d probably be better off figuring out how to get Puppy’s ACPI fan control working. All the solutions thus far look a little daunting.

Did I mention that the fan is loud? Really loud.