source: gpfs_3.1_ker2.6.20/lpp/mmfs/src/README @ 223

Last change on this file since 223 was 16, checked in by rock, 17 years ago
File size: 7.2 KB
RevLine 
[16]1
2Please refer to the online GPFS FAQ at
3
4  http://publib.boulder.ibm.com/infocenter/clresctr/topic/com.ibm.cluster.gpfs.doc/gpfs_faqs/gpfs_faqs.html
5
6  for the latest information about GPFS updates, supported kernel levels,
7  and kernel patches before building the portability layer.
8
9Linux kernel patches for GPFS can be obtained at
10
11  http://sourceforge.net/tracker/?atid=719124&group_id=130828&func=browse
12
13  which is the patches link for the project
14  "General Parallel File System (GPFS)" on Source Forge; only Linux
15  kernel patches are kept on the Source Forge site.
16
17You can send license inquiries to gpfs@us.ibm.com
18or, in writing, to:
19
20  GPFS Product Manager
21  International Business Machines Company
22  Dept. LNLA  Mail Station P963
23  2455 South Road
24  Poughkeepsie NY 12601-5400
25  United States of America
26
27
28To build the Linux portability interface for GPFS
29-------------------------------------------------
30
31  It is strongly suggested that you build the source at
32  non root level.  You will need to change the owner
33  and group permissions accordingly in /usr/lpp/mmfs/src.
34
35  When you build as a non root user it is also important
36  that you have read access to the linux kernel header files
37  on your machine.  These headers are normally found in
38  /usr/src/linux/include but may appear in a different
39  place as enumerated below in step 3 section D.
40
41  The simplest way to build the portability layer is to use
42  the "Autoconfig" process to create the site.mcr file for you.
43 
44  1) export SHARKCLONEROOT=/usr/lpp/mmfs/src
45  2) cd /usr/lpp/mmfs/src
46  3) make Autoconfig
47  4) make World
48  5) make InstallImages
49
50  Alternatively, if you have a platform that requires
51  customization, manual creation of the site.mcr file
52  will be necessary as follows.
53
54  1) export SHARKCLONEROOT=/usr/lpp/mmfs/src
55  2) cd /usr/lpp/mmfs/src/config
56     cp site.mcr.proto site.mcr
57
58  3) Edit and customize the site.mcr file.
59 
60     A) The default architecture is GPFS_ARCH_I386. Only modify the
61        architecture choice if your platform is not Intel 32-bit based (IA32).
62
63     B) Modify the Linux distribution choice according to the software
64        distribution your machine runs.
65
66     C) Modify the Linux distribution level according to the level of the
67        software distribution your machine runs.
68
69     D) Modify the LINUX_KERNEL_VERSION according to the Linux kernel
70        level you are using with your software distribution.
71
72     E) Note also that the kernel header file search path,
73        KERNEL_HEADER_DIR, is by default /lib/modules/`uname -r`/build/include
74
75        Customers who have their kernel source headers in a different
76        directory will need to modify KERNEL_HEADER_DIR.  For instance
77        another common location for the kernel headers is /usr/src/linux/include.
78
79        YOU MUST HAVE READ ACCESS TO THESE HEADERS!
80
81     F) Uncomment any desired Linux kernel patches listed under
82        LINUX_PATCH_DEFINES.
83
84        The kernel will also need to be rebuilt and installed with
85        the appropriate patches, which can be obtained from
86        http://sourceforge.net/tracker/?atid=719124&group_id=130828&func=browse.
87
88        The online GPFS FAQ has detailed information on each patch.
89
90  4) If no LINUX_PATCH_DEFINES are applied above and the kernel is
91     not recompiled, some distributions will still require more
92     preparation of kernel headers.
93
94     A) On SuSE Enterprise Server 8 PowerPC you will need to:
95
96        Install the kernel source
97
98        cd /lib/modules/`uname -r`/build
99        sh make_ppc64.sh distclean
100        sh make_ppc64.sh clean
101        sh make_ppc64.sh mrproper
102        sh make_ppc64.sh cloneconfig
103        sh make_ppc64.sh dep
104
105     B) On SuSE Enterprise Server 8 AMD64 you will need to:
106
107        Install the kernel source
108
109        cd /lib/modules/`uname -r`/build
110        make distclean
111        make clean
112        make mrproper
113        make cloneconfig
114        make dep
115
116     C) On SuSE Enterprise Server 9 all platforms you will need to:
117
118        Install the kernel source
119
120        The default header file path must be changed.  KERNEL_HEADER_DIR can
121        instead be set to /lib/modules/`uname -r`/source/include
122
123  5) cd /usr/lpp/mmfs/src
124
125  6) make World
126
127  All of the kernel modules and libraries reside in the "bin"
128  subdirectory after the build.
129
130
131To install the Linux portability interface for GPFS into /usr/lpp/mmfs/bin
132--------------------------------------------------------------------------
133
134  This step installs the binaries for the portability interface.
135
136  1) su
137
138  2) make InstallImages
139
140     The files mmfslinux, lxtrace, tracedev, and dumpconv will be
141     installed in /usr/lpp/mmfs/bin.  If the system is using a 2.6 kernel,
142     there will be an additional mmfs26 binary.  If this kernel configuration
143     applies to other machines in the cluster, you may then copy
144     these binaries to those machines, or iteratively perform the
145     above compile and install steps on each machine.
146
147Additional Notes
148----------------
149
150  Most of the source code headers are in the "ibm-kxi" and "ibm-linux"
151  directories, while the source code is in the "gpl-linux" directory.
152
153  The "config" directory provides the configuration information for
154  the build (site.mcr) and the "misc" directory handles some items
155  that allow us to reuse our standard development Imakefiles.
156
157
158Troubleshooting build problems
159------------------------------
160Most commonly encountered build problems are caused by an incorrect setting
161of KERNEL_HEADER_DIR, or an incorrect setup of the kernel source tree.  GPFS
162requires a full set of kernel headers in order to build; a subset of kernel
163headers provided to build "typical" kernel modules may be insufficient and
164could lead to build breaks.  Specifically, on SuSE Enterprise Server 9 and 10,
165the directory pointed to by the /lib/modules/`uname -r`/build symlink contains
166only a subset of kernel headers, while the directory pointed to by
167/lib/modules/`uname -r`/source contains a full source tree.
168
169Some files in the full source tree, most notably include/linux/version.h and
170include/linux/autoconf.h, are often configured dynamically by an external shell
171script (e.g. /etc/init.d/running-kernel on SuSE Enterprise Server), which
172copies a set of files into the source tree to make it match the currently
173booted kernel (that way one can boot different kernels but have the same
174source tree always configured to match it).  If the kernel source tree is
175updated but the shell reconfiguration script hasn't run (it usually runs
176during the boot sequence), or the script didn't work correctly, the kernel
177source tree may not be configured properly.
178
179NOTE: On SuSE Enterprise Server 10 for PowerPC, /etc/init.d/running-kernel
180that ships with the GA level of distribution (kernel-source-2.6.16.21-0.8)
181contains a bug that results in the wrong set of files being copied to the
182kernel source tree.  This bug will be fixed with SLES10 SP1.  If the official
183fix is unavailable, the following change should also address the problem:
184
185--- running-kernel.orig 2006-10-06 14:54:36.000000000 -0500
186+++ /etc/init.d/running-kernel  2006-10-06 14:59:58.000000000 -0500
187@@ -53,6 +53,7 @@
188     arm*|sa110)        arch=arm ;;
189     s390x)     arch=s390 ;;
190     parisc64)  arch=parisc ;;
191+    ppc64)     arch=powerpc ;;
192     esac
193     # FIXME: How to handle uml?
194
Note: See TracBrowser for help on using the repository browser.