Dkms
Aus SchnallIchNet
Inhaltsverzeichnis
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
![]() |
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