This is not a step professionals take lightly, but it can be done.
Debian has their own brand of kernel compilation documented a few places
The general steps are:
- Get the right packages.
- Configure it.
- Compile it.
- Package it.
The Debian packages include the ones you're already aware of but also fakeroot
, and make-kpkg
. The 3.2 series of source is in the squeeze-backports repo, so enable that repo then do the syntax you already know to get it.
You now have the right packages.
For configuring, you have a couple of options. The safest is to do a make oldconfig
in the new source tree, and take the defaults.
The less safe, but sounds like what you're looking for, is make localmodconfig
which turns off all modules that aren't currently loaded, which in theory will create a config that exactly matches your hardware. Just make sure that any modules you'll ever use are loaded before running this command, or hand-edit the resulting .config file to turn on the ones you want.
You now have the config.
Compiling and packaging it is easy, debian provides the tools.
fakeroot make-kpkg clean
fakeroot make-kpkg
This will leave you with a Debian kernel-package that you can install through dpkg.
At this point, you'll have a new kernel! It may even work on the first try. If it doesn't go back to 2 (Configure it) and try again. Repeat until it works.
Some caveats though:
- We can't tell you which exact kernel modules you'll need. We don't know enough about your system or what it needs to tell you.
- It is entirely possible you won't end up with a bootable kernel no matter how hard you hack at it. This happens, it's how we learn.
- It'll now be up to you to stay up to date on Kernel patches. I note that the backported 3.2 kernel is several patch-sets behind latest (you wanted .42, it has .39), so I don't know how often Debian updates those.