Dkms

Aus SchnallIchNet
Wechseln zu: Navigation, Suche

nvidia (proprietary) driver

we need the following packages:

apt-get install dkms build-essential make

get the correct NVIDIA-Linux-ARCH-VERSION-pkgN.run driver installer from nvidia.com
or
NVIDIA-Linux-ARCH-VERSION.run

Achtung.jpeg the new package (without tne '-pkgN' extension) has diffrent path in archive

pre-dkms

unpack driver:

mkdir -p /tmp/nvdkmsprep
sh /usr/src/nvidia/NVIDIA-Linux-ARCH-VERSION-pkgN.run >/dev/null --extract-only --target /tmp/nvdkmsprep/installer

cp driver to place where dkms espects it:

mkdir -p /usr/src/nvidia-VERSION
cp -r /tmp/nvdkmsprep/installer/usr/src/nv/* /usr/src/nvidia-VERSION

for drivers-packages without '-pkgN' extension:

cp -r /tmp/nvdkmsprep/installer/kernel/* /usr/src/nvidia-VERSION

dkms config

create dkms.conf in that directory:

cat > /usr/src/nvidia-VERSION/dkms.conf <<EOF
PACKAGE_NAME="nvidia"
PACKAGE_VERSION="'VERSION'"
#CLEAN="make clean"
CLEAN="true"
BUILT_MODULE_NAME[0]="nvidia"
SYSSRC=$kernel_source_dir"
#modified for squeeze see next line#MAKE[0]="make module KERNDIR=/lib/modules/$kernelver IGNORE_XEN_PRESENCE=1 IGNORE_CC_MISMATCH=1 
MAKE[0]="make module IGNORE_CC_MISMATCH=1"
DEST_MODULE_LOCATION[0]="/kernel/drivers/video/nvidia"
AUTOINSTALL="yes"
EOF

run dkms commands

after created config-file we do:

dkms add -m nvidia -v VERSION
dkms build -m nvidia -v VERSION
dkms install -m nvidia -v VERSION

now show status of dkms:

dkms status


realtek driver r8168-8.016.00.tar.bz2

pre-dkms

unpack driver:

tar -xvjf r8168-8.016.00.tar.bz2

cp driver to place where dkms espects it:

mkdir /usr/src/r8168-8.016.00/
cp -r r8168-8.016.00/src/* /usr/src/r8168-8.016.00/

Makefile-patch

--- /usr/src/realtek/r8168-8.016.00/src/Makefile        2009-12-23 13:07:08.000000000 +0100
+++ /usr/src/r8168-8.016.00/Makefile    2010-09-09 10:29:04.000000000 +0200
@@ -30,20 +30,21 @@
 # US5,307,459, US5,434,872, US5,732,094, US6,570,884, US6,115,776, and US6,327,625.
 ################################################################################

-KVER           := $(shell uname -r)
+KVER           := $(KERNELRELEASE)
 KDIR           := /lib/modules/$(KVER)/build
 KMISC          := /lib/modules/$(KVER)/kernel/drivers/net/
 KEXT           := $(shell echo $(KVER) | sed -ne 's/^2\.[567]\..*/k/p')o
 KFLAG          := 2$(shell echo $(KVER) | sed -ne 's/^2\.[4]\..*/4/p')x

 EXTRA_CFLAGS += -DCONFIG_R8168_NAPI
+EXTRA_CFLAGS += -w
 #EXTRA_CFLAGS += -DCONFIG_R8168_VLAN

 modules:
 ifeq ($(KFLAG),24x)
        $(MAKE) -f Makefile_linux24x
 else
-       $(MAKE) -C $(KDIR) SUBDIRS=$(PWD)/src modules
+       $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
        strip --strip-debug r8168.$(KEXT)
 endif


dkms config

create dkms.conf in that directory:

cat > /usr/src/r8168-8.016.00/dkms.conf <<EOF
PACKAGE_NAME="r8168"
PACKAGE_VERSION="8.016.00"
SYSSRC=$kernel_source_dir"
CLEAN="make clean"
#CLEAN="true"
BUILT_MODULE_NAME[0]="r8168"
MAKE[0]="make modules"
DEST_MODULE_LOCATION[0]="/kernel/drivers/net"
AUTOINSTALL="yes"
EOF

run dkms commands

after created config-file we do:

dkms add -m r8168 -v 8.016.00
dkms build -m r8168 -v 8.016.00 [-k 2.6.32-trunk-686]
dkms install -m r8168 -v 8.016.00 [-k 2.6.32-trunk-686]

now show status of dkms:

dkms status