Saturday, July 25, 2009

The Ongoing "CentOS 5.3 On A Netbook" Saga

Last week I wrote a feature for DistroWatch Weekly on the trials and tribulations of installing CentOS 5.3 on my Sylvania g Netbook Meso. I was very pleased when Dag Wieërs, a CentOS developer and long time packager and maintainer of an excellent repository of additional packages for Red Hat Enterprise Linux, posted in the comments section with some useful suggestions and a request that I document how to get the netbook completely functional in the CentOS wiki. That's a project I'll take on when I have everything working to my satisfaction. In the meanwhile I thought it might be useful to report my progress here. That's the kind of thing blogs are for, right?

Anyway, following Dag's suggestion I ripped out the wireless driver I compiled from source and tried to use what CentOS provides. As before that simply didn't work. Then I installed the rt73usb-firmware package from ELRepo. This worked after a fashion. CentOS did recognize my wireless card and, three passwords later (for the keyring and twice for my own WPA2 protected network) I actually was able to connect. I did have one instance since yesterday when NetworkManager locked up, something I used to see in Ubuntu all the time. That, plus the relatively slow performance and all the GNOME dependencies are just a few of the reasons why I tend to truly hate NetworkManager. Unfortunately nobody has a wicd package for CentOS. If I stick with CentOS I will definitely have to package wicd and write a how-to documenting replacing NetworkManager with it.

I also followed Dag's suggestion for installing the kmod-video4linux package from ELRepo in the hope that it may contain drivers for my webcam. No distro supports the webcam out of the box so far as I can tell. Only the factory preinstalled Ubuntu Netbook Remix 8.04 worked without significant effort. Testing with the video conferencing software is a royal pain and possibly not a fair test so I decided to install either wxcam or cheese or both. Guess what? None of the CentOS repos have packages for those either. Grrr!

I did install Xfce 4.4.2 from the CentOS Extras repository and, as expected, it's a bit faster and less resource intensive than GNOME. I'd have liked a somewhat newer version but I'm happy with the results.

I also received an e-mail from Radu-Cristian Fotescu, who writes the Planète Béranger blog, asking me to test his recently rebuilt Odiecolon repository for RHEL/CentOS 5. He has some more up-to-date multimedia packages than other repos so I decided to give it a go. His repo is also known to conflict with the much larger and definitely necessary RPMForge repository. In order to avoid "rpm hell" I am trying to keep things in order with yum priorities. So far it's doing a good job of excluding conflicting packages.

If all this sounds overly complex, well... it is. Back when I wrote my somewhat controversial review of Slackware 12.1 one of the things I complained about was the dependency on third party repositories of variable quality. RHEL/CentOS as a desktop distribution definitely suffers from the same shortcoming. Getting all the repos to play nicely together, even with yum-priorities, appears to be an arcane art. Only time will tell whether or not I've mastered it. I will also need to compile a bunch of apps from source and will probably end up building and contributing significant numbers of packages if I intend to stick with CentOS.

I should also add the performance is still nowhere near as good as my favorite desktop distro, VectorLinux or even as good as Ubuntu Netbook Remix. With further tweaking and streamlining I'm fairly certain I can improve things enough to be reasonably happy.

If it weren't for the fact that Red Hat Enterprise Linux is the absolutely dominant business distribution I honestly wouldn't bother with all of this. The main reason for the effort is to be able to use the netbook for business related demonstrations and to have a fairly uniform operating environment for my systems. Check back for further progress reports.