Machine Specifications

  • 2GHZ celeron processor

  • 768MB RAM

  • 256KB cache

  • 40GB harddrive

  • Mandrake 9.2

  • kernel 2.4.22-28mdk

  • kde 3.1.3 & kde 3.2.2

Overview

I installed Mandrake Linux release 9.2 (FiveStar) for i586 PowerPack edition, then upgraded KDE using Konstruct. I use both KDE 3.1.3 from the Mandrake packages and KDE 3.2.2 from a Konstruct build. I modified my X Window configuration to allow for parallel logins, which also required some modifications to device permissions.

hda1 / ext3 / 5.8gb / mount point: /

hda6 / ext3 / 31gb / mount point: /home

hostname: sote.mojavelinux.com

ACPI

Unfortunately software suspend worked poorly. After giving it a few tries, I decided that I could not reasonably use the system after coming out of hibernation with the ancillary version of swsusp. Instead, I focused on optimizing power consumption by taking steps to dim or turn off the backlight, slow down the harddrive, turn off swap and shutdown unneeded services.

I gathered the following tools for managing the power:

  • radeontool - turns on and off the backlight of the LCD display

  • spicctrl - using the sony PI interface, dims the backlight

  • swapon/swapoff - turns on an off swap

  • hdparam - adjusts spindown time of harddrive

APCI is configured by creating files in the /etc/apci/events directory, which in turn activate cooresponding scripts which live in /etc/apci/actions.

Display/Graphics

There isn’t much to do with the X configuration, since it mostly configures automatically. The one change required is to add the additional display modes in the "Screen" section for playing games at different resolutions.

Subsection "Display"
    Depth 24
    Modes "1024x768" "800x600" "640x480"
EndSubsection

When different users are logining into the computer on a fairly regular basis, it is logical to allow parallel X-sessions. KDE has built in features for handling this functionally quite well, though the option will not be present unless the X configuration is setup properly to handle them.

To enable the multiple X-sessions, modify the file /etc/X11/xdm/Xservers and add:

:0 local@tty1 /bin/nice -n -10 /usr/X11R6/bin/X -deferglyphs 16 -nolisten tcp vt7
:1 local@tty2 reserve /bin/nice -n -10 /usr/X11R6/bin/X -deferglyphs 16 -nolisten tcp :1 vt8

DVD/CD-RW

Due to a bug in the kernel (2.4.22), the CD-Writer shows up as a device 7 times. To solve this, simply add

hdclun=0

to the "append" line passed into the kernel at boot (/etc/lilo.conf). (Note: hdc should be replaced with the device name of the CD-writer drive).

In order to get dvd playback working, I added the plf urpmi source to get the libdvdcss2 rpm for decoding encrypted DVDs. Next, grab mplayer, mplayer-plugin for mozilla and the win32-codecs to add support for Windows media files.

Ethernet/Network/Wireless

Set the hostname using /bin/hostname to a friendly name. Next, edit the /etc/hosts file to append all hostnames that coorespond to this computer.

  1. ip address

  2. localhost

  3. full qualified name

  4. short name

i.e. 127.0.0.1 localhost sote.mojavelinux.com sote

Downloaded the prism54 kernel module from prism54.org and followed the Mandrake HOW-TO.

In order to setup the wireless card to automatically start, the /etc/sysconfig/network-scripts/ifcfg-ethX should look like:

# /etc/sysconfig/network-scripts/ifcfg-ethX
DEVICE=ethX
BOOTPROTO=dhcp
ONBOOT=no
MODE=Managed
CHANNEL=6
KEY=${wirelesskey}
SSID=${ssid}
# /etc/modules.conf

# add the following line
alias ethX prism54

It is not necessary to include ONBOOT=yes because in modules.conf, the alias for prism54 is ethX and the hotplug will automatically start the network device using the settings from ifcfg-ethX.

Disabled the start of pcmcia on boot and moved it to /etc/rc.local just so we are sure there are no conflicts with starting the soundcard, as for some reason, the soundcard must come up first or else it does not load properly.

