Simplified OFED installation instructions.
[mirror/scst/.git] / srpt / README.ofed
1 SCSI RDMA Protocol (SRP) Target driver for Linux
2 =================================================
3
4 Introduction
5 ------------
6
7 The SRP target driver has been designed to work on top of the Linux
8 InfiniBand kernel drivers. While all recent Linux distributions
9 include recent versions of the InfiniBand drivers, the only way to
10 obtain the latest available InfiniBand drivers is by installing the
11 OFED software stack.
12
13 The OFED stack is distributed by the OpenFabrics Alliance (OFA). The
14 mission of the OpenFabrics Alliance is to is to develop, distribute
15 and promote a unified, transport-independent, open-source software
16 stack for RDMA-capable fabrics and networks, including InfiniBand and
17 Ethernet.
18
19 Note: because during OFED installation the distro-provided InfiniBand
20 kernel drivers are replaced, doing so voids the support contract
21 offered by your Linux distributor.
22
23 Please follow the instructions below carefully. Skipping a step may
24 result in kernel modules that fail to load, a kernel oops or even a
25 system that does no longer boot.
26
27
28 Verifying the kernel version
29 ----------------------------
30
31 Before installing the OFED distribution, it is very important to check
32 the OFED release notes. Each OFED distribution has been tested
33 carefully, but only against the kernel versions specified in
34 docs/OFED_release_notes.txt (you can find this document in the OFED
35 distribution). Make sure that you are using a supported kernel / OFED
36 combination. As an example, if you want to use OFED 1.4.1 on an Ubuntu
37 system, you will have to start with replacing the Ubuntu kernel by a
38 kernel from kernel.org since OFED 1.4.1 has not been tested on any
39 Ubuntu kernel.
40
41
42 Compiling SRP against OFED
43 --------------------------
44
45 Make sure that all necessary packages needed for kernel compilation
46 have been installed (kernel headers, gcc, binutils, ...).
47
48 Unload any loaded InfiniBand drivers:
49
50   /etc/init.d/opensmd stop
51   /etc/init.d/openibd stop
52
53 Remove any distro-provided InfiniBand drivers:
54
55   rm -rf /lib/modules/$(uname -r)/kernel/drivers/infiniband
56   rm -rf /lib/modules/$(uname -r)/kernel/drivers/net/mlx4
57
58 Now locate the file Makefile.lib and patch it such that it supports
59 the variable PRE_CFLAGS:
60
61   cd $(dirname $(find /lib/modules/$(uname -r)/build/ -name Makefile.lib))
62   patch -p1 < ${SCST_DIR}/srpt/patches/kernel-${KV}-scripts-Makefile.lib.patch
63
64 Next, download and install the OFED package. Make sure to disable
65 OFED's SRP target driver (srpt=n) and to enable at least the
66 kernel-ib, kernel-ib-devel and SRP tools packages. An example:
67
68   wget http://www.openfabrics.org/downloads/OFED/ofed-1.4/OFED-1.4.tgz
69   tar xzf OFED-1.4.tgz
70   cd OFED-1.4
71   cat <<EOF >ofed.conf
72   libibverbs=y                                          
73   libibverbs-utils=y                                    
74   libmthca=y                                            
75   libmlx4=y                                             
76   libcxgb3=y
77   libnes=y
78   libipathverbs=y
79   librdmacm=y
80   librdmacm-utils=y
81   mstflint=y
82   ofed-docs=y
83   ofed-scripts=y
84   kernel-ib=y
85   kernel-ib-devel=y
86   ibvexdmtools=y
87   qlgc_vnic_daemon=y
88   core=y
89   mthca=y
90   mlx4=y
91   mlx4_en=y
92   cxgb3=y
93   nes=y
94   ipath=y
95   ipoib=y
96   opensm=y
97   opensm-libs=y
98   srpt=n
99   srptools=y
100   perftest=y
101   EOF
102   ./install.pl -c ofed.conf  
103
104 Now continue with the installation instructions you can find in the
105 SCST-SRPT README file. The Makefile included with SCST-SRPT detects
106 whether OFED has been installed, and if so, compiles SCST-SRPT with
107 the OFED kernel headers instead of with the regular kernel headers.