| Chapter 9 - Kernel Configuration | < ^ > |
This is where the majority of Flybook customisation took place. The following kernel configuration overview is for my latest kernel, after a few revisions to support certain features.
If I subsequently change anything, I will ensure I update the downloadable config file, even if the web page is not explicitly updated.
I went for the Gentoo Dev Sources, which turned out to be 2.6.9-gentoo-r9. The Flybook supports ACPI and I guessed the latest kernel was more likely to work properly - if it didn't, it'd be simple to start again with the stable sources (2.4.26-gentoo-r6).
Using make menuconfig, the things I changed are as follows. Options are compiled into the kernel unless I explicitly state module (M):
| Config Section | Setting Details |
| Code Maturity | Use development drivers, expected to compile cleanly |
| General | Add hot-pluggable device support |
| Loadable Modules | Enable modules, enable unloading and force unloading. Enable automatic module loading |
| Processor Type | Transmeta Crusoe. Add Local APIC support for uniprocessors. Add /dev/cpu/*/msr and /dev/cpu/*/cpuid support (needed for Longrun) |
| Power Management | Add PM and PM Debug support. Add Software Suspend, use swap partition as resume (mine is /dev/hda3). Add ACPI support for all items, include debug. Disable APM. CPU Frequency: default governor=userspace. Add performance and powersave support. Add /proc/sys/cpu interface. Add ACPI Processor P-States support. Enable Transmeta Longrun support |
| Bus Options | Include kernel PCMCIA support (M) and yenta-compatible bridge support (M). Include PCI Hotplug support, with ACPI PCI Hotplug driver |
| Device Drivers | Enable Plug and Play BIOS support ATA support: add ALi M15x3 driver Add PCMCIA IDE support (M) SCSI support: add generic and CDROM drivers IEEE1394 support: add TI, OHCI, SBP2 and Raw modules, Ethernet over firewire (all M) Networking: PPP support, RealTek RTL8139 PCI (M), Wireless LAN Hermes (M) Bluetooth: add HCI USB and HCI UART (all M) Input Devices: Provide /dev/psaux. Set resolution to 1024x600. Add raw access to serio (M). Add PS/2 and serial mice. Add PC Speaker support (M) Char Devices: Add ACPI discovery for serial ports, and sharing serial interrupts. Add ALi M7101 PMU Watchdog card. Add AGP support with ALi chipset. Add DRI support wth ATI Radeon Graphics: Add framebuffer support, VESA VGA with 1024x600 mode. Add Radeon display support. Add Framebuffer console support Sound: Add ALSA support. Add ALi M5451 PCI driver (M). No OSS support USB support: Enable USB suspend/resume. Add EHCI and OHCI support (no UHCI). Add Printer and Mass Storage support (M). Add full HID support. Add USB Serial support for generic driver (M) |
| File Systems | I used ReiserFS so needed this. Also added VFAT support for FAT32 and NTFS read support |
I originally compiled the PCMCIA and Ethernet drivers into the kernel rather than having them as modules. Unfortunately the Flybook seems sensitive to the order in which devices are brought up: I got IRQ conflicts preventing the Ethernet from working. It appears that the PCMCIA drivers need to go in first. Changing the PCMCIA, Ethernet, Bluetooth and Firewire to modules fixed this problem.
This should all compile cleanly and leave a working kernel that exposes most of the Flybook's functionality. On the advice of the Gentoo forums, I also downloaded and installed the coldplug package:
emerge coldplug
rc-update add coldplug boot