QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4903|回复: 5

真的无法理解为什么各种闭源驱动不支持 kernel 3.10 难道...?

[复制链接]
发表于 2014-1-11 09:37:44 | 显示全部楼层 |阅读模式
难道是我编译的内核有问题,头文件存放位置有问题?
之前 3.4 的内核至今的修补版本一直都不支持华硕某主板的网卡,所以只好升级到 3.10。
不过 3.10 内核至今没发现包括 AMD NVIDIA VBOX 在内的哪款闭源驱动能成功安装的。
发表于 2014-1-11 09:58:39 | 显示全部楼层
错误信息是什么敢说吗?
回复

使用道具 举报

 楼主| 发表于 2014-1-11 11:01:30 | 显示全部楼层
有什么不敢说的。
我曾经有挖空心思去软链所有缺失的头文件,但最后还是没能通过,可以说闭源驱动似乎没有针对 3.10 去设计过,而 3.10 或许真的变化太大。
  1. nvidia-installer log file '/var/log/nvidia-installer.log'
  2. creation time: Sat Jan 11 18:53:51 2014
  3. installer version: 331.20

  4. PATH: /usr/lib64/qt4/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

  5. nvidia-installer command line:
  6.     ./nvidia-installer

  7. Using: nvidia-installer ncurses user interface
  8. -> License accepted.
  9. -> Installing NVIDIA driver version 331.20.
  10. -> There appears to already be a driver installed on your system (version: 331.20).  As part of installing this driver (version: 331.20), the existing driver will be uninstalled.  Are you sure you want to continue? ('no' will abort installation) (Answer: Yes)
  11. -> Performing CC sanity check with CC="cc".
  12. -> Kernel source path: '/lib/modules/3.10.17/source'
  13. -> Kernel output path: '/lib/modules/3.10.17/build'
  14. -> Performing rivafb check.
  15. -> Performing nvidiafb check.
  16. -> Performing Xen check.
  17. -> Performing PREEMPT_RT check.
  18. -> Cleaning kernel module build directory.
  19.    executing: 'cd ./kernel; make clean'...
  20. -> Building NVIDIA kernel module:
  21.    executing: 'cd ./kernel; make module SYSSRC=/lib/modules/3.10.17/source SYSOUT=/lib/modules/3.10.17/build NV_BUILD_MODULE_INSTANCES='...
  22.    NVIDIA: calling KBUILD...
  23.    make[1]: 进入目录“/usr/lib/modules/3.10.17/build”
  24.    make -C /lib/modules/3.10.17/build \
  25.    KBUILD_SRC=/usr/lib/modules/3.10.17/build \
  26.    KBUILD_EXTMOD="/tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel" -f /usr/lib/modules/3.10.17/build/Makefile \
  27.    modules
  28.    test -e include/generated/autoconf.h -a -e include/config/auto.conf || (                \
  29.    echo >&2;                                                        \
  30.    echo >&2 "  ERROR: Kernel configuration is invalid.";                \
  31.    echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
  32.    echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";        \
  33.    echo >&2 ;                                                        \
  34.    /bin/false)
  35.    mkdir -p /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/.tmp_versions ; rm -f /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/.tmp_versions/*
  36.    make -f /usr/lib/modules/3.10.17/build/scripts/Makefile.build obj=/tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel
  37.      cc -Wp,-MD,/tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/.nv.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.8.0/include -I/usr/lib/modules/3.10.17/build/arch/x86/include -Iarch/x86/include/generated  -I/usr/lib/modules/3.10.17/build/include -Iinclude -I/usr/lib/modules/3.10.17/build/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/usr/lib/modules/3.10.17/build/include/uapi -Iinclude/generated/uapi -include /usr/lib/modules/3.10.17/build/include/linux/kconfig.h   -I/tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mno-sse -mpreferred-stack-boundary=3 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_
  38. AVX2=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -Wframe-larger-
  39.    than=1024 -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -DNV_MODULE_INSTANCE=0 -DNV_BUILD_MODULE_INSTANCES=0 -UDEBUG -U_DEBUG -DNDEBUG   -I/tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel -Wall -MD -Wsign-compare -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING="331.20" -Wno-unused-function -Wuninitialized -mno-red-zone -mcmodel=kernel -DNV_UVM_ENABLE -D__linux__ -DNV_DEV_NAME="nvidia"  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(nv)"  -D"KBUILD_MODNAME=KBUILD_STR(nvidia)" -c -o /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/.tmp_nv.o /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/nv.c
  40.    In file included from /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest.h:1:0,
  41.                     from /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/nv-linux.h:15,
  42.                     from /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/nv.c:13:
  43.    /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/macros.h:1:2: 错误:#error INIT_WORK() conftest failed!
  44.     #error INIT_WORK() conftest failed!
  45.      ^
  46.    In file included from /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest.h:2:0,
  47.                     from /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/nv-linux.h:15,
  48.                     from /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/nv.c:13:
  49.    /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/functions.h:1:2: 错误:#error remap_page_range() conftest failed!
  50.     #error remap_page_range() conftest failed!
  51.      ^
  52.    /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/functions.h:3:2: 错误:#error vmap() conftest failed!
  53.     #error vmap() conftest failed!
  54.      ^
  55.    /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/functions.h:12:2: 错误:#error kmem_cache_create() conftest failed!
  56.     #error kmem_cache_create() conftest failed!
  57.      ^
  58.    /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/functions.h:13:2: 错误:#error on_each_cpu() conftest failed!
  59.     #error on_each_cpu() conftest failed!
  60.      ^
  61.    /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/functions.h:14:2: 错误:#error smp_call_function() conftest failed!
  62.     #error smp_call_function() conftest failed!
  63.      ^
  64.    /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/functions.h:19:2: 错误:#error acpi_walk_namespace() conftest failed!
  65.     #error acpi_walk_namespace() conftest failed!
  66.      ^
  67.    /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/functions.h:20:2: 错误:#error acpi_os_wait_events_complete() conftest failed!
  68.     #error acpi_os_wait_events_complete() conftest failed!
  69.      ^
  70.    /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/functions.h:22:2: 错误:#error pci_dma_mapping_error() conftest failed!
  71.     #error pci_dma_mapping_error() conftest failed!
  72.      ^
  73.    In file included from /usr/lib/modules/3.10.17/build/include/linux/utsname.h:5:0,
  74.                     from /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/nv-linux.h:44,
  75.                     from /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/nv.c:13:
  76.    /usr/lib/modules/3.10.17/build/include/linux/sched.h:11:36: 致命错误:asm/param.h:没有那个文件或目录
  77.     #include <asm/param.h> /* for HZ */
  78.                                        ^
  79.    编译中断。
  80.    make[3]: *** [/tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/nv.o] 错误 1
  81.    make[2]: *** [_module_/tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel] 错误 2
  82.    make[1]: *** [sub-make] 错误 2
  83.    make[1]: 离开目录“/usr/lib/modules/3.10.17/build”
  84.    NVIDIA: left KBUILD.
  85.     nvidia.ko failed to build!
  86.    make: *** [nvidia.ko] 错误 1
  87. -> Error.
  88. ERROR: Unable to build the NVIDIA kernel module.
  89. -> done.
  90. ERROR: Installation has failed.  Please see the file '/var/log/nvidia-installer.log' for details.  You may find suggestions on fixing installation problems in the README available on the Linux driver download page at www.nvidia.com.
复制代码
回复

使用道具 举报

发表于 2014-1-11 22:19:05 | 显示全部楼层
内核经常变接口,所以随时要用最新版的驱动。
nvidia 还不错的,更新一直比较快,只是需要用他的测试版。
回复

使用道具 举报

 楼主| 发表于 2014-1-12 14:50:26 | 显示全部楼层
N 卡需要靠各对应不同版本驱动的补丁,这些补丁也很激进,或得你升最新的内核....,A 卡无解或者开源驱动。
回复

使用道具 举报

 楼主| 发表于 2014-4-24 21:32:41 | 显示全部楼层
这次直接上 3.13 了,毛病出在 version.h 定义内核版本号的文件位置变化了,打包时就在原位置生成了个空文件,而闭源驱动在编译模块时仍然先从旧位置开始,于是就一直对不上内核版本号。
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-3-29 09:28 , Processed in 0.132511 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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