Kernel module dependencies are stored in:
/lib/modules/kernel-version/modules.dep
To show loaded kernel modules:
lsmod
To display information about a module:
modinfo module-name
To load a module (and dependent modules):
modprobe module-name
To unload a module (and dependent modules):
rmmod -r module-name
Altering how kernel modules are loaded
The /etc/modules.conf file can be used to alter how kernel modules are loaded. The most common entry is an alias mapping a generic name to an actual module. For example:
alias eth0 e100
The above line loads the e100 module if modprobe eth0 is executed.
It can also be used to pass parameters to modules, or force loading a module stack not defined in normal dependencies.
Kernel sources
Installing the kernel sources varies considerably since most distributions ship heavily patched kernels. Follow the docs of the distribution.