Many USB devices (excluding keyboards and mouse) require Linux 2.4. Those not wanting to upgrade to Linux 2.4, should follow these instructions on how to install the Linux 2.4 USB "backport" to Linux 2.2. This document is assumes you have read over Building the Kernel from Source Guide.


Install the Patch

You can download the patch, that installs this backport from

This page suggests you need Linux 2.2.16, but it will work with the the 9/15 linux-pmac-stable rsync without a problem.

Install the Linux source code, if you haven't already. See the Kernel Compiling from rsync guide for details.

Open an xterm. Become root using su -.

Go to the directory where you downloaded the patch to.

Apply the patch by running this command:

gzip -dc usb-2.4.0-test2-pre2-for-2.2.16-v3.diff.gz | patch -p1
or
zcat usb-2.4.0-test2-pre2-for-2.2.16-v3.diff.gz | patch -p1

If you downloaded with Netscape, it probably uncompressed it automatically when it saved the file. Most likely if you get an error about not being in gzip format, it's uncompressed. You can also prove this using the file ./usb-2.4.0-test2-pre2-for-2.2.16-v3.diff.gz command, which will tell you if it's compressed or uncompressed.

If it is uncompressed, you can try:

cat usb-2.4.0-test2-pre2-for-2.2.16-v3.diff.gz | patch -p1

Selecting Options

After running:

cd /usr/src/linux
make clean
make menuconfig

... use the menu config system to go to USB Support option (use up and down mouse keys to go up and down, and return to enter).

From here, use the space bar to check the following options:

  • Support for USB
  • OHCI-HCD (Compaq, iMacs, ...) support
  • Preliminary USB device filesystem
  • USB Human Interface Device (HID)
  • ... and any other devices you want support for

    Build the Kernel

    You can now build the kernel using the standard procedure:

    make modules
    make modules_install
    make vmlinux

    Now copy vmlinux to whereever your booter expects it, such as /mnt/System Folder/Linux Kernels or /boot/vmlinux.

    Rebooting and Checking that It Worked

    Reboot. You should then see scroll rather quickly, a list of all the devices you have on your system, what they are, and where they a located in /dev.

    If that scrolled to fast for you, use dmesg | more to show them again.

    Now that you have compiled a kernel with USB support for a certian device, you will need to setup whatever device it is. There will be future Guides and Howtos on this.

    References