Kernel configuration annotations

I see no point in spending compile time and hard drive space on modules which I don't need. I therefore usually only put into the kernel what I need. I also prefer to compile things directly into the kernel, so only if I have to pass some extra parameters to a module when it is loaded, I compile things as modules. If I need something extra, because I bought a new piece of hardware, I usually reconfigure and recompile the kernel. This is why my kernel configuration compiles fast and the resulting image and number of modules is very small. Here I will explain a few choices I made.

Processor type and features

At Processor family I chose Pentium-III/Celeron(Coppermine)/Pentium-III Xeon, since that is what my Armada has for a CPU. There are Armadas with a Pentium II, so if you have one of those, change this.

Power management

For Power management I use ACPI. The Armada also works with APM, but ACPI is newer and better. Most options here are functionality. I selected everything useful here. The rest is model specific and therefore not of interest.

CPU Frequency scaling allows you to conserve power by throttling back the CPU. You get a few power schemes for general behaviour but you can also manually select a speed in percents. Both KDE and Gnome have applets to control this.

Bus Options

In here we need CardBus yenta-compatible bridge support under PCCard to drive the PCMCIA slots.

The Armada E500 has PCI hotplug, but I didn't figure out whether that is supported under Linux. I selected Compaq PCI Hotplug driver in case I want to get into that someday.

Networking

As mentioned in the section called “Current status” I'm not really interested in infrared, but perhaps some rainy sunday afternoon I will, so I selected a few options that made sense at first sight from IrDA.

Under Bluetooth I selected everything needed for Bluetooth communication and control. The Armada E500 has no built-in Bluetooth hardware, but using a cheap USB Bluetooth dongle this functionality can be easily added. It is way more convenient and functional than infrared.

Device drivers

In here I just selected everything that my Armada has and their dependencies, and nothing else.

Parallel port support->PC-style hardware for the parallel port at the back.

Under Block devices there is Normal foppy disk support for the floppy (which I almost never use actually since I have a battery there) and Loopback device support to mount files (like DVD or CD ISOs) without having to burn them onto some physical media.

ATA/ATAPI/MFM/RLLis needed for driving IDE devices (hard drive, DVD, etc.)

SCSI device supportis needed for USB mass storage. Don't dismiss this because the hard drive is IDE.

The built-in network port is supported by EtherExpressPro/100 (eepro100), which can be found under Network device support->Ethernet(10 or 100Mbit)->EISA, VLB, PCI and on board controllers.

Although I use Ndiswrapper and Windows drivers for my WLAN card, I also selected Network device support->Wireless LAN drivers (non-hamradio) & Wireless extensions to enable the Wireless extensions, iwconfig access and create proc/net/wireless.

Under input device support I selected Provide legacy /dev/psaux device, which can be found under Generic input layer->Mouse interface. I also selected Mouse->PS/2 mouse to be able to use the PS/2 port in the back for a mouse.

I don't like the PC Speaker, so I didn't select it. If you want it, you can find it under Miscellaneous devices.

Hardware Monitoring is supported by the Armada and is selected by the option with that name.

Under Graphics support we need Support for frame buffer devices and ATI Mach64 display support to get graphics. Under Console display driver support I also selected Framebuffer console support to get graphics on the console.

Under Sound I selected Sound card support. I use ALSA because its better than OSS and the latter is deprecated. The driver for the Armada's ESS Maestro 2E sound card is called ESS ES1968/1978 (Maestro-1/2/2E) and is found under PCI devices.

Under USB support I selected what I needed. No dedicated drivers for the Armada's USB port are necessary.

Character devices

Under Character devices, you'll find Parallel printer support. I included it because with a laptop you never know what kind of a printer you'll have to use.

Enhanced Realtime Clock Support is also there and used by multimedia applications like MPlayer and Rosegarden. The documentation says to mknod dev/rtc, but I found that on my system it was already there, no doubt created by udev.

Also in this section there is /dev/agpgart (AGP support). My Armada's graphics board is using a shared PCI/AGP connection. Including AGP support will use that connection and speeding up graphics.

Under Serial Drivers there is 8250/16550 and compatible serial support, which will give you support for the serial port at the back.

File systems

I am a ReiserFS user, but you might be different. Compile support for the file system of your root and boot partitions into the kernel.

Under CD-ROM/DVD filesystems and DOS/FAT/NT I selected what I suspected to be needing.

Under Pseudo filesystems there are a few options which are needed by the system.

Network File Systems offers support for SMB (Windows shares etc.) and CIFS file systems, which can come in handy because a laptop may find itself in environments which weren't originally expected, and it won't do much for Linux advocacy if you have to recompile your kernel to use a printer somewhere.

Native language support is not something Crux is meant for. The Crux community usually does everything in American English, which was good enough for its swedish creator. I did include support for the Euro sign.

Cryptographic options

For secure wireless communication you need a lot of different cryptographics modules. A lot of networks won't give you a connection if you don't support their cryptography. That is why I selected them as well.