Gallium has been running with Slackware 11 now for quite some time. Yet, I had bigger plans for it. To name
the most important points of improvement:

More memory

Kill the swap

Replace the mechanical harddisk drive by a solid state disk

Run it with a wireless NIC

Use a reasonably modern distribution

So I bought some new Kingston memory at an electronic market (marktplaats.nl) and a 4 GB solid state disk at
http://shop.transcend.nl.
But first see what distro could be used instead of Slackware 11. To cut a long story short, I tried to install

Slackware 12

Debian Etch

SuSE 10.2

Debian Sarge

Xubuntu

Knoppix 5

Slax 6

Linspire

Xandros

and after all that I changed back to Slackware 11 since that is what I like and what runs best on this
machine. More on this below.

Below, you will find my experiences with the SSD-ification of Gallium and the contents of the most important
files for Gallium. These files are important for all computers and the settings are extremely hardware
dependent. Read the files and use the things you want to try out on your machine. These settings are
meaningful to you, ONLY if you have another Dell Lattitude CPi A366 XT. In all other cases: consider these
lines of text as guidelines or reasons for experimentation.

Slackware 11

Slackware 11 used one of the last 2.4 kernels. It has version 2.4.33 as default and you may opt to install a
2.5 kernel as well. I chose for the matured 2.4 kernel. It is recent enough for the MadWiFi driver (which
needs at least 2.4.22), it has GTK+2 libraries so it's good enough for the latest Seamonkey.

The wireless card

I definitely wanted to have this laptop disconnected from the internet via a UTP able. You can walk around
with a laptop. So you don't want to be tethered to a router via a piece of cable. So I searched the web for
the 'best' ethernet adapters for running with Linux. In general this boiled down to 'any adapter that is based
on an Atherso chipset'. So I chose for the TP-Link that was for sale at a local mail order company (I order
via the web and then collect at their storefront, thereby saving on shipping costs).

Anyway, installation was easy thanks to the documentation included in the MadWifi package. The MadWiFi driver
seems to work with all true 802.11 compliant NIC's. So get your copy at
http://www.madwifi.org
and see how far you come. I came a long way!

The trick is to download the madwifi driver, extract it with

tar zxf madwifi-version.tar.gz

and then installing it by typing on the command line:

modprobe ath_pci

It wil load lots of small loadable modules for various system tasks. If your card is based on a true Atheros
chipset, the devices ath0 and wlano will be setup, as you can check by entering the command 'ifconfig'.

If this works, add this line to your /etc/rc.d/rc.local file.

Power management

A laptop is portable. It is not tethered to a power outlet. So it runs on it's own power source: batteries.
And batteries get depleted. And when the battery is empty, you loose your work.... So it is a good idea to
have the laptop itself keep track of it's batteries. This is done with the ACPI and APM modules. By default,
Slackware 11 did not install these modules, so I took command and did as follows:

# modprobe apm
# modprobe acpi
# apmd
# acpid

So I started KDE to see what happened. Not much. So I ran the Control Center and went to the Power Managemnt
tab and choose Laptop battery. There I enabled some thingies (as root) and suddenly an icon appeared in the
task bar in the shape of a battery! When I plug in the PSU, a power cord is added! It seems to work! Now my 10
year old laptop acts like the brand spanking new Toshiba Satellite A210! Albeit a tad slower.

For a further test I shut down KDE and entered in the console: poweroff. Yesterday this shut down the machine
but the screen remained on. Today the machine powered itself down completely. Black screen and all.

The above commands better be placed in the file '/etc/rc.d/rc.local'.

Solid state disk

This machine will be using a solid state disk (SSD). SSD's are fast, energy efficient and reliable, yet they
have a finite number of writecycles. On average something between 100k and 1M. For normal files there is never
a problem. Perhaps for the swap file but that is covered in a seperate section.

(costing around €6). Combine this with a CompactFlash card like this one:
http://shop.transcend.nl/EN/product/ItemDetail.asp?ItemID=TS4GCF133
and you have a SSD for a fraction of what I bought. Plus, if you wear out ernough cells, just replace the CF
card with a new one, which undoubtedly will be cheaper and bigger then, than it is now.
It is possible to mount this kind of adapter card inside a 2.5" drive tray but you need to be careful for
short circuits.

