FreeBSD on an Apple MacBook
Apr 06, 2008

For the past week or so, I've been running FreeBSD on my MacBook. So far, I've got to say, I absolutely love it. I have a lot of experience running a range of Linux distributions on all sorts of hardware including both PPC and Intel Macs, but just a week or so of FreeBSD usage has convinced me of the OS' value over Linux. A standard FreeBSD install is incredibly simple. If you don't want to dive into any messy details you don't have to (though you do need to be comfortable with the fact that you're going to be using a curses interface rather than a real GUI). You could probably have a full, working install of FreeBSD, complete with X.org, in 15-30 minutes if you didn't want to do anything crazy. I, of course, wanted to do some crazy things. Namely, I wanted to have it running on Sun's ZFS, which took a little extra work. If you just want to run FreeBSD on your MacBook easily, I highly recommend this howto from Goddess-Gate.com. It's very good and very easy to follow (just remember that you might not use a French-layout keyboard and you'll be fine). To start things off, after partitioning my drive with BootCamp, I used this ish.com howto to get a minimal FreeBSD install running with ZFS. At this point, my Airport card was working with the built-in drivers, which was absolutely stunning after all the work and effort I've put into trying to get WiFi to work with Linux in the past. After that I took a few tips from zenspider to get the basics setup like configuring my own user with sudo privs, and ZSH as the default shell (I'm a fan of things that start with Z, I guess...). After that, just a few tips from the Goddess-Gate.com howto as well as the MacBook page o the FreeBSD wiki (the wiki page will be important later) got me to a basically complete and usable stage. In addition to the basics, I installed the e17 window manager, which so far I really like, gvim and xemacs, for my basic work needs (traditionally I'm an emacs guy, but lately I've been playing around with vim a lot), Opera for web browsing and some of the KDE packages, though I don't want or plan to use KDE, I just wanted a few of the applications to play with (Konqueror and Kate), so I removed all the KDE packages other than kdebase and it's dependencies. At this point I only had a few issues with my install:
  1. the trackpad - FreeBSD currently has no support for advanced features with the MacBook trackpad. The synaptics drivers available in FreeBSD don't recognize the USB trackpad that Apple uses, so you're forced to use basic mouse drivers which means no two-finger scrolling or right-click. The best solution out there (and I'll address this in a bit) is to configure xbindkeys so that F10 sets your mouse button to left-click, F11 sets it to middle-click, and F12 sets it to right-click.
  2. fn key - FreeBSD also currently has no support for the fn key on the MacBook keyboard which means that the home, end, pgup and pgdn keys are unusable. This isn't a huge deal as you can use various other keybindings to the same effect, but it's annoying.
  3. battery monitor - For some reason the battery monitor widget that comes with e17 only sort of works with my MacBook. If my battery is full, it says so. Otherwise, it just says 'DRIVER'. Oddly enough, this doesn't seem to indicate an actual driver problem, because I can get the full info on my batter at the command line including time remaining and all that fun stuff. Since the information is obviously all available I'm going to try and patch the e17 widget to work with a MacBook when I've got the time. Meanwhile, I'm sure that other battery monitor probably work, though I haven't had a chance to try any yet.
  4. Firefox - I simply have not been able to get Firefox to work properly. I've tried various ports (firefox, firefox-devel,linux-firefox, and linux-firefox-devel), but sometimes they fail to compile, and even when they do, they won't run. Since I've got both Opera and Konquerer installed I'm just going to ignore this issue until Firefox 3 is released and makes it into the ports tree.
Other than those four things, everything else has really been a dream in terms of ease of setup and use. And, I'm happy to announce, I've come up with a better solution to the right-click issue! You have to install xvkbd and then add the following to your .bindkeysrc:
"xvkbd -text '\m3'"
	Control + b:1

"xvkbd -text '\m2'"
	Alt + b:1
This will allow you to use ctrl-click for right-click, as in the Mac OS, and alt-click for a middle-click. The one caveat, which Rui Paolo, writer of the MacBook entry in the FreeBSD wiki helped me discover, is that you have to compile the latest version of xvkbd yourself, as the one in ports is outdated and doesn't work for this. So I'm going to work on building a new port with the latest code. The lack of a simple way to right-click was the one thing that was really bothering me with my FreeBSD install, so this is a pretty huge deal as far as I'm concerned. Well, that was a very long and geeky post. Now I have to get ready for my international flight tonight.
blog comments powered by Disqus