haulm 发表于 2014-1-11 09:37:44

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

难道是我编译的内核有问题,头文件存放位置有问题?
之前 3.4 的内核至今的修补版本一直都不支持华硕某主板的网卡,所以只好升级到 3.10。
不过 3.10 内核至今没发现包括 AMD NVIDIA VBOX 在内的哪款闭源驱动能成功安装的。

jiangtao9999 发表于 2014-1-11 09:58:39

错误信息是什么敢说吗?

haulm 发表于 2014-1-11 11:01:30

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

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

nvidia-installer command line:
    ./nvidia-installer

Using: nvidia-installer ncurses user interface
-> License accepted.
-> Installing NVIDIA driver version 331.20.
-> 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)
-> Performing CC sanity check with CC="cc".
-> Kernel source path: '/lib/modules/3.10.17/source'
-> Kernel output path: '/lib/modules/3.10.17/build'
-> Performing rivafb check.
-> Performing nvidiafb check.
-> Performing Xen check.
-> Performing PREEMPT_RT check.
-> Cleaning kernel module build directory.
   executing: 'cd ./kernel; make clean'...
-> Building NVIDIA kernel module:
   executing: 'cd ./kernel; make module SYSSRC=/lib/modules/3.10.17/source SYSOUT=/lib/modules/3.10.17/build NV_BUILD_MODULE_INSTANCES='...
   NVIDIA: calling KBUILD...
   make: 进入目录“/usr/lib/modules/3.10.17/build”
   make -C /lib/modules/3.10.17/build \
   KBUILD_SRC=/usr/lib/modules/3.10.17/build \
   KBUILD_EXTMOD="/tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel" -f /usr/lib/modules/3.10.17/build/Makefile \
   modules
   test -e include/generated/autoconf.h -a -e include/config/auto.conf || (                \
   echo >&2;                                                        \
   echo >&2 "ERROR: Kernel configuration is invalid.";                \
   echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
   echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";        \
   echo >&2 ;                                                        \
   /bin/false)
   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/*
   make -f /usr/lib/modules/3.10.17/build/scripts/Makefile.build obj=/tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel
   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_
AVX2=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -Wframe-larger-
   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
   In file included from /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest.h:1:0,
                  from /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/nv-linux.h:15,
                  from /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/nv.c:13:
   /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/macros.h:1:2: 错误:#error INIT_WORK() conftest failed!
    #error INIT_WORK() conftest failed!
   ^
   In file included from /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest.h:2:0,
                  from /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/nv-linux.h:15,
                  from /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/nv.c:13:
   /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/functions.h:1:2: 错误:#error remap_page_range() conftest failed!
    #error remap_page_range() conftest failed!
   ^
   /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/functions.h:3:2: 错误:#error vmap() conftest failed!
    #error vmap() conftest failed!
   ^
   /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/functions.h:12:2: 错误:#error kmem_cache_create() conftest failed!
    #error kmem_cache_create() conftest failed!
   ^
   /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/functions.h:13:2: 错误:#error on_each_cpu() conftest failed!
    #error on_each_cpu() conftest failed!
   ^
   /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/functions.h:14:2: 错误:#error smp_call_function() conftest failed!
    #error smp_call_function() conftest failed!
   ^
   /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/functions.h:19:2: 错误:#error acpi_walk_namespace() conftest failed!
    #error acpi_walk_namespace() conftest failed!
   ^
   /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/functions.h:20:2: 错误:#error acpi_os_wait_events_complete() conftest failed!
    #error acpi_os_wait_events_complete() conftest failed!
   ^
   /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/conftest/functions.h:22:2: 错误:#error pci_dma_mapping_error() conftest failed!
    #error pci_dma_mapping_error() conftest failed!
   ^
   In file included from /usr/lib/modules/3.10.17/build/include/linux/utsname.h:5:0,
                  from /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/nv-linux.h:44,
                  from /tmp/selfgz9157/NVIDIA-Linux-x86_64-331.20/kernel/nv.c:13:
   /usr/lib/modules/3.10.17/build/include/linux/sched.h:11:36: 致命错误:asm/param.h:没有那个文件或目录
    #include <asm/param.h> /* for HZ */
                                       ^
   编译中断。
   make: *** 错误 1
   make: *** 错误 2
   make: *** 错误 2
   make: 离开目录“/usr/lib/modules/3.10.17/build”
   NVIDIA: left KBUILD.
    nvidia.ko failed to build!
   make: *** 错误 1
-> Error.
ERROR: Unable to build the NVIDIA kernel module.
-> done.
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.

jiangtao9999 发表于 2014-1-11 22:19:05

内核经常变接口,所以随时要用最新版的驱动。
nvidia 还不错的,更新一直比较快,只是需要用他的测试版。

haulm 发表于 2014-1-12 14:50:26

N 卡需要靠各对应不同版本驱动的补丁,这些补丁也很激进,或得你升最新的内核....,A 卡无解或者开源驱动。

haulm 发表于 2014-4-24 21:32:41

这次直接上 3.13 了,毛病出在 version.h 定义内核版本号的文件位置变化了,打包时就在原位置生成了个空文件,而闭源驱动在编译模块时仍然先从旧位置开始,于是就一直对不上内核版本号。
页: [1]
查看完整版本: 真的无法理解为什么各种闭源驱动不支持 kernel 3.10 难道...?