Monday, March 06, 2006

stupid shit I had to do to get Linux working

I decided to try to put Linux on my old laptop to see if it had progressed beyond the useless mess it was several years ago when I first tried it. In theory, open source software (OSS) is a wonderful idea; in practice, Linux is just to much of a hassle for a workhorse computer; stuff just doesn't work out of the box. The hardware is an old Delll 4100 Inspiron 1GHz laptop with 1GB of RAM. I chose to try Gentoo Linux because of its minimalist approach; when I tried RedHat Linux many moons ago, it installed a bunch of garbage that I had no idea what it did. I figured that a minimalist "emerge only what you need" approach might be informative. Below is a partial list of the things I had to struggle with:

1. Gentoo portage giving the message "xx config files in /etc need to be updated". Running "etc-update" nuked the KDE setup of my first install into oblivion.

2. Multiple recompiles of the kernel to get support of my hardware just right.

3. Getting the X-server to recognize my Synaptics touchpad. I had to add the module "evdev" to /etc/modules.autoload.d/kernel-2.6 to get the damn evdev driver (whatever *that* is) to load during boot, else the X server would crash back into kdm whenever I tried to login. Also, I had to hand edit /etc/X11/xorg.conf to set Device "Touchpad" as "CorePointer" (in other words, the "main mouse") to get it to work.

4. Wheel mice are not enabled by default. Had to hand edit /etc/X11/xorg.conf to contain the line "ZAxisMapping" "4 5" Under Section "Input Device" to get wheel mouse functionality. This is probably the most unforgivable mistake. Wheel mice are so ubiquitous that it is almost standard hardware.

5. Getting a Centrino wireless card to work was sheer hell. The HOWTO guide on wiki.gentoo.com was completely wrong. wpa_supplicant has nothing to do with it. I noticed that /etc/init.d/net.eth0 (the init script that brings up the eth0 interface, which is the internal network card) is symlinked to a script /etc/init.d/net.lo. I have no idea what this script does. I symlinked net.eth1 to this script, did "rc-update add net.eth1 default", and lo and behold, wireless networking worked (well, I also had to futz with other config files as well).

6. KDE system sounds worked for awhile, then something happened that made them FUBAR. Finally, an article somewhere suggested that I give up on the internal KDE sound system to play system notification sounds; there is an option to use an external player, which I did. Now it works, although this really feels like a half-assed solution.

7. Getting font smoothing in the X server was a major pain. Had to recompile X and a whole crapload of font packages. It still doesn't look as visually pleasing as MS ClearType.

All that said, it's fun to play around with Linux. You do get a better feel for what your machine is doing. And I do like the idea of only installing software that you will use, instead of having the OS vendor decide what needs to go on your system. No Emacs or Vi for me; nano all the way, baby!

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home