xopher
How to include a newer NVIDIA driver into the linux-restricted-modules package
Introduction
This page details how to make your own nvidia-glx integrated to the linux-restricted-modules package.
Setting up repositories
Add this source entry into your /etc/apt/sources.list
deb-src http://fi.archive.ubuntu.com/ubuntu edgy main restricted universe multiverse
Getting the source
Then cd to a directory where you want do to the compiling and get the source by issuing this commmand
apt-get source nvidia-glx
Now let's satisfy the build dependencies (If you're building with pbuilder you can skip this step)
sudo apt-get build-dep nvidia-glx
Download the driver packages
You need both of these packages for the linux-restricted-modules:
[http://us.download.nvidia.com/XFree86/Linux-x86/1.0-9742/NVIDIA-Linux-x86-1.0-9742-pkg1.run NVIDIA-Linux-x86-1.0-9742-pkg1.run] [http://us.download.nvidia.com/XFree86/Linux-x86_64/1.0-9742/NVIDIA-Linux-x86_64-1.0-9742-pkg2.run NVIDIA-Linux-x86_64-1.0-9742-pkg2.run]
Exchanging files from the archive
Open linux-restricted-modules-2.6.17_2.6.17.6.orig.tar.gz in e.g. file-roller. Go to /linux-restricted-modules-2.6.17-2.6.17.6.orig/nvidia/ (in fileroller) and delete the old (8776) driver, which you want to replace, still leaving the nvidia legacy drivers intact. After this, add the files you downloaded [ NVIDIA-Linux-x86-1.0-9742-pkg1.run NVIDIA-Linux-x86_64-1.0-9742-pkg2.run ] to the archive.
Editing the .diff file
Extract linux-restricted-modules-2.6.17_2.6.17.6-1.1.diff.gz and open the .diff file in your favorite text editor.
1. Find and replace all instances of 8776 with 9742 - The 8776 in the changelog section you can leave unchanged. 2. Find and replace:
$(nv_dirname)/usr/X11R6/lib/modules/drivers/'''nvidia_drv.o'''
with
$(nv_dirname)/usr/X11R6/lib/modules/drivers/'''nvidia_drv.so'''
3. Find:
+linux-restricted-modules-2.6.17 (2.6.17.6-1.1) edgy-security; urgency=low
Add this section above that line (to bump the version number and update the changelog):
+linux-restricted-modules-2.6.17 (2.6.17.6-1.'''2''') edgy-security; urgency=low + + * Updated the NVIDIA driver to version 9742. + + -- Christoffer Karvonen <mail@yourhost.com> Mon, 20 Nov 2006 02:46:43 +0200 +
As we have added six (6) lines to the file, the above line must be altered from:
@@ -0,0 +1,'''1319''' @@
to
@@ -0,0 +1,'''1325''' @@
You can of course replace my name and email with your own.
Save the file. Then rename the file to linux-restricted-modules-2.6.17_2.6.17.6-1.2.diff and gzip it.
Making some final touches (the .dsc file)
Edit linux-restricted-modules-2.6.17_2.6.17.6-1.1.dsc, again, open it with your favorite text editor.
Find and replace:
Version: 2.6.17.6-1.'''1'''
with
Version: 2.6.17.6-1.'''2'''
linux-restricted-modules-2.6.17_2.6.17.6-1.'''1'''.diff.gz
with
linux-restricted-modules-2.6.17_2.6.17.6-1.'''2'''.diff.gz
Now we need to replace the MD5SUM's and sizes in the .dsc with new one's. Commands to do this are: {{{ md5sum <filename> ls -lh <filename> }}}
Be sure you get the MD5SUM's (and sizes) of the correct files; linux-restricted-modules-2.6.17_2.6.17.6.orig.tar.gz and linux-restricted-modules-2.6.17_2.6.17.6-1.2.diff.gz
Rename the .dsc file
mv linux-restricted-modules-2.6.17_2.6.17.6-1.1.dsc linux-restricted-modules-2.6.17_2.6.17.6-1.'''2'''.dsc
Building it
To build it either with pbuilder:
sudo pbuilder build linux-restricted-modules-2.6.17_2.6.17.6-1.1.dsc
or without it:
Extract the source with
dpkg-source -x
Change to the directory it was extracted to and run
dpkg-buildpackage -rfakeroot
It takes a while to compile, but hopefully finishes
Enjoy your brand new l-r-m and nvidia-glx debs!