Tuesday, January 20, 2009

Gentoo 2008.0 - Desktop Review

I used Gentoo sometime back in 2005. I really liked the concept behind Gentoo. That is, being able to compile software for the specific processor it will run on. Each new CPU type adds new functionality. Unfortunately, in order to maintain the most compatibility, most operating systems and software do not take full advantage of newer CPU's, as they're built to the least common denominator - the Intel 386 processor.

Considering that the i386 architecture is, as of this writing, about 24 years old, as noted in the Wikipedia, it's safe to assume it's rather outdated. Yes, you'll get to enjoy 3,000+ megahertz of power with a new CPU (as compared to the 16 megahertz the 386 ran at). But there's new instruction sets present on current chips that didn't exist in 1985. That functionality is underused.

Gentoo allows you to exploit every ounce of power your CPU can give you. The drawback is you have to compile the system yourself. That sounds very tedious, and something that wouldn't interest most people. However, Gentoo has a mechanism to download source code, compile it, and install as easily as installing software on any other Linux distribution.

Source-based distributions are not for the faint of heart. I would advise someone new to Linux or UNIX to avoid source based distros. Unless you use CPU intensive apps, or you're up for a challenge, I'd look elsewhere. Even with *nix experience, Gentoo can be a bit of a challenge. I found it more tedious than anything. My first round with Gentoo occurred before I even had a distro chosen for my desktop. Although I did have 5 years of administering 2 HP-UX boxes, part-time, under my belt.

Gentoo Basics

Gentoo is a rolling update distribution. This means there are no versions. Updates to packages are pushed to the online repository, which can be downloaded and compiled at any time. Once enough changes have been made, a new ISO image is generated. In theory, one could install a system with a 5 year old CD, update the system, and you'll have the same system as installing from last year's CD and doing the same updates. The only differences would be anything related to the installer.

Even though Gentoo is a source-based distro, you do have the option of installing pre-compiled binaries. However, after going through the steps to install Gentoo, I'm not sure why someone would not want to compile for their CPU.

Booting

Let's get started! I used the install-x86-minimal-2008.0.iso CD image to do the install. I fired up the computer and was greeted by an extremely plain looking screen. Here, I could list different kernels to boot, among other options. I'll just press enter and let it boot. Note: If ever you have to enter kernel parameters, this is where you do it.

Installation

At this point one would be scratching their head. Your computer boots up into a text console. There's no installer that you can find. In fact, one doesn't exist. How are you supposed to install Gentoo? The answer is . . . brace yourself . . . . MANUALLY! Well, not completely manually. Many things have been done for you already (from the perspective of building a system from scratch, not that it's going to make you feel any better).

There's no way for you to install Gentoo with the guide. So here it is. The documentation is pretty good, considering what you'll be doing. And the Gentoo forums are by far the best I've seen, so feel free to ask for help there. So here's the short list as to what you'll be doing:

  1. Test that the network is functioning (vital for the "minimal install cd" I've chosen to use)
  2. Partition and format your disk
  3. Mount your partitions
  4. Download and unpack the "stage3 tarball"
  5. Download and unpack Portage
  6. Chroot into your new system
  7. Update portage
  8. Configure timezone, and build options
  9. Install kernel sources and other software
  10. Build your kernel from scratch (much easier than it sounds)
  11. Install a boot loader
  12. Reboot your new Gentoo system
  13. Install graphical interface and software (This is the time consuming part)

So, I had some problems compiling the kernel. But, I'm running Gentoo inside of VMWare server 1.05 (old, I know). Probably just some driver I didn't select in the kernel tree. Luckily, I also created a kernel with Genkernel. That worked perfectly, and I'm greeted with a login prompt.

Working Install

This is extremely bare bones. So, we'll need to install some software in order to really review anything (for a desktop review, that is). I'm going to install KDE.

For what it's worth, here's my USE= line of my make.conf file

/etc/make.conf


USE="-gtk -gnome qt3 qt4 kde dvd alsa cdr opengl X"


Let's go with the full-blown KDE desktop. The package kde-meta is what I'm going to install. There's also the kdebase-startkde (minimal) and kdebase-meta (somewhere in between).

emerge -p kde-meta | less reveals that there's around 380 packages to install. I'm under no delusion. This is going to take hours. I'm running Gentoo inside of VMware 1.05, giving Gentoo 512 megs of RAM (I'd give it more RAM, but this is a server in production). The host system is a P4 3.0 GHz HT box (that's configured as 2 - 1.5 GHz CPU's, not 1 3 GHz), with 3 Gigs of RAM, and 3 Gigs of swap. Only 16% of the memory is in use by programs, and 77% is in use by cache. Only 168 Megs of swap is being used. Load average varies from .88 - 1.15. ie, this server has virtually no load.

time ( emerge kde-meta xorg-xserver-x11 xf86-input-mouse ) will let us see how long this will take. Since I may be sleeping when this finishes, I'd like to know how long it took so I can let you know. OK, it's off to the races.

Sysload on the host box is fluctuating between 3 and 5. CPU is up to 50% (maxing out one core). Memory hasn't really changed. Time to do something other than watch this thing download, compile, install, repeat 379 times. Especially when it's Xorg andKDE!

It's finished. Here's the time output:

  • real - 1856m
  • user - 787m
  • sys 1022m

That's about 31 hours to a KDE desktop. Granted, I did have a few things going on the server, so real time on bare metal might be a little faster. Let's take a look at what a day of compiling gets us.

Internet SoftwareFirefox is not installed by default. Makes sense, as it's certainly not part of KDE. Konqueror is installed, and serves not only as a file browser, but also as a web browser. I suppose that fills the full time browser. We'll want to add Firefox. And the Adobe Flash player
Home OfficeSame. Need to add Openoffice.orgMusicSame. Need to add Amarok and codecs

Photos

Same. Need to add Gimp, anddigiKam

Video

Same. Need to add Kaffeine, KMplayer or Mplayer, and codecs need to be installed too.Update

Our System

Surprise! We're already up to date, since we downloaded and compiled all current packages.


What to Add

So, here's my bullet list of programs that need to be added to bring Gentoo up to my personal standards. As always, your ideas may vary.
  • Firefox - Web Browser (mozilla-firefox)
  • Thunderbird - Email Reader (mozilla-thunderbird)
  • OpenOffice- Office suite (openoffice)
  • Amarok- Music Player (amarok)
  • Gimp - Photo Editing (gimp)
  • digiKam- Photo Library (digikam)
  • Kaffeine - Video Player - (kaffeine)
  • Scribus- Desktop publishing (scribus)
  • KMyMoney2 or Gnucash- Personal finance management (kmymoney2 or gnucash)
  • Additional video codecs (win32codecs)
So, I'll time ( emerge mozilla-firefox mozilla-thunderbird openoffice gimp digikam amarok kaffeine scribus kmymoney2 win32codecs) to install the goodies I want. And it took another 6 hours.

Final Review

This is going to be simple review.

Gentoo is bad if you're just a casual user looking for a Linux desktop to use, have little knowledge (or desire) to learn a few command line tools, and don't have a fair understanding of computer hardware.

Gentoo is great if you're looking for speed, or a flexible package manager. It'll take some time to tweak things. But when things are tweaked and optimized, Gentoo will rock.

Seems I need to carve out a little free time to write a Gentoo How-To.

-- Doctor Rockhopper

No comments: