- By Matt Butcher -
I first ran across Gentoo Linux when an errant click on a "search results" page led me to Gentoo's site. Reading the FAQ, I learned that Gentoo (named after a small, fast species of Penguin) is about to release version 1.0 of a Linux distribution based on the idea that everything should be built fresh from the source.
After skimming the documents, I left the page and went back to my work, unimpressed. In fact, I was puzzling over why anyone would use a distribution that requires the user to start the installation by compiling new compilers. But over the next few days I couldn't help but question myself: Was I, a competent Linux user and software developer, afraid of trying my hand at building a desktop system from scratch? Within a week, my rationality caved to my pride, and I found myself downloading the 16-meg ISO image and burning it onto a CD.
I popped it into my Athlon and hit the power switch. The machine booted, and I found myself staring blankly at the ISOLINUX banner and a boot prompt. Afraid to start off on the wrong foot, I just stared at it, thinking that perhaps it was loading something or probing my hardware. But nothing happened. The cursor just blinked. At that moment, it occurred to me that Gentoo Linux should come with a bright red sticker that says in large letters "WARNING: Installing Gentoo Linux is not for the faint of heart!"
Remembering that the Web site had an online installation manual, I brought out the laptop and punched in the URL. Once I had the manual in front of me, my anxieties eased. Following the instructions, I hit enter at the boot prompt, and things continued on. I set about modprobe'ing drivers and configuring the network, as the manual indicated. Once I had the network enabled, I ran rsync and updated the packages on the system, giving me the most up-to-date code.
It took me a few minutes, but I settled comfortably into the realization that this installation was not a flashy, polished GUI installer a la Mandrake, but a user-driven command-line interface more akin to "Linux from scratch." It didn't take any graphics or fancy UI to convince me, though, that this was a very powerful package.
The installation manual provided concise step-by-step instructions that got me through partitioning the disk, creating the file system, unpacking a build system, and building the compilers and core libraries. During this process, the settings and flags were optimized to my system (MY system!), so everything from GCC to KDE was compiled to take advantage of my Athlon architecture. The Gentoo Portage package management did all the grunt work of resolving dependencies and handling "config" and "make" scripts. For each package, Portage downloaded the newest version from the appropriate Web site, built it from source, and installed it.
Between these installations (sometimes lasting six or seven hours), I edited configuration files, tweaked scripts, and changed settings to meet my preferences. Some things weren't configured to my liking at first, but a few tweaks and rebuilds fixed that. I compiled the kernel at least six times until it was just perfect. There were a few instances where the instructions for Gentoo configuration differed from reality, especially in regard to installing KDE, but Gentoo's mailing list archive answered most of my questions.
The experience of installing Gentoo was, to be trite, empowering. I experienced no small amount of pride when I booted the system and everything from GRUB to Mozilla was tailored to my specifications. Having control over the build environment (specifically through USE variables), I had compiled into my distribution only what I knew I wanted. I didn't have to pop in a three CD set of binaries and install hundreds of packages that I didn't need just to get the few dozen that I wanted. Binaries ran faster, because they were compiled for my processor instead of the generic i386 (or i586). The desktop was uncluttered and the menus organized the way I like them (with only the applications I use). For the first time, I really felt like I had taken advantage of the availability of the source code. It wasn't an easy process, nor was it quick, but I had crafted for myself a system that came pretty close to my ideal, and I was proud of that.
The process to get from that ISOLINUX banner to a stable system with KDE took me about four days, much of which was spent waiting while packages downloaded and compiled. In the end, though, I had a shiny new installation optimized to my system and running smoothly. It was hard. It took a long time. But in the end, it was well worth it. In fact, the next time I find myself with four or five days with nothing to do, I'll probably install it on my laptop. But first I'll print out the installation manual.
Matt Butcher is a systems integrator and software developer for Aleph-Null, Inc. While he's waiting for things to compile, he reads T. S. Eliot to his newborn daughter, Anna.