mathjax + gtag

Pages

Showing posts with label drivers. Show all posts
Showing posts with label drivers. Show all posts

Monday, August 1, 2016

OpenSUSE Leap 42.1 and nvidia kernel driver

The symptoms

Nvidia kernel drivers were not loaded after kernel update.

The problem

The package nvidia-gfxG04-kmp-default-367.35_k4.1.12_1-25.1.x86_64 runs a script that regenerates the kernel drivers and creates symlinks in /lib/modules/4.1.27-27-default/weak-updates/updates. After running:

# zypper in --force $(rpm -qa "nvidia-gfx*kmp*")

I noticed that the links were not beeing generated:

# zypper in --force $(rpm -qa "nvidia-gfx*kmp*")
Retrieving repository 'network:utilities' metadata ..........................................................................................................[done]
Building repository 'network:utilities' cache ...............................................................................................................[done]
Loading repository data...
Reading installed packages...
Forcing installation of 'nvidia-gfxG04-kmp-default-367.35_k4.1.12_1-25.1.x86_64' from repository 'nVidia Graphics Drivers'.
Resolving package dependencies...

The following package is going to be reinstalled:
  nvidia-gfxG04-kmp-default

1 package to reinstall.
Overall download size: 5.8 MiB. Already cached: 0 B. No additional space will be used or freed after the operation.
Continue? [y/n/? shows all options] (y): 
Retrieving package nvidia-gfxG04-kmp-default-367.35_k4.1.12_1-25.1.x86_64                                                     (1/1),   5.8 MiB ( 64.6 MiB unpacked)
Retrieving: nvidia-gfxG04-kmp-default-367.35_k4.1.12_1-25.1.x86_64.rpm ..........................................................................[done (2.2 MiB/s)]
Checking for file conflicts: ................................................................................................................................[done]
(1/1) Installing: nvidia-gfxG04-kmp-default-367.35_k4.1.12_1-25.1.x86_64 ....................................................................................[done]
Additional rpm output:
make: Entering directory '/usr/src/linux-4.1.27-27-obj/x86_64/default'
  Building modules, stage 2.
  MODPOST 0 modules
make: Leaving directory '/usr/src/linux-4.1.27-27-obj/x86_64/default'
/usr/src/kernel-modules/nvidia-367.35-default /
make "CC=cc" KBUILD_OUTPUT=/usr/src/linux-obj/x86_64/default KBUILD_VERBOSE= -C /lib/modules/4.1.27-27-default/source M=/usr/src/kernel-modules/nvidia-367.35-default ARCH=x86_64 NV_KERNEL_SOURCES=/lib/modules/4.1.27-27-default/source NV_KERNEL_OUTPUT=/usr/src/linux-obj/x86_64/default NV_KERNEL_MODULES="nvidia nvidia-uvm nvidia-modeset nvidia-drm" INSTALL_MOD_DIR=kernel/drivers/video modules
make[1]: Entering directory '/usr/src/linux-4.1.27-27'
make[2]: Entering directory '/usr/src/linux-4.1.27-27-obj/x86_64/default'
  Building modules, stage 2.
  MODPOST 4 modules
make[2]: Leaving directory '/usr/src/linux-4.1.27-27-obj/x86_64/default'
make[1]: Leaving directory '/usr/src/linux-4.1.27-27'
ld -T /lib/modules/4.1.27-27-default/source/scripts/module-common.lds -r -o nv-linux.o \
  nvidia.mod.o nvidia/nv-interface.o
/

Modprobe blacklist files have been created at /etc/modprobe.d to prevent Nouveau from loading. This can be reverted by deleting /etc/modprobe.d/nvidia-*.conf.

*** Reboot your computer and verify that the NVIDIA graphics driver can be loaded. ***

depmod: WARNING: //lib/modules/4.1.27-27-default/misc/vboxvideo.ko disagrees about version of symbol VBoxGuest_RTLogBackdoorPrintf
depmod: WARNING: //lib/modules/4.1.27-27-default/misc/vboxvideo.ko disagrees about version of symbol VBoxGuest_RTErrConvertToErrno
depmod: WARNING: //lib/modules/4.1.27-27-default/misc/vboxvideo.ko disagrees about version of symbol VBoxGuest_RTAssertShouldPanic
depmod: WARNING: //lib/modules/4.1.27-27-default/misc/vboxvideo.ko disagrees about version of symbol VBoxGuest_RTAssertMsg1Weak
depmod: WARNING: //lib/modules/4.1.27-27-default/misc/vboxvideo.ko disagrees about version of symbol VBoxGuest_RTAssertMsg2Weak
Warning: /lib/modules/4.1.27-27-default is inconsistent
Warning: weak-updates symlinks might not be created


