Running a Thinkpad with Free software
Updated :: Nov 18!
It might be a little misleading to file this story under the Linux penguin logo, since it’s a story about installing FreeBSD (the little red devil is their logo), but I don’t have a separate BSD section. I can be forgiven by diehards since I am using a lot of linux ports…
One of the outside sales guys was complaining about his laptop – it was slow, it didn’t have built in wifi which was a pain for him since alot of the hotels he was using only offered wireless, there were never any ethernet jacks to plug into at the hotels and he was pretty sure he had a mess of viruses. He was so fed up with it that he brought it with him on his last trip into work and left it with me. Looking at the thing, he was right – it was ‘borged’ alright. It was getting a bit old, so I spoke to the powers that be and we got him a new Thinkpad ordered up. When it came in (from China, now that IBM has sold their PC business to Lenovo), I set up all the normal stuff we use and shipped it out. The machine he brought back is not really that old, but it is a bit under-powered and under-equipped. Since it is standard practice for me to wipe machines that are returned from service in this manner, I decided I would use the opportunity to run a test (at home, unfortunately I don’t have time to play like this at work) to see if I could configure the machine to perform all the functions of my Apple PowerBook (G4/1.5GHz/OSX10.3.9) with free software.Before getting into the subject at hand, a little history:

Previous ‘tests’ that I have performed like this on laptops have produced lackluster results – perhaps because I am not quite as much of a *nix guru as I’d like to be, but also certainly due to unsupported hardware. In the end, I’ve always ended up frustrated that I can’t get *everything* working that I would like. Since 2002 this has meant that I have continued to use Macs at home (an iBook, then a Powerbook), though at work I do have an IBM desktop running WinXP. I was an Apple ’switcher’ back in 2002 – though not from Windows. Although I had dabbled with Linux over the years (Redhat’s 5.2, the unix machines at school, the Xenix box at work), it wasn’t until1999 when I finally decided I had had enough of Windows crashing to spur me on to move entirely over to Linux. I didn’t have broadband at that time (who did?), so I had purchased a copy of Redhat‘ – 6.0. Later that year I upgraded to 6.1 with some trouble. Eventually I bought a copy of Redhat‘ 7.1 when that came out, which was much better. After my second child (which came with TV and broadband), I started trying out all different kinds of Linux on spare machines. I really wanted a laptop though, and the lure of the Mac was just too much – the under-carriage of OS X is BSD (another free unix with roots in America unlike Linux which is really a more European thing), and it was the best decision I ever made (concerning computers anyway). I specified some Linux servers for work (Redhat again), and set up several other flavors for various tasks on old machines. Lots of Linux but no BSD in the mix at all. I decided that I would put an end to that with this test run – I chose FreeBSD for the experiment.

The machine:
Thinkpad R32, Pentium4 mobile 2.0GHz, 256Mb Ram, ATI Radeon LY RV100 Mobility M6, No wireless card, two USB ports, ethernet port, PS2 mouse port, LPT port, VGA out, PCMCIA slots, but no cards, DVD ROM, 14″ 1024×768 max screen, keyboard light (nice), Trackpoint with three buttons, no trackpad, audio out, in.
What I want to do with a computer:
While it is probable that I might be satisfied with a slower machine than most of my friends, I actually demand quite a bit more from my operating system than most of them. The guys I know are gamers and need *fast* machines with kick butt video cards, lots of memory and such. I’m really not into that. My gaming doesn’t extend far beyond real-time strategy games (think old Warcraft before it was 3D), 1980s era retro arcade games, and the like. However, as I write this entry in Firefox 2.0 (through my website’s form interface) on the Thinkpad I’m jamming out to Queen playing on Amarok while I tweak the playlist, Audacity is being compiled from a BSD port in a terminal window on another desktop, I’m checking Kopete (instant messaging client) to see who might be on (three different networks: AIM, private jabber network, Yahoo Messenger), while Thunderbird checks for new email for three accounts, a Kwrite window is open since I just pasted in the lyrics to a Jim Croce song I’d like to learn, another console window is open on that desktop too – I was checking dmesg for the information I listed above, and Xbatt is running for some dumb reason – I’m not on battery now – I just closed it. While I have reason to believe the compile wouldn’t be taking so long if I wasnt pounding on this low RAM machine with so many open Apps, I’ve been working on it like this for hours since before the kids went to bed and nothing has crashed!!!
I should probably state that most of the applications I intend to use are written to run in X-Windows, and some specifically for the KDE environment. FreeBSD is not a requirement to run any of these programs, any form of *nix would suffice, and so most of this article has less to do with BSD as a choice than with free software solutions to my specific computer needs. That said, the FreeBSD ports system, used to install much of the stuff I am using has been fantastically easy to use – and certainly less of a hassle than the ‘dependancy hell’ of old. Newer Linuxes also offer smarter package management systems (I’ve heard the new Mandriva 2007 is good in this regard). Some of the applications (like Firefox 2.0 for instance) are only availble for Linux since there is no port ready yet for it in the official BSD ports tree, and it’s plugins (like Macromedia Flash) seem to work better in Linux so I am running the FreeBSD kernel in Linux compatibility’ mode – meaning that I can run programs written for Linux too – which significantly increases the amount of software available to me.

