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 to the archive.
Editing the other files
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 @@
Instead of my name and email you can of course put your own.
Allright, all the hard stuff is done. Save the file. Then rename the file to linux-restricted-modules-2.6.17_2.6.17.6-1.2.diff and gzip it.
Now all we have to do is 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 sums 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 linux-restricted-modules-2.6.17_2.6.17.6-1.1.dsc to linux-restricted-modules-2.6.17_2.6.17.6-1.2.dsc and we're set to go.
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 exdtracted in and run dpkg-buildpackage -rfakeroot
It takes a while to compile, but eventually finishes
Enjoy your brand new l-r-m and nvidia-glx debs!