The NVIDIA kernel module has a kernel interface layer that must be compiled specifically for each kernel. NVIDIA distributes the source code to this kernel interface layer, as well as precompiled versions for many of the kernels provided by popular Linux distributions.
When the installer is run, it will determine if it has a precompiled kernel interface for the kernel you are running. If it does not have one, the installer will check your system for the required kernel sources and compile the interface for you. You must have the source code for your kernel installed for compilation to work. On most systems, this means that you will need to locate and install the correct kernel-source, kernel-headers, or kernel-devel package; on some distributions, no additional packages are required (e.g. Fedora Core 3, Red Hat Enterprise Linux 4).
After the correct kernel interface has been identified (either
included in the
.run file or compiled
from source code), the kernel interface will be linked with the
closed-source portion of the NVIDIA kernel module. This requires
that you have a linker installed on your system. The linker,
/usr/bin/ld, is part of the
binutils package. You must have a linker installed prior to
installing the NVIDIA driver.