Ubuntu
無法在 Ubuntu 13.04 上建構 RocketRaid rr268x
我正在嘗試為 Ubuntu 13.04 建構核心模組,但沒有任何運氣,我已經讓這張卡在 12.10 和 3.5.0-27 通用核心上執行良好,但自從升級到 13.04 後,沒有一個新核心將建構模組。
# 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 中建構模組: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'
乾杯!
答案可以在這裡找到: 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
) 並不能解決問題。為我的問題找到了解決方案!看看這裡: 更新了 Highpoint RocketRAID 2230 更新檔。