[elrepo-devel] kmod-nvidia.el6 question

Steve Cleveland stevec at engr.orst.edu
Wed Feb 9 17:30:15 EST 2011



On 02/09/11 14:05, Phil Perry wrote:
> On 09/02/11 20:27, Steve Cleveland wrote:
>> When I initially tested the nvidia-x11-drv and kmod-nvidia package with
>> rhel6, it was working great.  But now I've run into a bit of a strange
>> issue.
>>
>> My system build environment is based on the latest version of every
>> package (using mrepo to download RHN updates and adding a repo option to
>> ks.cfg to look at that repository during install).
>>
>> So for kernel, it is installing the latest available kernel only
>> (currently 2.6.32-71.14.1.el6.x86_64).
>>
>> With that package in place, if I install nvidia-x11-drv and kmod-nvidia,
>> I'm not able to load the nvidia module:
>>
>
>
> Hi Steve,
>
> This is a known issue, although I'm not exactly sure of the cause.
>
> The "issue" arises when installing kmod-nvidia from a kickstart. If you
> set up your machine with kickstart and then install kmod-nvidia manually
> afterwards, I'm guessing all works fine. The other solution should
> simply be to uninstall and reinstall kmod-nvidia.

That did fix the issue after a subsequent reboot.

>
> Here is another instance of a user having troubles installing from a
> kickstart:
>
> http://elrepo.org/bugs/view.php?id=98
>
> I'd be particularly interested to see your /etc/xorg.conf and
> /boot/grub/grub.conf files immediately after a failed kickstart install,
> please.


/etc/X11/xorg.conf:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 260.19.36 
(buildmeister at swio-display-x86-rhel47-01.nvidia.com)  Tue Jan 18 
17:15:22 PST 2011

Section "ServerLayout"
         Identifier     "Layout0"
         Screen      0  "Screen0" 0 0
         InputDevice    "Keyboard0" "CoreKeyboard"
         InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
         ModulePath   "/usr/lib64/xorg/modules/extensions/nvidia"
         ModulePath   "/usr/lib64/xorg/modules"
EndSection

Section "InputDevice"

     # generated from default
         Identifier  "Mouse0"
         Driver      "mouse"
         Option      "Protocol" "auto"
         Option      "Device" "/dev/psaux"
         Option      "Emulate3Buttons" "no"
         Option      "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

     # generated from data in "/etc/sysconfig/keyboard"
         Identifier  "Keyboard0"
         Driver      "kbd"
         Option      "XkbLayout" "us"
         Option      "XkbModel" "pc105"
EndSection

Section "Monitor"
         Identifier   "Monitor0"
         VendorName   "Unknown"
         ModelName    "Unknown"
         HorizSync    28.0 - 33.0
         VertRefresh  43.0 - 72.0
         Option      "DPMS"
EndSection

Section "Device"
         Identifier  "Device0"
         Driver      "nvidia"
         VendorName  "NVIDIA Corporation"
EndSection

Section "Screen"
         Identifier "Screen0"
         Device     "Device0"
         Monitor    "Monitor0"
         DefaultDepth     24
         SubSection "Display"
                 Depth     24
         EndSubSection
EndSection


/etc/grub.conf:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_rhel6-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sdf
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
password --md5 $1$gQyuvWje$qqnusorwuwxnbx498vLZ50
title Red Hat Enterprise Linux (2.6.32-71.14.1.el6.x86_64)
         root (hd0,0)
         kernel /vmlinuz-2.6.32-71.14.1.el6.x86_64 ro 
root=/dev/mapper/vg_rhel6-lv_root rd_LVM_LV=vg_rhel6/lv_root 
rd_LVM_LV=vg_rhel6/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 
SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto 
rhgb quiet
         initrd /initramfs-2.6.32-71.14.1.el6.x86_64.img



After removing and reinstalling kmod-nvidia, the /etc/grub.conf has changed:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_rhel6-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sdf
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
password --md5 $1$gQyuvWje$qqnusorwuwxnbx498vLZ50
title Red Hat Enterprise Linux (2.6.32-71.14.1.el6.x86_64)
         root (hd0,0)
         kernel /vmlinuz-2.6.32-71.14.1.el6.x86_64 ro 
root=/dev/mapper/vg_rhel6-lv_root rd_LVM_LV=vg_rhel6/lv_root 
rd_LVM_LV=vg_rhel6/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 
SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto 
rhgb quiet nouveau.modeset=0 rdblacklist=nouveau
         initrd /initramfs-2.6.32-71.14.1.el6.x86_64.img


As referenced in the bug posting, the issue appears to be with grubby 
not working correctly during kickstart.  That's unfortunate.

>
>
>> # modprobe nvidia
>> FATAL: Error inserting nvidia
>> (/lib/modules/2.6.32-71.14.1.el6.x86_64/weak-updates/nvidia/nvidia.ko):
>> No such device
>>
>> But the file does exist:
>>
>> # ll /lib/modules/2.6.32-71.14.1.el6.x86_64/weak-updates/nvidia/nvidia.ko
>> lrwxrwxrwx. 1 root root 56 Feb  9 11:09
>> /lib/modules/2.6.32-71.14.1.el6.x86_64/weak-updates/nvidia/nvidia.ko ->
>> /lib/modules/2.6.32-71.el6.x86_64/extra/nvidia/nvidia.ko
>>
>> # ll /lib/modules/2.6.32-71.el6.x86_64/extra/nvidia/nvidia.ko
>> -rw-r--r--. 1 root root 14845520 Jan 21 11:35
>> /lib/modules/2.6.32-71.el6.x86_64/extra/nvidia/nvidia.ko
>>
>
> Yes, that all looks as expected
>
>>     From here, I can install the old kernel (2.6.32-71.el6.x86_64) and boot
>> off of that.  The module loads fine.  But even with the old kernel in
>> place, the newer kernel cannot load the module.
>
> Yes, that's not right. Clearly the first install with
> kernel-2.6.32-71.14.1.el6.x86_64 has failed and only
> uninstall/reinstalling is going to fix it. As I said above, I suspect
> reinstalling either the kernel (as you've demonstrated) or kmod-nvidia
> would have the same effect.
>
>> If I then remove the
>> newer kernel, reinstall it, and then boot off of it, the module loads fine.
>>
>> Is there a piece in the stock kernel that is needed by kmod-nvidia to
>> work correctly?  I'm not terribly familiar with how weak kernel modules
>> work.  I get the impression that during the update process, modules get
>> linked or copied over to the newer kernels.  But by having the newer
>> kernel be the first one loaded, does that break what the kmod module
>> does?  Is there a solution to get this to work on whatever the most
>> current kernel version is?
>>
>
> No, there's no magic involved here - in theory the module should just
> work with any kernel and you certainly don't need any particular kernel
> to be installed on the system.

I will do another install and try just editing the grub.conf and 
rebooting again.  If that takes care of things, I can figure out a way 
to work around that.

Thanks,
  - Steve



More information about the elrepo-devel mailing list