If I find out that there is an even easier way, I will make changes to this page.
INSTALLING A KERNEL PATCH
First, get the source code (root is necessary for most of these steps, If you are installing something unknown like a non-Debian patch or module, you should copy the source code to a user directory and perform the rest of the steps there as a normal user account.)
# apt-get install kernel-source-2.6.6 #or whatever Debian source you want
# apt-get kernel-package debhelper dpkg-dev
# apt-get install libncurses5-dev #usually unecessary if you use the oldconfig option
# cd /usr/src
# tar -jxvf kernel-source-2.6.6.tar.bz2
Second, copy Debian's stock kernel config file
# cp /boot/config-`uname -r` /usr/src/linux/.config
(If this doesn't work, it just means that you do not have the stock kernel image installed. You can just use the closest kernel config available.)
Third step, here is where I differ from myrddin.org by using pptpclient.sf.net
# cd /usr/src/kernel-source-2.6.8
# export PATCH_THE_KERNEL=YES
# make-kpkg --added-patches mppe --append-to-version -1-686-mppe \ #This follows Debian's naming standard with a description at the end for easy grub identification
--config oldconfig --initrd kernel_image module_image #module_image and kernel_image don't both hav to be there
Now comes the long compile. You will be asked about any questions that the /usr/src/kernel-source-`uname -r`/.config file and the current version of the kernel.
For example,
PPP MPPE compression (encryption) (PPP_MPPE) [N/m/?] (NEW) m
Last step install the kernel and module packages you created
# dpkg -i /usr/src/kernel-image-2.6.6-1-686-mppe_10.00.Custom_i386.deb