3.2. Notes on building your own kernel

There are some things I would like to mention, although I wont go in details as the backstreet ruby page on compiling the kernel.

  1. You have to follow this order

    Input support
    Virtual Terminal support
    Console drivers

    in order all required options to be available/ selectable

  2. You have to use built in input support

    Input device support --> Input core support
    Input device support --> Mouse support
  3. i would suggest to include also at least one keyboard

    (built in - not as module), you can also use modules but i find it safer to be able to use a keyboard instead of trying to find a PC with ssh (or something similar) to load the required modules

    for a AT/PS2 keyboard turn on (not modules)

    Input device support --> Serial i/o support
    Input device support --> i8042 PC Keyboard controller
    Input device support --> Keyboards
    Input device support --> AT keyboard support

    for a USB keyboard turn on (not modules)

    Input device support --> Keyboards
    USB support --> support for USB
    USB support --> USB driver (probably usb-uhci.o)
    USB support --> USB Human Interface Device (full HID) support
    USB support --> HID input layer support
  4. If you are new to linux do not try to patch already patched kernel

    (heavy patched kernel like the ones that ship with most distributions)

    use a kernel from www.kernel.org, and take a look at The Linux Kernel HOWTO

There are number of drivers which do not build for whatever reason, if you manage to fix them please send us the diff against vanila backstreet ruby kernel

( plain linux-2.4.xx patched with the latest bruby-xxx.diff)

currently this would be linux-2.4.20 patched with bruby-2.4.20-20021226.diff.bz2

the drivers i'm aware of are:

  1. usbnet.o - USB-to-USB Networking cable device support

  2. usbserial.o - all USB serial drivers

  3. i8k.o - Dell Laptop support

Support for frame buffer devices is not back ported, and is disabled

if you try to build alsa you might have problems building the usb driver

actually to build it you have to change in include/sound/adriver.h

...
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 4, 20) 
...

to

...
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 4, 21) 
...

but i do not have the hardware to test, if the compiled driver works