By delaying startup of pcmcia, it was necessary to also delay the start of smb since it requires a network connection while starting up.

At this point, /etc/rc.local performs the following steps:

  1. start pcmcia and sleep 5

  2. if using xtera card, modprobe ndiswrapper

  3. sleep 20 and start smb

  4. run acpi script to check for presence of battery

Peripherals

Keyboard

In order to replace Capslock with a control key, use the kde control center. Note that you have to enable keyboard layouts for this to remain persistent.

Mouse/Touchpad

Kernel 2.4 does not support the advanced touchpad characteristics of the ALPS/Glidepoint touchpad (support was added in kernel 2.6).

In XF86Config-4, the primary mouse should be the touchpad, the secondary mouse the USB mouse, so that if the USB mouse is plugged in after X starts, it is recognized and works. The other way does not allow the USB mouse to work until restarting X. Whenever the usb mouse is plugged in, it is necessary to switch virtual terminals to get it to pick up the new mouse (don’t know why this is).

Services

Disabled harddrake as a service since all it does is screw up the configuration that devfsd so nicely generates. Harddrake is really only necessary the first few times the computer is booted while configurating the primary devices. After that point, it can be disabled since it wrecks havoc on a system using hot-swappable devices.

Installed the ntp rpm and enabled the ntpd time update service, which by default uses the pool.ntp.org server to keep the time u to date. Before starting the service for the first time, it is a good idea to run the following time setting command just to get the clocks in sync from the start.

#> ntpupdate pool.ntp.org

Sound

In order to get the sound file previews in konqueror, you need arts, but arts can really screw up this sound driver if configured incorrectly. I discovered that enabling "full duplex" screws it up, so as long as this is not enabled, running arts is safe. I manually set the frequency to 44100 and ran it high priority with more intense settings for better performance.

Changing the permissions to g+rw on /dev/sound/* (and made it owned by root for good measure) then any user can use artsd to work with the soundcard (though only one person can play something at once). Essentially, I enabled network transparency. It will be necessary to figure out when to "fix" the permissions on the sound devices as they seem to get set to the ownership of the first person logging into the system.

The default file permissions for the sound devices can by modified by changing the line in /etc/security/console.perms

<console>  0600 <sound>      0600 root.audio

to

<console>  0660 <sound>      0660 root.audio

Additionally, if logged in as the second user, you must configure KDE system notifications to use the artsplay external player, even though it is really the native player as it must try to use the arts server from the first terminal.

Sony PI

#> mknod /dev/sonypi c 10 250
# /etc/modules.conf

# add the following lines
alias char-major-10-250 sonypi
options sonypi minor=250

Shortcuts

KMail

  • disable "K" so that it returns to default scroll up

  • make "A" show the addressbook

  • make "Alt-A" reply to all…​

  • make "CTRL-SHIFT-A" select all messages in folder

Firefox

I have documented firefox key bindings on the firefox tips page.

Miscellaneous

This section is not so much part of the install as it is about the customizations I did while running this version of Linux. They could be useful on other distributions and serve only as sidenote.

Klipper

Klipper is one of the anomolies in KDE that sort of has its feet in two different ponds. Klipper can be both an applet and a system tray icon. It is incorrect to have it run in the system tray since the system tray should be reserved for "notifications" or program control icons. Klipper should really be an applet. To remove it from system tray status, just select "Quit" on the klipper context menu and instruct it not to start it when KDE starts. Next, add a klipper applet to the system tray. At this point, life on the KDE desktop will be in good working order.

Mail Server

Set the "myorigin" flag in postfix’s /etc/postfix/main.cf, which is used when a domain is run from multiple machines. This field is added to the right of the username and set the server from which mail appears to come. Restart the postfix service after updating this file.

PHP

I like to adjust the session.save_path to something that is out of the way, such as /tmp/phpsess so that the /tmp directory does not get overloaded with php session files.

Custom RPMS

A list of rpms installed that did not come from the Mandrake repositories.

References