Output of nvidia-gfxG04-kmp-default-367.35_k4.1.12_1-25.1.x86_64.rpm %posttrans script:
    Creating initrd: /boot/initrd-4.1.12-1-default
    Executing: /usr/bin/dracut --logfile /var/log/YaST2/mkinitrd.log --force --force-drivers "nvidia   -drm" /boot/initrd-4.1.12-1-default 4.1.12-1-default
    *** Including module: bash ***
    *** Including module: warpclock ***
    *** Including module: i18n ***
    *** Including module: ifcfg ***
    *** Including module: drm ***
    *** Including module: plymouth ***
    *** Including module: kernel-modules ***
    Omitting driver i2o_scsi
    *** Including module: resume ***
    *** Including module: rootfs-block ***
    *** Including module: terminfo ***
    *** Including module: udev-rules ***
    Skipping udev rule: 91-permissions.rules
    Skipping udev rule: 80-drivers-modprobe.rules
    *** Including module: haveged ***
    *** Including module: systemd ***
    *** Including module: usrmount ***
    *** Including module: base ***
    *** Including module: fs-lib ***
    *** Including module: shutdown ***
    *** Including module: suse ***
    *** Including modules done ***
    *** Installing kernel module dependencies and firmware ***
    *** Installing kernel module dependencies and firmware done ***
    *** Resolving executable dependencies ***
    *** Resolving executable dependencies done***
    *** Hardlinking files ***
    *** Hardlinking files done ***
    *** Stripping files ***
    *** Stripping files done ***
    *** Generating early-microcode cpio image ***
    *** Constructing GenuineIntel.bin ****
    *** Store current command line parameters ***
    Stored kernel commandline:
    rd.driver.pre=nvidia
    rd.driver.pre=_drm
     resume=UUID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    root=UUID=xxxxxxxxxxxxxxxxxxxxxx rootflags=rw,relatime,data=ordered rootfstype=ext4
    *** Creating image file ***
    *** Creating image file done ***
    Some kernel modules could not be included
    This is not necessarily an error:
    swap
    _drm
    Update bootloader...
    Creating initrd: /boot/initrd-4.1.27-24-default
    Executing: /usr/bin/dracut --logfile /var/log/YaST2/mkinitrd.log --force --force-drivers "nvidia   -drm" /boot/initrd-4.1.27-24-default 4.1.27-24-default
    *** Including module: bash ***
    *** Including module: warpclock ***
    *** Including module: i18n ***
    *** Including module: ifcfg ***
    *** Including module: drm ***
    *** Including module: plymouth ***
    *** Including module: kernel-modules ***
    Omitting driver i2o_scsi
    *** Including module: resume ***
    *** Including module: rootfs-block ***
    *** Including module: terminfo ***
    *** Including module: udev-rules ***
    Skipping udev rule: 91-permissions.rules
    Skipping udev rule: 80-drivers-modprobe.rules
    *** Including module: haveged ***
    *** Including module: systemd ***
    *** Including module: usrmount ***
    *** Including module: base ***
    *** Including module: fs-lib ***
    *** Including module: shutdown ***
    *** Including module: suse ***
    *** Including modules done ***
    *** Installing kernel module dependencies and firmware ***
    *** Installing kernel module dependencies and firmware done ***
    *** Resolving executable dependencies ***
    *** Resolving executable dependencies done***
    *** Hardlinking files ***
    *** Hardlinking files done ***
    *** Stripping files ***
    *** Stripping files done ***
    *** Generating early-microcode cpio image ***
    *** Constructing GenuineIntel.bin ****
    *** Store current command line parameters ***
    Stored kernel commandline:
    rd.driver.pre=nvidia
    rd.driver.pre=_drm
     resume=UUID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    root=UUID=xxxxxxxxxxxxxxxxxxxxxxx rootflags=rw,relatime,data=ordered rootfstype=ext4
    *** Creating image file ***
    *** Creating image file done ***
    Some kernel modules could not be included
    This is not necessarily an error:
    swap
    _drm
    Update bootloader...

The solution

Uninstall the virtualbox guest packages: virtualbox-guest-kmp-default, virtualbox-guest-tools and virtualbox-guest-x11 and rerun # zypper in --force $(rpm -qa "nvidia-gfx*kmp*") as root. After that, the links are created as follows:

/lib/modules/4.1.27-27-default/weak-updates/updates # l
total 8
drwxr-xr-x 2 root root 4096 Aug  1 15:41 ./
drwxr-xr-x 4 root root 4096 Jul 21 19:03 ../
lrwxrwxrwx 1 root root   51 Aug  1 15:41 nvidia-drm.ko -> /lib/modules/4.1.12-1-default/updates/nvidia-drm.ko
lrwxrwxrwx 1 root root   55 Aug  1 15:41 nvidia-modeset.ko -> /lib/modules/4.1.12-1-default/updates/nvidia-modeset.ko
lrwxrwxrwx 1 root root   51 Aug  1 15:41 nvidia-uvm.ko -> /lib/modules/4.1.12-1-default/updates/nvidia-uvm.ko
lrwxrwxrwx 1 root root   47 Aug  1 15:41 nvidia.ko -> /lib/modules/4.1.12-1-default/updates/nvidia.ko