Execute the following series of commands:
cd linux (enter the linux directory)
- apply the de4x5.c patch if necessary
- apply optional patch for 3-button "MacX" mouse
- if you're compiling 2.2.8, don't forget the infamous and simple
arch/ppc/kernel/syscalls.c patch (see mailing list)
make distclean (clean up the unzipped distribution)
- distclean = clean + several additional removes
- distclean = mrproper + 1 additional remove
- mrproper = clean + several additional removes
- get it? distclean is all you should need
make pmac_config (select the right configuration)
- removes the current .config file
- creates the symbolic link arch/ppc/defconfig->arch/ppc/pmac_config
- for 2.2.7 and maybe before, pmac_config was identical to defconfig, so this step was redundant
- for 2.2.8+, pmac_config is substantially different from defconfig, so this step is important
- study the arch/ppc/*config files!!! know thine enemy!!! :-)
make oldconfig (configure the build)
- uses /arch/ppc/defconfig (linked above) to create a .config file
- if there are any new config options, you will be asked as part of the procedure
- confused? For the 6500 anyway, this works, and even makes sense (yeah I said that before but now I really mean it)
make dep (set up dependencies)
make vmlinux (make the kernel)
- Linux books discuss making zImage or bzImage. These are compressed kernels which must be used with Wintel boxes because the kernel has to fit in a limited memory space (Bill Gates' 640k strikes again?). As a user of a Mac, you have no such archaic constraints! Other arguments will build floppy kernels etc.
make modules (make the modules)
make modules_install (install the modules in /lib/modules/2.2.x)