For the sake of clarity I will repeat some of the things I use a computer for:
- Email (pop, imap) with GPG support (encryption). This is taken care of with Thunderbird and enigmail. Have not transferred private keys to the Thinkpad, since it’s a temporary set up.
- Address book on Mac is sweet. Address book in Thunderbird is less impressive – but works. Transferred all accounts no problem by exporting all contacts using Address Book Exporter to a csv file and using the Thunderbird import facility (painfully mapping each field)
- Surfing, and using the web. I am not satisfied with Konquerer (the default browser when running KDE) so I installed Mozilla Firefox (most of my extensions like the one that allows me to easily post and tag links to del.icio.us, AdBlock, and web developer all work in FreeBSD too – yay)
- Listening (and programming for long periods of listening) to music. I have a big library of music and I like to play it. I would also like to be able to transfer the stuff to an mp3 player – I have had access to an iPod shuffle lately, so I will test that. I’ve been using Amarok for awhile and it seems to be quite good. In fact, I like it better in some respects than iTunes on the Mac. At compile time you can add support for an iPod, which I didn’t do for fear that it would complicate the build and on this machine the compile of Amarok took almost 2 hours! (while doing other stuff)
- Aquire, store, sort my digital photos. I haven’t gotten to this yet, really. No test has yet been made to aquire images from my digital camera, since I was unable to successfully compile the Gimp! I basically bailed on it, so I have to go back and see what is making it fail. That software is pretty much critical to a move, since it has so many necessary tools built into it. I’m used to using GraphicConverterX and Photoshop on OS X and manipulating images is a critical part of web development. I tried using Krita (a KDE app), but it won’t load up for some reason, I’ll have to get back to that. For now I can use Konquerer which is the File Explorer type application of KDE, which has an image browser function, or KView which can display various image types but for serious editing, I will need to pick a solution. update: I was able to install the Gimp using
pkg_add -r gimpthough not able to build it from source. I had no burning desire to wait for three hours for it to build anyway, installing the pre-built package tool about 5 minutes.
- I design and maintain php / mysql driven websites (some for other folks, some for myself), so I need a working mysql server, php install and apache running. None of this has yet been tackled, and it appears that I somehow didn’t choose to install apache and php at initial setup, or that they are not installed as default as is common in Linux. Once stuff is created, it has to get moved up someplace – although I can certainly use gftp, I prefer to use ssh, both of which are installed and working.
- I like to run emulators or all sorts: all different era Ataris, Sega, Nintendo, Arcade (Mame), so I need to set these up
- A game I like to play (Armagetron) and an awesome astronomy program I refer to all the time (Stellarium) both require functional 3D acceleration capable video card and OpenGL to give any kind of decent performance. Luckily, I was able to get that working fairly easily by installing the port in
/usr/ports/graphics/dri - I record music – I like to use Garageband on the Mac, but have used Audacity (hence the massive compile I’m running) so that’s an important app to get running. I need to burn that music onto CD – I have used K3b in the past, but I have a wrinkle: I recently purchased a lightscribe drive which has been great to work with (it burns an image right onto the disc), I’ll have to investigate if there is any kind of driver I can use for that. I doubt it. Update Nov 21: The Thinkpad mic input is just that – unlike the Powerbook’s stereo audio input, the Thinkpad has a mono mic input which is useless to me for the recordings I do. To be able to use this machine for recording, I’d probably have to get something that could plug in through USB. The USB on this machine is 1.1 though – pitifully slow compared to the USB2 on the powerbook, so it’s unlikely that would work well. Also, I forgot about it, but the THinkpad doesn’t have a firewire input either, which means any connection to my DVD writer or firewire hard drive would be through that lame ass USB port as well. Not good.
- I connect to work to terminal services frequently – that’s all set up an working fine using rdesktop
- I write documents for work / home so I need to use a word processor – I am not anal about having to have Word. Frankly, I think Word is over-rated and mostly bloatware. I *do* use the mail merge feature of Word a great deal, so I will need to address that in the free software world somehow. Creating labels from a dataset seems like one of the most basic things any business user needs to be able to do, but it’s apparent the open-source developers don’t have to get their hands dirty with that stuff too often since my experiences attempting this relatively simple procedure with OpenOffice over the years have met with a lot of frustration. Word’s mail merge works flawlessly from various data sources. So, this leaves the default KDE Office apps that I have never used, OpenOffice which is a bit bloated, or something smaller like AbiWord. Let’s not forget Google Docs is now the most cross platform app you can get, and requires no installation, but for offline work you need an app. I’m usually happy to just use vi, but sometimes you want to do a little WYSIWYG formatting and desktop publishing crap.
- I do analysis on sets of data where I need to be able to sort, add, do mathematical functions, and graph results. The spreadsheet always was the bane of open source since Excel is the killer app – Depending on the choices made in the step above, I may have this taken care of, or I may need to choose an app specific to this type of task, so I’ll have to report back after checking out some of the more recent offerings.
- I read newgroups (the Knode newsreader is already set up and working well)
- I use IRC to chat with folks in the LILUG or on freenode about various open source projects that I follow (I expect to take care of this with Xchat as I have done in the past on Linux, but haven’t compiled it yet on FreeBSD)
- I need to be able to plug in my flash key and transfer files – this wasn’t as elegant as on Mac or Windows, but it worked, which is something.
mount -t msdos /dev/da0s1 /mnt/usbMy Microsoft 3-button USB mouse plugged in, was recognized and worked fine right off except for the wheelie button which required a tweak to the Xorg.conf file.
- I use iCal on the Mac to keep a calendar (which I post to my website for access at work), so I need to investigate either running a real shared calendar on my website which I can access and update from everywhere, or a substitute for iCal in FreeBSD. I have peeked at KOrganizer, but haven’t done any serious investigation.
random fact: Did you know that the Thinkpad is the official laptop of the Space Shuttle and the International Space Station (on which there are currently 7 serving)?

