|
|
Log in / Subscribe / Register

Distributions

Gentoo Linux on AMD64

December 17, 2004

This article was contributed by Ladislav Bodnar

After having installed (been sufficiently impressed by) the AMD64 ports of both Debian Sid and Fedora Core 3 (see Debian on AMD64 and Fedora Core 3 on AMD64), we expected the same from our third victim - Gentoo Linux. Not only is Gentoo a distribution designed to be compiled locally and optimized for the system it is being installed on, Gentoo's AMD64 port has had plenty of time to mature - version 2004.3 was, in fact, the distribution's third stable release for this architecture. And although the road to a complete AMD64 Gentoo system had a lot more potholes than its Debian or Fedora counterparts, further intercepted by frequent side trips to the Gentoo forums and mailing lists, the end result was equally good - a powerful and incredibly fast high-end workstation.

But let's start from the beginning. We installed the latest version of Gentoo on a system with the following specifications: AMD64 3500+ processor (2.2GHz), K8N Neo2 (Socket939) mainboard from Micro-Star International, 2 GB of DDR SDRAM, 2 x 120 GB Maxtor hard disks, Plextor PX-712A DVD/CD Rewritable Drive, and NVIDIA GeForce4 Ti 4600 graphics card. Those who are following the series might have noticed that the we have doubled the amount of RAM since the last time - that's because we noticed that even with 1 GB of RAM, the system was still making use of the swap partition, especially when compiling Gentoo packages in the background, while running a KDE desktop, several KDE and GNOME applications, and a web server.

We launched the Gentoo installation program from a 52.3 MB minimal live CD (version 2004.3-r1) and followed the instructions in the Gentoo Handbook. If you haven't installed any recent Gentoo release, you should know that, despite some talk about automating parts of the Gentoo installer, the installation is still as manual (read "tedious") as ever. This is of course due to Gentoo's policy of making sure that users installing the distribution learn the basics of a Linux-based operating system early, rather than flood the mailing lists and forums with elementary questions later. While this attitude is understandable, even commendable, those of us who frequently install various distributions for testing purposes or for large-scale deployment would certainly welcome a more automated installation procedure.

We decided to perform a full installation from "stage1". This would seem like a waste of time and effort on a AMD64 system - on traditional x86 architectures we could further optimize the build process to target our chip, whether that be a Pentium 4, an Athlon XP, or even a 486, but what do we optimize for on an AMD64 system? The Gentoo installation handbook doesn't deal with this issue either, but based on the information found in the GCC manual we decided to set CHOST to "x86_64-pc-linux-gnu" and CFLAGS to "-march=k8 -O2". We also defined some USE variables to indicate what type of system we are building before configuring the kernel and starting the long compilation process.

Unfortunately, things didn't go all that well. While the base system compiled and installed without a hitch, we ran into problems when trying to compile ttmkfdir (a utility to create a fonts.scale file from a set of TrueType fonts) xterm and ncurses. These were relatively easy to solve compared to a later problem with ScrollKeeper - for some reason all ScrollKeeper executable files had been pre-fixed with a name of the architecture, so other applications trying to execute "scrollkeeper" were unable to find it. A trip to Gentoo forums revealed that several other users had suffered from the same issue, until a helpful soul came along and offered a workable solution: unmask and upgrade gcc-config, then remove the CTARGET line from /etc/env.d/05gcc (despite a stern warning not to touch the file!).

The above is just an example of some of the potential setbacks facing users who attempt to compile hundreds of packages on Gentoo Linux. Since the version of Gentoo we attempted to install was a stable release (as opposed to a beta or development release), we expected things to go smoothly, but it wasn't the case. One of the solutions that we learned early to solve a compilation problem was to "unmask" a package (by placing its name in the /etc/portage/package.keywords file) and attempt to run emerge again. This often worked - for example, we weren't able to compile the "stable" mozilla-1.7.3 ebuild, but once we unmasked it, the emerge command went on to fetch and compile successfully a "testing" mozilla-1.7.3-r3 ebuild. On a positive note, we had no problems emerging KDE, and once we solved the Scrollkeeper and Mozilla issues, the remainder of the GNOME packages also compiled fine.

For those who are wondering about the speed of compiling applications on this AMD64 system, here is an indication of the processor's power: emerging the xorg-x11 package (in its default configuration) took about 25 minutes. In contrast, emerging the same package on a 1.4 GHz Pentium 4 system took about 40 minutes.

