desde hace bastante los drivers privativos (los instalados mediante repositorio) incorporan DKMS, que hace que al instalar un kernel nuevo/drivers nuevos, este se recompile automaticamente para el kernel/drivers activo
si arrancas el pc con el kernel 2.6.29 (por ejemplo) y tenias instalados los drivers, estos al iniciarse linux se recompilan automaticamente. si instalas un nuevo kernel e inicias con el, los drivers se vuelven a recompilar para dicho kernel. quedando guardado el drviver para el kernel viejo para la proxima vez que inicies con el kernel viejo
si instalas un nuevo drivers tambien, se recompilan para dicho kernel activo
un ejemplo
sl1pkn07@SpinFlo:~$ dkms status
vboxdrv, 3.0.4, 2.6.31-020631rc5-generic, x86_64: installed
nvidia, 190.18.03, 2.6.31-020631rc5-generic, x86_64: installed
vhba, 1.2.1, 2.6.30-10-generic, x86_64: installed
vhba, 1.2.1, 2.6.31-020631rc2-generic, x86_64: built
vhba, 1.2.1, 2.6.31-020631rc5-generic, x86_64: installed
vhba, 1.2.1, 2.6.30-8-generic, x86_64: built
vhba, 1.2.1, 2.6.30-9-generic, x86_64: installed
vboxnetflt, 3.0.4, 2.6.31-020631rc5-generic, x86_64: installed
kqemu, 1.4.0~pre1, 2.6.30-10-generic, x86_64: installed
kqemu, 1.4.0~pre1, 2.6.31-020631rc2-generic, x86_64: built
kqemu, 1.4.0~pre1, 2.6.31-020631rc5-generic, x86_64: installed
kqemu, 1.4.0~pre1, 2.6.30-8-generic, x86_64: built
kqemu, 1.4.0~pre1, 2.6.30-9-generic, x86_64: installed
vboxnetadp, 3.0.4, 2.6.31-020631rc5-generic, x86_64: installed
sl1pkn07@SpinFlo:~$