Due to a proprietary kernel module that I don't have the source to and is very picky about what kernel versions it will load into (even with modprobe --f), I find myself in need of running a 2.6.16.XX kernel on my Debian5 machine. The machine boots fine with the 2.6.26-2 stock kernel, and I have successfully build and booted 2.6.26 and 2.6.31 based kernels by making a .deb and the ndoing dpkg -i.
However, when I do the same approach for 2.6.16, the kernel hangs at boot. I'm testing this in a VMWare image, so I don't think its an issue of newer hardware not supported by the older kernel.
For a working kernel, at boot I get:
Uncompressing Linux.. OK booting the kernel
Loading, please wait...
mdadm: No devices listed in the conf file were found
kinit name_to_dev_t /dev/hda5 (dev5,3)
...
With 2.6.16.60, I never get the kinit message. It hangs after the mdadm line. There are no mdadm arrays on this machine, so I doubt its an issue inside the mdadm stuff, which is supposed to just error out as it does in the 2.6.26 case above, but for some reason I'm getting stuck getting into kinit.
I've been banging my head against this wall so I'm very open to suggestions on how to go about troubleshooting this.
There are so many things that can go wrong. You would first need to find out exactly where along the boot process it is stalling. If you have changed the kernel, and it loads an initrd, the stuff in there might need to be changed as well. This often catches people. It would really help if you booted the kernel in a verbose fashion to clearly see the point at which it has trouble running.