Mixing 32-bit and 64-bit applications on a Gentoo installation is achieved in a similar fashion as on Debian. The relevant libraries are stored in separate directories - /lib64 is a symbolic link to /lib and /lib32 is a symbolic link to /emul/linux/x86/lib. OpenOffice.org is only available in a 32-bit binary format and so are Opera, Flash Player, Acrobat Reader, and other binary-only applications. One nice thing about Gentoo (compared to Fedora Core) is that most of these applications are available from within the portage infrastructure (e.g. a simple "emerge corefonts" downloads and installs Microsoft TrueType fonts, "emerge nvidia-kernel" downloads and installs the NVIDIA binary driver), so there is no need to configure a third-party repository to be able to take advantage of some of the popular, but non-free software.

Despite some bugs in the installation setup and the necessity to peruse Gentoo's community resources to solve several problems, the overall experience of installing and using Gentoo Linux on the AMD64 system wasn't overly negative. Sure, we cursed profusely every time the compile process came to a sudden halt with a loud error message, but luckily, none of the problems were showstoppers. Thanks to them, we had the opportunity to appreciate the quality of Gentoo's documentation and the helpfulness of users on the distribution's forums. When all was said and done, we ended up with a a complete, fast and powerful graphical workstation, just as we did with Debian or Fedora. And while the effort required to achieve that goal was far greater than with the other two distributions, there is little doubt that Gentoo Linux is an elegant operating system with powerful package management and truly superb documentation.

Comments (3 posted)

Distribution News

NetBSD 2.0 released

NetBSD 2.0 is out. The list of improvements in this release is quite large; see the announcement for the details.

Comments (21 posted)

Debian

The Debian Release-critical Bugreport for December 10 and the December 10 Work-needing packages report are available.

Comments (none posted)

Fedora Core 3 for PowerPC platforms

A version of Fedora Core 3 for the PowerPC platform has been released for testing. Click below for details, open issues with this release, and mailing list information.

Full Story (comments: none)

Fedora Core

Fedora Core 3 updates: libpng10 (latest version), libpng (latest version), glib2 (bug fixes), gtk2 (bug fixes), postgresql-odbc (64 bit fixes), shadow-utils (bug fixes), MyODBC (locale setting bug fix), grep (UTF-8 performance improvement), gstreamer (multilib support), mikmod (packaging change)

Fedora Core 2 updates: libpng (bug fixes), libpng10 (latest version), glib2 (bug fixes), gtk2 (bug fixes), postgresql-odbc (64 bit fixes), postgresql (synchronize with FC3), shadow-utils (bug fixes), MyODBC (locale setting bug fix)

Comments (none posted)

Unofficial Fedora FAQ Updated

An update of the Unofficial Fedora FAQ dated December 13, 2004 is available. Changes include several new translations, and various topic improvements.

Full Story (comments: none)

Mandrakelinux

Mandrakelinux updates: evolution (bug fixes), mdkonline (bug fixes and windowless capability), libpng (invalid zlib header problem).

Comments (none posted)

Trustix Secure Linux

Trustix Secure Linux updates: multiple packages.

Comments (none posted)

The Ubuntu 4.10 starter guide

Chua Wen Kiat has put together an unofficial starter guide for the Ubuntu "warty" release. It is a wide-ranging document in the FAQ style which may become a required bookmark for anybody working with the Ubuntu distribution.

Comments (none posted)

What's the Ubuntu community up to?

The Ubuntu distribution has announced a new community work page. "Please update this page with projects/initiatives that you have/are undertaking, so everyone can read what's happening all over the world in sharing Ubuntu."

Full Story (comments: none)

Distribution Newsletters

Gentoo Weekly Newsletter

The December 13 issue of the Gentoo Weekly Newsletter is out; this week's issue looks at the new Chinese forum, virtualization techniques, and more.

Full Story (comments: none)

Distribution reviews

Product Reviews: BeatrIX GNU/Linux (LinuxTimes)

LinuxTimes.Net reviews BeatrIX GNU/Linux, an Ubuntu/Knoppix-based live CD distribution. "BeatrIX is a functional, easy to use and easy to set up desktop system for the average user. Power users will find the lack of utilities in the default install annoying, but it may be worth the trade for a more custom environment and a smaller download."

Comments (1 posted)

My workstation OS: Slackware (NewsForge)

Michael Stibane reviews Slackware 10 in a NewsForge article. "Working as a freelance Linux trainer and writer for a few German Linux magazines, I have to test a lot of software. If it's bleeding edge and packaged as RPM or DEB it usually causes major problems when I install the software on Debian or RPM-based distros. It's a pain to bring Debian package management back to a normal state once it's out of sync after a dpkg -i --force-things command. By contrast, there is nothing like Slackware's tgz packaging without dependency checks (except compiling from source). Install the package, run it from a terminal, and see which libraries are not found. Install those too and usually everything is fine. Slackware also takes RPM packages without questions if you supply the --nodeps switch."

Comments (2 posted)

Page editor: Forrest Cook
Next page: Development>>


Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds