无法在Ubuntu 13.04上构buildRocketRaid rr268x

我正在尝试为Ubuntu 13.04构build内核模块,但没有任何运气,我已经使用12.10和3.5.0-27通用内核完全正常工作,但自从升级到13.04之后,没有任何新内核会构build模块。

# dkms build rr2680/1.9 -k 3.8.0-25-generic Kernel preparation unnecessary for this kernel. Skipping... Building module: cleaning build area.... make KERNELRELEASE=3.8.0-25-generic -C product/rr2680/linux/ KERNELDIR=/lib/modules/3.8.0-25-generic/build....(bad exit status: 2) ERROR (dkms apport): binary package for rr2680: 1.9 not found Error! Bad return status for module build on kernel: 3.8.0-25-generic (x86_64) Consult /var/lib/dkms/rr2680/1.9/build/make.log for more information. 

这里是make.log:

 DKMS make.log for rr2680-1.9 for kernel 3.8.0-25-generic (x86_64) Fri Jun 14 22:09:56 CST 2013 grep: /lib/modules/3.8.0-25-generic/build/include/linux/version.h: No such file or directory expr: syntax error grep: /lib/modules/3.8.0-25-generic/build/include/linux/version.h: No such file or directory expr: syntax error make: Entering directory `/var/lib/dkms/rr2680/1.9/build/product/rr2680/linux' ../../../inc/linux_32mpa/Makefile.def:87: *** Only kernel 2.4/2.6/3.x is supported but you use .. Stop. make: Leaving directory `/var/lib/dkms/rr2680/1.9/build/product/rr2680/linux' 

我如何在12.10中构build模块: http : //www.sudoseth.com/blog/2013/01/highpoint-raid-we-meet-again/

有没有人有一些指针?

第一个答案有点帮助,但不是在山上,我换$(KERNELDIR)/include/linux/version.h $(KERNELDIR)/include/generated/uapi/linux/version.h然后产生这个错误:

 DKMS make.log for rr2680-1.9 for kernel 3.8.0-26-generic (x86_64) Mon Jul 8 14:55:11 CST 2013 make: Entering directory `/var/lib/dkms/rr2680/1.9/build/product/rr2680/linux' make[1]: Entering directory `/usr/src/linux-headers-3.8.0-26-generic' CC [M] /var/lib/dkms/rr2680/1.9/build/product/rr2680/linux/.build/os_linux.o CC [M] /var/lib/dkms/rr2680/1.9/build/product/rr2680/linux/.build/osm_linux.o /var/lib/dkms/rr2680/1.9/build/product/rr2680/linux/.build/osm_linux.c: In function 'scsicmd_buf_get': /var/lib/dkms/rr2680/1.9/build/product/rr2680/linux/.build/osm_linux.c:452:39: error: 'KM_BIO_SRC_IRQ' undeclared (first use in this function) /var/lib/dkms/rr2680/1.9/build/product/rr2680/linux/.build/osm_linux.c:452:39: note: each undeclared identifier is reported only once for each function it appears in /var/lib/dkms/rr2680/1.9/build/product/rr2680/linux/.build/osm_linux.c:452:2: error: too many arguments to function 'kmap_atomic' In file included from include/linux/pagemap.h:10:0, from include/linux/blkdev.h:13, from /var/lib/dkms/rr2680/1.9/build/osm/linux/osm_linux.h:61, from /var/lib/dkms/rr2680/1.9/build/product/rr2680/linux/.build/osm_linux.c:6: include/linux/highmem.h:66:21: note: declared here /var/lib/dkms/rr2680/1.9/build/product/rr2680/linux/.build/osm_linux.c: In function 'scsicmd_buf_put': /var/lib/dkms/rr2680/1.9/build/product/rr2680/linux/.build/osm_linux.c:482:55: error: macro "kunmap_atomic" passed 2 arguments, but takes just 1 /var/lib/dkms/rr2680/1.9/build/product/rr2680/linux/.build/osm_linux.c:482:2: error: 'kunmap_atomic' undeclared (first use in this function) make[2]: *** [/var/lib/dkms/rr2680/1.9/build/product/rr2680/linux/.build/osm_linux.o] Error 1 make[1]: *** [_module_/var/lib/dkms/rr2680/1.9/build/product/rr2680/linux/.build] Error 2 make[1]: Leaving directory `/usr/src/linux-headers-3.8.0-26-generic' make: *** [rr2680.ko] Error 2 make: Leaving directory `/var/lib/dkms/rr2680/1.9/build/product/rr2680/linux' 

干杯!

答案可以在这里find: http ://ubuntuforums.org/showthread.php?t=2158769&p=12746043简短的答案是你需要删除传递给'kmap_atomic'的第二个参数。 这些都是不变的'HPT_KMAP_TYPE'。 该函数在osm_linux.c中调用,os_linux.c和HPT_KMAP_TYPE在osm_linux.h中定义,这也可以被删除。

与我的rr2320有同样的问题! 好像version.h文件的位置已经改变了。 但是将Makefile中的这一行更改为新的位置( /lib/modules/3.8.0-25-generic/build/include/generated/uapi/linux/version.h )并不能解决问题。

find了我的问题的解决scheme! 看看这里: 更新的高点RocketRAID 2230补丁 。