Back in October kelmo pointed me to a nifty framework that he'd been working on called dmakms. I must say that I've been rather impressed with this piece of software and because of it I've almost forgotten how to build and install Nvidia with module-assistant. Once configured (and even this is trivial at worst) you can completely forget about messing with module assistant. Your new driver is 'just there and working' on next boot.
First I added the appropriate module source to the config:
Code:
/etc/default/dmakms
nvidia-kernel-source
Then apt-get update;apt-get dist-upgrade in the usual fashion. When a new kernel arrives nvidia gets built with exactly 0 intervention from the user.
Code:
Fetched 25.8MB in 1min 52s (229kB/s)
Preconfiguring packages ...
Selecting previously deselected package linux-headers-2.6.27-9.slh.1-common.
(Reading database ... 171170 files and directories currently installed.)
Unpacking linux-headers-2.6.27-9.slh.1-common (from .../linux-headers-2.6.27-9.slh.1-common_2.6.27-39_i386.deb) ...
Selecting previously deselected package linux-headers-2.6.27-9.slh.1-sidux-686.
Unpacking linux-headers-2.6.27-9.slh.1-sidux-686 (from .../linux-headers-2.6.27-9.slh.1-sidux-686_2.6.27-39_i386.deb) ...
Selecting previously deselected package linux-image-2.6.27-9.slh.1-sidux-686.
Unpacking linux-image-2.6.27-9.slh.1-sidux-686 (from .../linux-image-2.6.27-9.slh.1-sidux-686_2.6.27-39_i386.deb) ...
Done.
Preparing to replace linux-headers-2.6-sidux-686 2.6.27-38 (using .../linux-headers-2.6-sidux-686_2.6.27-39_i386.deb) ...
Unpacking replacement linux-headers-2.6-sidux-686 ...
Preparing to replace linux-image-2.6-sidux-686 2.6.27-38 (using .../linux-image-2.6-sidux-686_2.6.27-39_i386.deb) ...
Unpacking replacement linux-image-2.6-sidux-686 ...
Selecting previously deselected package lirc-modules-modules-2.6.27-9.slh.1-sidux-686.
Unpacking lirc-modules-modules-2.6.27-9.slh.1-sidux-686 (from .../lirc-modules-modules-2.6.27-9.slh.1-sidux-686_2.6.27.rev39+0.8.3-1_i386.deb) ...
Preparing to replace lirc-modules-modules-2.6-sidux-686 2:2.6.27.rev38-1 (using .../lirc-modules-modules-2.6-sidux-686_2%3a2.6.27.rev39-1_i386.deb) ...
Unpacking replacement lirc-modules-modules-2.6-sidux-686 ...
Selecting previously deselected package rfswitch-modules-2.6.27-9.slh.1-sidux-686.
Unpacking rfswitch-modules-2.6.27-9.slh.1-sidux-686 (from .../rfswitch-modules-2.6.27-9.slh.1-sidux-686_2.6.27.rev39+1.3-1_i386.deb) ...
Preparing to replace rfswitch-modules-2.6-sidux-686 2:2.6.27.rev38-1 (using .../rfswitch-modules-2.6-sidux-686_2%3a2.6.27.rev39-1_i386.deb) ...
Unpacking replacement rfswitch-modules-2.6-sidux-686 ...
Setting up linux-headers-2.6.27-9.slh.1-common (2.6.27-39) ...
Setting up linux-headers-2.6.27-9.slh.1-sidux-686 (2.6.27-39) ...
Setting up linux-image-2.6.27-9.slh.1-sidux-686 (2.6.27-39) ...
Running depmod.
Running mkinitramfs-kpkg.
Other valid candidates: mkinitramfs-kpkg mkinitrd.yaird
Running script /usr/sbin/update-grub.
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.27-9.slh.1-sidux-686
Found kernel: /boot/vmlinuz-2.6.27-8.slh.3-sidux-686
Updating /boot/grub/menu.lst ... done
Now dmakms builds Nvidia for you
Code:
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dmakms
Setting up linux-headers-2.6-sidux-686 (2.6.27-39) ...
Setting up linux-image-2.6-sidux-686 (2.6.27-39) ...
Setting up lirc-modules-modules-2.6.27-9.slh.1-sidux-686 (2.6.27.rev39+0.8.3-1) ...
Setting up lirc-modules-modules-2.6-sidux-686 (2:2.6.27.rev39-1) ...
Setting up rfswitch-modules-2.6.27-9.slh.1-sidux-686 (2.6.27.rev39+1.3-1) ...
Setting up rfswitch-modules-2.6-sidux-686 (2:2.6.27.rev39-1) ...
The module is built but not yet installed:
Code:
ls /usr/src|grep 2.6.27-9
linux-headers-2.6.27-9.slh.1-common/
linux-headers-2.6.27-9.slh.1-sidux-686/
nvidia-kernel-2.6.27-9.slh.1-sidux-686_177.80-1+2.6.27-39_i386.deb
# dpkg -l|grep 2.6.27-9
ii linux-headers-2.6.27-9.slh.1-common 2.6.27-39 Common header files for Linux 2.6.27-9.slh.1
ii linux-headers-2.6.27-9.slh.1-sidux-686 2.6.27-39 Header files for Linux 2.6.27-9.slh.1-sidux-
ii linux-image-2.6.27-9.slh.1-sidux-686 2.6.27-39 Linux 2.6.27 image on PPro/Celeron/PII/PIII/
ii lirc-modules-modules-2.6.27-9.slh.1-sidux-686 2.6.27.rev39+0.8.3-1 infra-red remote control support modules for
ii rfswitch-modules-2.6.27-9.slh.1-sidux-686 2.6.27.rev39+1.3-1 Modules for the rfswitch drivers modules for
On reboot the new Nvidia.deb gets installed. It's been flawless for me for the last 5 or 6 slh kernels.
Before setting this up it's important to read /usr/share/doc/dmakms/README.Debian
The hardest part of this whole thing has been remembering the name.
DEE MACK UMS |