Gentoo Linux on Dell 8200 (Kernel 2.6.9)

Click here for the old site with kernel 2.4.20 (not maintained)

Check the Home page for updates and changes.

Here's some tips on using some of my favorite software.

ACPI - Advanced Configuration and Power Interface

Apache - The Web Server

APM - Advanced Power Management

Audacity - Audio Editor

CUPS - Common Unix Printing System

Firebird - Mozilla Browser

GRUB - Grand Unified Bootloader

K3b - KDE CD Burning Software

KDE - Desktop Environment Plus

KDE PIM and KPilot - KDE Personal Information Management Suite

KMix - Sound Mixer

KRecord - Sound Recorder

OpenOffice.org - The Office Suite for Linux

RipperX - CD Ripping Made Easy

Samba - Windows Networking

udev - User-Space Device File System

XFree86 - X Window Server

Other Configuration Files

ACPI

I'm now using ACPI instead of APM. Here's how I did it:

1. I complied everything ACPI as modules.

2. I added the modules to my kernel-2.6 file in the /etc/modules.autoload.d/ directory.

3. I emerged acpid and added it to my boot level startup with:

rc-update add acpid boot

Everything seems to work; however, I haven't yet started fooling around with suspend. I'm waiting for XFree86 version 4.4 and KDE version 3.2 to stabilize, and I'm also waiting for the Software Suspend developers to get a stable version out for kernel 2.6.

Return to top

Apache

Apache is the most popular web server on the planet. Here's how I set it up to test web sites on my laptop.

1. Emerged Apache and the PHP modules packages.

emerge apache mod_php

2. Edited /etc/conf.d/apache2.

APACHE2_OPTS="-D SSL -D PHP4"

3. Edited /etc/apache2/config/apache2.conf so that the top few lines look like this.

ServerRoot /etc/apache2
ServerName localhost
PidFile /var/run/apache2.pid
ErrorLog logs/error_log
LogLevel warn
DocumentRoot /var/www/localhost/htdocs

4. Created the file /var/www/localhost/htdocs/phpinfo.php with only one line.

phpinfo();

5. Restarted the Apache server.

/etc/init.d/apache2 restart

6. Tested PHP support by loading the file I created in step 4. A nicely formated color page should appear detailing all of the PHP settings.

7. All of my websites exist in individual directories in a directory entitled websites on a FAT32 partition so I can test them using that other operating system. I had to create some links so Apache can find them.

