the drivers are usually already compiled in the kernel, it just might work out of the box. If it doesn't, get the newest kernel sources from
http://www.kernel.org/ or just try and find them on your distro's download list. You should then unpack the kernel into a temporary folder and go console.
Go to that folder and type
that should get the kernel to it's first, now desired stage.
now you have to configure your kernel. I would get the .config file from your distro's website because some distros are really picky about the kernel they support... We only have to enable some features.
anyway when you have gotten the .config file just overwrite the old one in the kernel directory.
now it's time to configure the kernel to include the driver for your soundcard. If you have X server up and running, you should use this:
However, if you like console better and are a bit nostalgic like me use
If, however, you are masocistic and suicidal at the same time you should use
When you have run the desired prog, navigate to device drivers, and in there find the soundcard drivers section and just find your soundcard and enable it. If you don't have the patience, just do what I did, and compile all soundcard drivers as modules (except the ones that REALLY can't be yours

).
when you are done, save the .config file and exit the config program (whichever you used). Type [code]make && make modules_install[code] That should do it. Now go to
arch/i386/boot/ and copy the bzImage to the /boot folder under the name kernel-2.6.x where x is the kernel version and edit the /etc/grub.conf so it will contain ONE MORE entry so you can test the new kernel. DO NOT DELETE THE EXISTING SECTIONS!!! You can then reboot your computer. If the new kernel works, keep it, and delete the old section for the previous kernel. If it doesn't delete this one. I myself always keep an [old] section of grub, so if anything doesn't work the way it should i can still go back.
Good luck recompiling your first kernel!
Gasper