And while your at it, also look for a 'PCMCIA 6in1 Adapter- SM MS MS-PRO SD MMC RS-MMC' in the same shop. I
bought one for a single euro and Gallium will be equipped with it, for just in case... :o)

In the same Ebay shop I found the little gimmick on the right. It also is an interface between a cheap memory
card and a 44 pin IDE interface. It was affordable so I bought one as well to do some tests. For some reason I
assume this will be a lot slower than the CF to IDE interface, but it could prove handy for an older laptop
that is used for an older operating system in a slower computer.

Visit the Ebay shop mentioned above and search for the phrase

SD MMC TO 44 PIN IDE Adapter Card for NB laptop

At the moment of making this webpage the price was slightly less than €9. Combine it with a cheap SD card
(2 GB is on sale sometimes for less than € 10) and you got the cheapest SSD you can imagine.

No swap?

On average, an SSD will perform 100.000 sector writes guaranteed. For normal operation this is more than
enough. Unless you house a swap partition on the SSD. So this machine runs swapless. It has 256 MB of memory
and relies on software being correct, i.e. no memory leaks.

If your graphical browser is decoding nice video or flash movies, sometimes the program evaporates from the
desktop: an OOM (Out Of Memory) occurred. Normally the system starts sending data to swap instead. But with no
swap installed, the OOM kicks in, aborting the villain.
In itself this is not bad. Especially with data intensive websites with lots of unshrinken photo's the Linux
browsers go haywire and end up in enless swappingf sessions. In most cases you need to kill X or even perform
a hardware reset. Running without swap prohibits this. So in fact it is better....

On the other hand, I found a source on the internet that claims that SSD's have wear leveling algorithms and
combined with the 100.000 to 1.000.000 guaranteed write cycles, even a swap partition will practically never
wear out.

Progress

I like to abide to Professor Wirth's motto: make a working model and then use stepwise refinement to reach the
final goal. So the roadmap to my ultimate goal is as follows:

Select the Linux version to install

Increase the main memory and find an acceptable SSD

See how stable the system is without a swap partition

Select and configure a wireless network card

Tune Slackware 11 using the HDD installed version

Aborted!

Install Slackware 11 on the SSD

Perform post install optimisations

Perform final tuning and tweaks

Publish the results below

/etc/rc.d/rc.local

#!/bin/sh
#
# /etc/rc.d/rc.local: Local system initialization script.
#
# Put any local startup commands in here. Also, if you have
# anything that needs to be run at shutdown time you can
# make an /etc/rc.d/rc.local_shutdown script and put those
# commands in there.
/sbin/modprobe ath_pci
/sbin/insmod apm
apmd

/etc/rc.modules.conf

# /etc/modules.conf (Linux 2.4 modules config file)
#
# This file is for setting module options when using a 2.4 kernel.
#
# For more information, see "man modules.conf".

# /etc/rc.d/rc.inet1.conf
#
# This file contains the configuration settings for network interfaces.
# If USE_DHCP[interface] is set to "yes", this overrides any other settings.
# If you don't have an interface, leave the settings null ("").
# You can configure network interfaces other than eth0,eth1... by setting
# IFNAME[interface] to the interface's name. If IFNAME[interface] is unset
# or empty, it is assumed you're configuring eth<interface>.
# Several other parameters are available, the end of this file contains a
# comprehensive set of examples.
# =============================================================================
# Config information for eth0:
IPADDR[0]=""
NETMASK[0]=""
USE_DHCP[0]="yes"
DHCP_HOSTNAME[0]=""
# Default gateway IP address:
GATEWAY=""
# Change this to "yes" for debugging output to stdout. Unfortunately,
# /sbin/hotplug seems to disable stdout so you'll only see debugging output
# when rc.inet1 is called directly.
DEBUG_ETH_UP="no"
## Example config information for wlan0. Uncomment the lines you need and fill
## in your info. (You may not need all of these for your wireless network)
IFNAME[4]="ath0"
IPADDR[4]=""
NETMASK[4]=""
USE_DHCP[4]="yes"

OK, now I told just about anything that is specific and that can be hairy when your machine will not boot upto
an inlog prompt. If your system uses a comparable Linux, these settings might help.
System settings are so machine specific that I cannot help you, unless you happen to live around the corner.
If that is the case, this magic number '5012' should ring a bell. If the number is just a number to you,
please find someone near your place to help you out.