ok, go to
www.kernel.org, d-load the kernel source for your kenel, or the newest source and compile it, eather way then extract the source in /usr/src, link the directory (linux-x.x.x) to linux like this: ln -s /usr/src/linux-x.x.x /usr/src/linux
then go into /usr/src/linux and type make menuconfig, use defaults and close saving changes (even if you made none) then type make dep && make clean. then your sources should be found... or depending on distro you can install a source package (easyer)
then d-load all 5 or 6 sources from alsa.sourceforge.net, make a directory like /usr/src/driver
extract all the alsa bz2 files into that directory.
inside each sub-directory that is made (alsa-driver, alsa-lib, alsa-oss, alsa-utils(tools?)) in that order enter the directories and type: ./configure && make && make install && ldconfig. alsa in the alsa-driver-xxx directory type ./snddevices (unless you use devfs)
that should do it...
sorry if that is hard to understand, let me know if you need a hand stepping through it.