LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 727|回复: 5

能解释下这段什么意思吗?

[复制链接]
发表于 2005-1-23 02:01:56 | 显示全部楼层 |阅读模式
能解释下这段什么意思吗?

Q: I just upgraded my kernel, and now the NVIDIA kernel module will not
   load.  What is wrong?

A: The kernel interface layer of the NVIDIA kernel module must be
   compiled specifically for the configuration and version of your kernel.
   If you upgrade your kernel, then the simplest solution is to reinstall
   the driver.

   ADVANCED: You can install the NVIDIA kernel module for a non
   running kernel (for example: in the situation where you just built
   and installed a new kernel, but have not rebooted yet) with a command
   line such as this:

    sh NVIDIA-Linux-x86-1.0-6629-pkg1.run --kernel-name='KERNEL_NAME'

   Where 'KERNEL_NAME' is what `uname -r` would report if the target
   kernel were running.
 楼主| 发表于 2005-1-23 02:22:57 | 显示全部楼层
Q: I have rebuilt the NVIDIA kernel module, but when I try to insert
   it, I get a message telling me I have unresolved symbols.

A. Unresolved symbols are most often caused by a mismatch between your
   kernel sources and your running kernel.  They must match for the
   NVIDIA kernel module to build correctly.  Please make sure your kernel
   sources are installed and configured to match your running kernel.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-23 02:40:14 | 显示全部楼层
Q: I cannot build the NVIDIA kernel module, or I can build the NVIDIA
   kernel module, but modprobe/insmod fails to load the module into
   my kernel.  What is wrong?

A: These problems are generally caused by the build using the wrong kernel
   header files (ie header files for a different kernel version than
   the one you are running).  The convention used to be that kernel
   header files should be stored in "/usr/include/linux/", but that
   is deprecated in favor of "/lib/modules/`uname -r`/build/include".
   The nvidia-installer should be able to determine the location on your
   system; however, if you encounter a problem you can force the build
   to use certain header files by using the --kernel-include-dir option.
   Obviously, for this to work, you need the appropriate kernel header
   files installed on your system.  Consult the documentation that came
   with your distribution; some distributions do not install the kernel
   header files by default, or they install headers that do not coincide
   properly with the kernel you are running.
回复 支持 反对

使用道具 举报

发表于 2005-1-23 20:12:10 | 显示全部楼层
Post by Murder9527
能解释下这段什么意思吗?

Q: I just upgraded my kernel, and now the NVIDIA kernel module will not
   load.  What is wrong?

A: The kernel interface layer of the NVIDIA kernel module must be
   compiled specifically for the configuration and version of your kernel.
   If you upgrade your kernel, then the simplest solution is to reinstall
   the driver.

   ADVANCED: You can install the NVIDIA kernel module for a non
   running kernel (for example: in the situation where you just built
   and installed a new kernel, but have not rebooted yet) with a command
   line such as this:

    sh NVIDIA-Linux-x86-1.0-6629-pkg1.run --kernel-name='KERNEL_NAME'

   Where 'KERNEL_NAME' is what `uname -r` would report if the target
   kernel were running.

问:我刚刚升级了我的核心,现在NVIDIA核心模块不能加载,错在哪?
答:NVIDIA核心模块的核心界面层必须对你的核心版本及配置专门编译。如果你升级了核心,最简单的办法是重新安装驱动。
  进一步:你可以用一下命令行给非运行中的核心安装NVIDIA核心模块(比如,你刚建立并安装了新核心,但还没重起):
  sh NVIDIA-Linux-x86-1.0-pkg1.run --kernel-name='KERNEL_NAME'
  其中‘KERNEL_NAME’是假如运行目标核心的话,uname -r 所报出的内容。
回复 支持 反对

使用道具 举报

发表于 2005-1-23 20:25:00 | 显示全部楼层
Post by Murder9527
Q: I have rebuilt the NVIDIA kernel module, but when I try to insert
   it, I get a message telling me I have unresolved symbols.

A. Unresolved symbols are most often caused by a mismatch between your
   kernel sources and your running kernel.  They must match for the
   NVIDIA kernel module to build correctly.  Please make sure your kernel
   sources are installed and configured to match your running kernel.

问:我重建了NVIDIA核心模块,但是,当我试图加载它时,我得到的信息是我遇到了没解决的符号。
答:引起未决符号的最常见原因是你的核心源码与你运行的核心不匹配。为了正确建立NVIDIA模块,他们必须相配。请确认你安装并配置了与你的运行核心匹配的核心源码。
回复 支持 反对

使用道具 举报

发表于 2005-1-23 20:55:49 | 显示全部楼层
Post by Murder9527
Q: I cannot build the NVIDIA kernel module, or I can build the NVIDIA
   kernel module, but modprobe/insmod fails to load the module into
   my kernel.  What is wrong?

A: These problems are generally caused by the build using the wrong kernel
   header files (ie header files for a different kernel version than
   the one you are running).  The convention used to be that kernel
   header files should be stored in "/usr/include/linux/", but that
   is deprecated in favor of "/lib/modules/`uname -r`/build/include".
   The nvidia-installer should be able to determine the location on your
   system; however, if you encounter a problem you can force the build
   to use certain header files by using the --kernel-include-dir option.
   Obviously, for this to work, you need the appropriate kernel header
   files installed on your system.  Consult the documentation that came
   with your distribution; some distributions do not install the kernel
   header files by default, or they install headers that do not coincide
   properly with the kernel you are running.

问:我无法建立NVIDIA核心模块,或者能建立模块但modprobe/insmod不能把模块加载到核心里,错在那?
答:这些问题一般是由于在建立模块时使用了错误的核心头文件(就是说与你的运行核心版本不同的头文件)。常规是,头文件应放在/usr/include/linux目录中,但放在/lib/modules/`uname -r`/build/include中是不同的偏好。nvidia安装程序应当能够确定(头文件)在你的系统中的位置;然而,如果你碰到问题,你可以用--kernel-include-dir选项来强制使用某个头文件。显然,这样做的话,你要在系统中安装合适的头文件。参考分发版所带的文档;某些分发版默认并不安装核心头文件,或安装的头文件对你的运行核心并不合适。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表