ich versucht haben, krpring Modul Arbeit zu machen, die hier gefunden werden kann: http://git.openfabrics.org/?p=~sgrimberg/krping.git;a=summaryKrping Modul für RDMA
[ 446.242534] rdma_krping: Unknown symbol ib_alloc_fast_reg_page_list (err -22)
[ 446.242542] rdma_krping: disagrees about version of symbol rdma_resolve_addr
[ 446.242542] rdma_krping: Unknown symbol rdma_resolve_addr (err -22)
[ 446.242549] rdma_krping: disagrees about version of symbol ib_reg_phys_mr
**and so on...**
ich installieren Sie den Treiber durch Mellanox ofed Kernel 3.3. Bereits kopierte Module.symvers von ofa-kernel/default aber es hat nicht funktioniert.
Ich habe es auf verschiedenen Kernen auf Ubuntu 12.04 und 14.04 versucht. Der Kernel, den ich benutzt habe, ist 3.18, 3.5 und 4.0. Allerdings bekomme ich jedes Mal das gleiche Problem. Wenn jemand krping kompiliert hat und könnte dabei helfen? Speziell die Kernel-Version, das Betriebssystem und die Vorgehensweise, um den von ihnen verwendeten Treiber zu installieren.
MAKEFILE1
KSRC=/lib/modules/`uname -r`/build
KOBJ=/lib/modules/`uname -r`/build
obj-m += rdma_krping.o
rdma_krping-y := getopt.o krping.o
default:
make -C $(KSRC) M=`pwd` modules
install:
make -C $(KSRC) M=`pwd` modules_install
depmod -a
clean:
rm -f *.o
rm -f *.ko
rm -f rdma_krping.mod.c
rm -f Module.symvers
rm -f Module.markers
MAKEFILE2
KSRC=/lib/modules/$(shell uname -r)/build
KOBJ=/lib/modules/$(shell uname -r)/build
EXTRA_CFLAGS += -DLINUX -D__KERNEL__ -DMODULE -O2 -pipe -Wall
EXTRA_CFLAGS += $(shell echo $(BACKPORT_INCLUDES) | sed -e '[email protected]/var/tmp/OFED_topdir/[email protected]/usr/[email protected]')
EXTRA_CFLAGS += $(shell [ -f $(KOBJ)/include/linux/modversions.h ] && \
echo "-DMODVERSIONS -DEXPORT_SYMTAB \
-include $(KSRC)/include/linux/modversions.h")
EXTRA_CFLAGS += $(shell [ -f $(KOBJ)/include/config/modversions.h ] && \
echo "-DMODVERSIONS -DEXPORT_SYMTAB \
-include $(KSRC)/include/config/modversions.h")
autoconf_h=$(shell /bin/ls -1 $(KSRC)/include/*/autoconf.h 2> /dev/null | head -1)
kconfig_h=$(shell /bin/ls -1 $(KSRC)/include/*/kconfig.h 2> /dev/null | head -1)
ifneq ($(kconfig_h),)
KCONFIG_H = -include $(kconfig_h)
endif
ofa_autoconf_h=$(shell /bin/ls -1 $(OFA)/include/*/autoconf.h 2> /dev/null | head -1)
ifneq ($(ofa_autoconf_h),)
OFA_AUTOCONF_H = -include $(ofa_autoconf_h)
endif
obj-m += rdma_krping.o
rdma_krping-y := getopt.o krping.o
default:
-cp -f $(OFA)/Module*.symvers $(TEST_SRC)/Module.symvers
make -C $(KSRC) O=$(KOBJ) SUBDIRS=$(shell pwd) \
LINUXINCLUDE=' \
-D__OFED_BUILD__ \
$(EXTRA_CFLAGS) \
-include $(autoconf_h) \
$(OFA_AUTOCONF_H) \
$(KCONFIG_H) \
-I$(OFA)/include \
$(INCLUDE_COMPAT) \
$$(if $$(CONFIG_XEN),-D__XEN_INTERFACE_VERSION__=$$(CONFIG_XEN_INTERFACE_VERSION)) \
$$(if $$(CONFIG_XEN),-I$$(srctree)/arch/x86/include/mach-xen) \
-I$$(srctree)/arch/$$(SRCARCH)/include \
-Iarch/$$(SRCARCH)/include/generated \
-Iinclude \
-I$$(srctree)/arch/$$(SRCARCH)/include/uapi \
-Iarch/$$(SRCARCH)/include/generated/uapi \
-I$$(srctree)/include \
-I$$(srctree)/include/uapi \
-Iinclude/generated/uapi \
$$(if $$(KBUILD_SRC),-Iinclude2 -I$$(srctree)/include) \
-I$$(srctree)/arch/$$(SRCARCH)/include \
-Iarch/$$(SRCARCH)/include/generated \
' \
modulesymfile=$(TEST_SRC)/Module.symvers \
modules
install:
make -C $(KSRC) O=$(KOBJ) SUBDIRS=$(shell pwd) modules_install
depmod -a
clean:
rm -f *.o
rm -f *.ko
rm -f rdma_krping.mod.c
rm -f Module*.symvers
Oben sind die beiden Makefiles habe ich versucht, das Modul zu kompilieren. Schlagen Sie Änderungen vor, die ich ausprobieren kann.
George, für die Code-Formatierung, wählen Sie den Code (oder den Text aus der Datei), und drücken Sie "{}" - förmige Schaltfläche oben in Ihrem Bearbeitungsfenster. – osgx