Comment posted on 11-18-2006
I’m dying to try PCBSD now, given the PBI system it offers. Based on FreeBSD, PCBSD is like the Ubuntu version of Debian, designed to be approachable and easier to install stuff. PBI is a system that seems like it should have been implemented a long time ago, taking the awesome FreeBSD ports system used to install new software and bundling all the libraries a specific package needs with the package so you don’t end up in ‘dependancy hell’ and unable to install some new package you want because another already installed program is dependant on the libraries you need to upgrade for the new one. though it also seems like it will inevitably create a bunch of duplicated files on your disc.
Comment posted on 3-1-2007
[...] the computer, listen up. I’ve tried a ton of music player apps over the years, and while my most recent favorite to date is Amarok, I can’t run it (without a lot of work in fink) on the Mac yet. [...]
Comment posted on 3-3-2007
This machine was wiped, and I installed DSL (Damn Small Linux) which I’ve been playing with lately. It’s really fast on this machine!
Comment posted on 3-27-2007
This machine was wiped again and now runs Debian. There have been LOTS of liveCDs inbetween, including Morphix, BoothCD, Knoppix, DSL, and Xebian. Personally, Debian’s problem with using Mozilla because of the copyright jazz on using their logos is just plain stupid. I an do almost everything I want on a computer now with Firefox and to have distro without FF2 is a big pain.
Comment posted on 5-6-2008
[...] taken this machine home before and put FreeBSD on it (I had never played with that OS and it offered a good excuse). A Pentium 4 [...]