cd /var/www/localhost/htdocs
ln -s /mnt/path/to/websites/* .

8. Next I edited my /etc/hosts file and linked my web site directory names to 127.0.0.1 with a .loc suffix so that Apache can find the local test sites and the browser won't confuse them with the live versions. Here's two examples.

127.0.0.1       localhost       dell2000
127.0.0.1       linux.siprell.com.loc
127.0.0.1       siprell.com.loc

9. Next I edited my /etc/apache2/config/vhosts/vhosts.conf file so that the virtual hosts match up to the soft links in the DocumentRoot directory and the new entries in /etc/hosts. Here's the necessary lines for the two examples above.

NameVirtualHost localhost

<VirtualHost localhost>
ServerName localhost
DocumentRoot /var/www/localhost/htdocs
</VirtualHost>

<VirtualHost localhost>
ServerName linux.siprell.com.loc
DocumentRoot /var/www/localhost/htdocs/linux.siprell.com
</VirtualHost>

<VirtualHost localhost>
ServerName siprell.com.loc
DocumentRoot /var/www/localhost/htdocs/siprell.com
</VirtualHost>

10. Tested the setup by restarting Apache and then typing the following in the browser's address field.

linux.siprell.com.loc
Return to top

APM

I used apmd with its standard configuration with kernel 2.4.20. Battery management and suspend worked flawlessly.

Return to top

Audacity

Audacity is a great, easy to use, yet extremely powerful audio editor.

I had to disable aRTs, the KDE sound server, in order to get non-KDE audio applications to work. Here's how:

KDE Control Center ->> Sound & Multimedia ->> Sound System

Click the aRTs tab and uncheck the box labeled Start aRTs soundserver on KDE startup. I haven't missed it.

Return to top

CUPS

CUPS is like grub in that it's a bit more difficult to set up, but the extra work is worth it.

I recommend using the Gentoo Printing Guide as a how-to. Foomatic has gotten easier to use now that you can grep the printer and driver databases for names, i.e. Epson Stylus Color, instead of numbers.

Return to top

Firebird

Firebird is the new name for Phoenix, a mozilla browser without the fluff. I use it on both Linux and Windows.

I wrote this script to copy my bookmark file back and forth. Note that the script copies the file to a FAT32 partition. A far as I know writing to NTFS partitions is still experimental and dangerous. Just run MozillaFirebird.exe -p from a DOS command line to set up your default user.

Return to top

GRUB

I prefer using GNU GRUB to lilo, although learning to use grub is a bit more difficult in the beginning. However, once it's configured and running properly, you can forget about. It's maintenance free.

I installed and configured grub using the Gentoo Configure a Bootloader How-to. Here's my grub.conf. Note that hd0 represents /dev/hda and (hd0,0) represents /dev/hda1.

Note also that I can now boot with either udev or devfs:

title Gentoo Linux (UDEV)
root (hd0,0)
kernel (hd0,0)/bzImage-2.6.5 root=/dev/hda3 vga=791 gentoo=nodevfs

title Gentoo Linux (DEVFS)
root (hd0,0)
kernel (hd0,0)/bzImage-2.6.5 root=/dev/hda3 vga=791 gentoo=noudev
Return to top

K3b

I tested several X programs for burning CDs, and k3b was by far the most intuitive and easiest to learn. I used cdrecord to test my burner, but I decided to use K3b for everything because it's so easy.

The only problem was with the setup. Here's how to set the proper cdrdao driver:

1. Select the menu Settings and then Configure K3b...

2. Click on the Devices icon.

3. Read down the listing under Writer until you see Cdrdao driver:. The text to the right is actually a drop-down box.

4. Click on the text (box) and select generic-mmc.

5. Start burning!

Return to top

KDE

I must admit that I had been using Gnome for a couple of years before buying this computer. However, I decided to give KDE another try along with my first Gentoo installation. I'll never go back.

The /usr/kde/3.1/bin/startkde script began locking up my computer whenever I tried to log out of a KDE seesion using the Logout "user" menu entry. However, I haven't had this problem with kernel 2.6.4 or greater.

I'd always suspected that the problem above was related to the following error message in dmesg and /var/log/XFree86.0.log:

mtrr: 0xe0000000,0x4000000 overlaps existing 0xe0000000,0x1000000

Research turned up this useful thread Google Groups: View Thread "Overlapping MTRRs in 2.6.1" with the key at the bottom.

Here's the improtant symptom:

# cat /proc/mtrr
reg00: base=0x00000000 (   0MB), size= 512MB: write-back, count=1
reg01: base=0xfeda0000 (4077MB), size= 128KB: write-combining, count=1
reg02: base=0xe0000000 (3584MB), size=  16MB: write-combining, count=1

After applying the fix:

# cat /proc/mtrr
reg00: base=0x00000000 (   0MB), size= 512MB: write-back, count=1
reg01: base=0xfeda0000 (4077MB), size= 128KB: write-combining, count=1
reg02: base=0xe0000000 (3584MB), size=  64MB: write-combining, count=2
reg03: base=0xe8000000 (3712MB), size=  64MB: write-combining, count=1

I solved the problem so that now I can log out of KDE with DRI enabled by adding the following line line to /etc/init.d/xdm in the setup_dm() section:

echo "disable=02" > /proc/mtrr
Return to top

KDE PIM and KPilot

KDE - PIM is a software suite made up of several programs. I use KMail, KAddressbook, and KOrganizer regularly. I also use KPilot for syncing my handheld, although I don't use KNotes and its conduit. I remember a few years ago when it took hours, if not days, to get my old PalmPilot to sync with anything.

Nowadays it's much easier. J-Pilot and pilot-link worked pretty much out of the box, although syncing over infrared required a little work.

Make sure libmal is emerged before kdepim, or else you won't be able to sync with AvantGo.

Return to top

KMix

I use KMix to control my sound card. However, sometimes the main window wouldn't close after KDE started.

After trying several different solutions I found on the Internet, I invented my own. I added the following lines to my KDE startup script.

sleep 8
dcop kmix kmix-mainwindow#1 hide

It took me several starts to arrive at the 8-second sleep variable, but it works great for me. Of course, you might have to adjust yours.

Return to top

KRecord

KRecord works great for simple recording to .wav files.

I had to disable aRTs, the KDE sound server, in order to get non-KDE audio applications to work. Here's how:

KDE Control Center -> Sound & Multimedia -> Sound System

Click the aRTs tab and uncheck the box labeled Start aRTs soundserver on KDE startup. I haven't missed it.

Return to top

OpenOffice.org

OpenOffice is a great replacement for Microsoft Office. I've used the Writer and Math modules quite a bit, and I'm very happy with the software. I recommend emerging the binary package, openoffice-bin, rather than compiling from source.

Unfortunately, I haven't uncovered an easy way to install the added features, such as the ability to export files in PalmOS format. After emerging OpenOffice, I had to unpack the distribution file, cd to the install directory, and run the standard network install command:

./setup -net

Then I selected everything and reinstalled. It doesn't take long, but there should be an easier way. Tips?

Don't forget to emerge ooodi, the automated dictionary installer for OpenOffice, and oooqs, the KDE System Tray Quickstarter.

Return to top

RipperX

RipperX is a great tool for ripping CDs and encoding the output in MP3 format. On Gentoo it uses CD Paranoia and LAME as defaults for doing the ripping and encoding.

Before this installation, I'd been using RipperX as a regular user; however, I wasn't able to rip to my FAT32 partition. After a reinstall I couldn't get it to work as a regular user, so I've been using it as root. Actually, it works better now because I can rip to my FAT32 partition.

I did have some problems with speed though, because I use a crazy mix of LC variables. Here's how I did it:

1. Changed my profile file to read:

LC_NUMERIC="en_US"

2. Added the following to my startup script that runs when KDE starts:

xhost localhost

3. Added a KDE menu entry with the command ripperX and checked the box for Runs as a different user and entered root as Username:. I'm sure there's a more elegant way, but this works.

The best news: It's FAST!

Return to top

Samba

I use Samba for sharing printers and directories with a Windows 2000 machine. I have always had problems getting it to work properly. Like most things Linux it's much more powerful than I need it to be.

Once configured properly, it works great. Here's my smb.conf configuration file. Note that I'm using Windows in the encrypted password mode. I don't recommend taking the easy way out and transmitting passwords in plain text.

Return to top

udev

I'm using udev version 024-r1. I experimented with various earlier versions, but I had problems getting everything working, especially ALSA. This version worked out of the box except X didn't start after reboot because it couldn't find my mouse and my CLIE wouldn't sync. However, these problems were easily fixed.

I suggest using the Gentoo udev Guide to get started. As the guide recommends, I'm not running a pure udev system.

Here's how I did it:

1. Configured the kernel and rebooted. Make sure the option Automatically mount at boot for /dev file system support (OBSOLETE) is not set. Actually, you don't need /dev support for udev, but I left it in the kernel so I can use both systems (see below).

General setup  --->
[*] Support for hot-pluggable devices

File systems  --->
Pseudo filesystems  --->
[*] /proc file system support
  [*] /dev file system support (OBSOLETE)
  [ ]   Automatically mount at boot
  [ ]   Debug devfs
  [ ] /dev/pts Extended Attributes
  [*] Virtual memory file system support (former shm fs) 
  [ ] HugeTLB file system support

2. Emerged udev. Note that I already had the latest baselayout and hotplug:

# emerge udev

3. Edited my XF86Config to get the touchpad working. On the first boot after emerging udev, X wouldn't start because it couldn't find my mouse. Now both my touchpad and USB mouse work.

Section "InputDevice"
    Identifier  "Mouse1"
    Driver "mouse"
    Option "Protocol"   "ImPS/2"
    Option "ZAxisMapping"   "4 5"
    Option "Device"     "/dev/misc/psaux" # This is the changed line.
    Option "Emulate3Buttons"
EndSection

4. Changed my KPilot Pilot device: setting to /dev/tts/USB1. This one took me awhile to figure out. One reason is because it takes several seconds to initiate the sync after pressing the button on the cradle.

5. Edited /etc/group and added my normal user to the usb group.

6. Edited grub.conf so that I can boot with either udev or devfs:

title Gentoo Linux (UDEV)
root (hd0,0)
kernel (hd0,0)/bzImage-2.6.5 root=/dev/hda3 vga=791 gentoo=nodevfs

title Gentoo Linux (DEVFS)
root (hd0,0)
kernel (hd0,0)/bzImage-2.6.5 root=/dev/hda3 vga=791 gentoo=noudev
Return to top

XFree86

Currently I'm using XFree86 version 4.3.0-r5 with the ATI video driver. See Video for more information.

My XF86Config XFree86 configuration file.

You can use the following command line to start a new X session with a different resolution on a different virtual terminal. Switch to the new screen using the Ctrl + Alt + F8 key combination. Switch back using Ctrl + Alt + F7.

startx -- :1 -xf86config XF86Config.1024
Return to top

Other Configuration Files

My fstab file.

My make.conf variable file for Gentoo's portage system.

The rc.conf file sets the variables for keyboard layout, display manager, time zone, etc.

Return to top

Valid XHTML 1.0! Valid CSS!