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.

This page details the major changes I had to make to get things working with 2.6.

module-init-tools - First Step Before Booting a 2.6 Kernel

Kernel 2.6.5 .config file.

Kernel Update - a Mini How-To

Keyboard Patch - Multimedia Keys

ACPI - Advanced Configuration and Power Interface

ALSA - Sound Support

SCSI - Changes for CD Burning

USB - Changes for HID

module-init-tools

I didn't do much research before compiling my first 2.6 test kernel. I was shocked when I booted the first time, and the kernel couldn't load any modules. The solution:

emerge module-init-tools
Return to top

Kernel 2.6.5 .config

My kernel .config file.

Return to top

Kernel Update - a Mini How-To

Here's how I upgrade my kernel between minor versions. Assume your current version is 2.6.2, and you want to upgrade to 2.6.3.

1. Download the patch from kernel.org and unpack it.

2. Login to an xterm as root and issue the following commands:

cd /usr/src
cp -r linux-2.6.2 linux-2.6.3
cd linux-2.6.3
make mrproper
patch -p1 < /path/to/file/patch-2.6.3
cp ../linux-2.6.2/.config .
make oldconfig
make
make modules_install
mount /boot
cp .config /boot/.config-2.6.3
cp arch/i386/boot/bzImage /boot/bzImage-2.6.3
cd ..
rm linux
ln -s linux-2.6.3 linux

3. Now I update my grub.conf file.

nano /boot/grub/grub.conf
umount /boot

4. Reboot the computer with the new kernel.

5. Make sure everything works.

6. Check dmesg.

7. Update the web site ;-).

Return to top

Keyboard Patch

Two of the multimedia keys (volume up, down and CD play, stop, previous, next) stopped working with kernel 2.6. I have absolutely no clue how keyboard scan codes work with X, etc. After a lot of research I developed the following patch that makes all four buttons available.

My original goal was to get the keys to return the same keycodes in X (using xev) as with kernel 2.4. However, I couldn't figure it out. So, I then decided to group them as closely together as possible. I've been using the patch now since kernel 2.6.0, and I haven't noticed any abnormalities.

Here's the patch. Be sure to change the the x in the header (the path to the atkbd.c file) to match your kernel version.

Apparently the code table in the atkbd.c file hasn't changed since kernel 2.6.0. Of course, that could change in the future.

Here's the X keycodes it returns:

scancode:   button:     xev keycode:
195         play        149
196         stop        150
197         previous    154
198         next        155

See Keyboard for how to use this setup.

Return to top

ACPI

I'm now using ACPI instead of APM. Here's the kernel .config ACPI snippet. Note that I compiled everything as modules. For more information see ACPI.

#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_THERMAL=m
CONFIG_ACPI_ASUS=m
CONFIG_ACPI_TOSHIBA=m
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_BUS=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y
# CONFIG_X86_PM_TIMER is not set

#
# APM (Advanced Power Management) BIOS Support
#
# CONFIG_APM is not set
Return to top

ALSA

I used the kernel modules and emerged alsa-lib, alsa-oss, and alsa-utils.

See Sound for more information.

Return to top

SCSI

SCSI emulation is no longer required for CD Burning. Here's the kernel .config SCSI snippet. Note that I omitted the most of the commented-out items in the snippet below.

#
# SCSI device support
#
CONFIG_SCSI=m
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=m

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_REPORT_LUNS=y
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set

#
# SCSI Transport Attributes
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set

#
# SCSI low-level drivers
#
CONFIG_SCSI_QLA2XXX=m
Return to top

USB

HID (Human Interface Device) works better in 2.6. I use it for my USB Mouse. Here's the kernel .config SCSI snippet. Note that I omitted the most of the commented-out items in the snippet below.

#
# USB support
#
CONFIG_USB=y
CONFIG_USB_DEBUG=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
CONFIG_USB_BANDWIDTH=y
# CONFIG_USB_DYNAMIC_MINORS is not set

#
# USB Host Controller Drivers
#
# CONFIG_USB_EHCI_HCD is not set
# CONFIG_USB_OHCI_HCD is not set
CONFIG_USB_UHCI_HCD=y

#
# USB Device Class drivers
#
CONFIG_USB_AUDIO=m
# CONFIG_USB_BLUETOOTH_TTY is not set
CONFIG_USB_MIDI=m
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
CONFIG_USB_STORAGE=m

#
# USB Human Interface Devices (HID)
#
CONFIG_USB_HID=m
CONFIG_USB_HIDINPUT=y
# CONFIG_HID_FF is not set
CONFIG_USB_HIDDEV=y
Return to top

Valid XHTML 1.0! Valid CSS!