Question: In my spare time, I help administer a hosted Debian Linux server that serves a variety of websites and hosts email for a few people. It doesn't see huge volumes of traffic, but of course we want to do things properly. However, when we first got this server, someone rolled a custom kernel for us which allowed us to do various things that we wanted to do (like LVM, RAID etc). That's now a few years ago and of course there's various security bugs been fixed etc and we'd rather just be operating from a stock kernel that is kept up-to-date.

The problem is that we don't have a list of the features we enabled when we rolled the custom kernel and a couple of attempts to use a new one have resulted in a kernal that won't boot. So the question is - how do we go about using the stock Debian kernels whilst still being able to have all the functionality we depend on? What information do I need to gather first, and then what are the steps to make it happen?

Answer: 
If the person that built your custom kernel did it the *debian way* they there may be a file in the directory /boot named config-2.?.? that will tell you what options where used when building the kernel.

Since you aren't sure, I guess I would start by just grabbing a Debian [livecd](http://debian-live.alioth.debian.org/) and see if a stock kernel on a livecd allows you to boot access all your hardware, and disks. If you can get everything working from a livecd, then you just need to get that kernel installed.

You mention you tried a stock kernel and it won't boot. What exactly is the error, perhaps if you post the messages we may be able to provide more help.
Setup your grub to boot your custom kernel as a [Fallback System](http://www.gnu.org/software/grub/manual/html_node/Booting-fallback-systems.html "Fallback Systems") to ensure that the server comes back up again even if the new kernel fails to boot.

Using that, you can safely `apt-get install` the `linux-image` for your hardware architecture, wich is most likely either `linux-image-686` or `linux-image-amd64` and try to reboot into that kernel.