Quoth Paul Cartwright:
> I have a question about this, please.
> I have an NVIDIA card, and after some updates I get the black screen of death,
> and I have to change my video driver to nv and restart X.
> If I reboot into an older kernel, will my nvidia driver work? It never fails,
> I need to use the computer for something when that happens, and I don't have
> the time right then to rebuild my video driver with the current setup..
The nvidia driver actually consists of a kernel module in
/lib/modules/$(uname -r)/kernel/drivers/video/nvidia.ko and some binary drivers
elsewhere - thus it is kernel-specific. It has to be compiled against *this*
kernel (the one running) and nothing else, or it won't work - that's why you're
getting BSOD when you restart the machine into a new kernel - every kernel keeps
its modules in its own subdir in /lib/modules - which is a Good Thing ;-).
To compile the nvidia driver against a kernel which you are not running (but
have installed anyway) you should use the '-k' option to the NVIDIA-installer
script. Here's what the '-A' option (sort of the man page for the installer)
says:
-k, --kernel-name=KERNEL-NAME
Build and install the NVIDIA kernel module for the
non-running kernel specified by KERNEL-NAME (KERNEL-NAME
should be the output of `uname -r` when the target kernel
is actually running). This option implies
'--no-precompiled-interface'. If the options
'--kernel-install-path' and '--kernel-source-path' are not
given, then they will be inferred from KERNEL-NAME; eg:
'/lib/modules/KERNEL-NAME/kernel/drivers/video/' and
'/lib/modules/KERNEL-NAME/build/', respectively.
(To find out the KERNEL-NAME, just ls /lib/modules and match against whatever
you would like to boot next)
So you can compile the new driver module before rebooting. But you *have* to
re-compile it when you update your kernel, there's *absolutely* no way around it
- except using a repo that has precompiled modules to match your kernel and
driver versions (maybe someone can give a pointer? I remember there existed
some).
I have scripts that take care for me - (they wouldn't really be of any use to
you, though - on kernel-level I don't do things the Debian way at all) and you
could write yourself a simple one... it's easy.
HTH, Aleks
Attachment:
signature.asc
Description: Digital signature