]> git.proxmox.com Git - mirror_ovs.git/blob - INSTALL.RHEL
INSTALL.RHEL: Explain how to work around old Autoconf; add more prereqs.
[mirror_ovs.git] / INSTALL.RHEL
1 How to Install Open vSwitch on Red Hat Enterprise Linux
2 =======================================================
3
4 This document describes how to build and install Open vSwitch on a Red
5 Hat Enterprise Linux (RHEL) host. If you want to install Open vSwitch
6 on a generic Linux host, see INSTALL instead.
7
8 We have tested these instructions with RHEL 5.6 and RHEL 6.0.
9
10 Building Open vSwitch for RHEL
11 ------------------------------
12
13 You may build from an Open vSwitch distribution tarball or from an
14 Open vSwitch Git tree.
15
16 Before you begin, note the RPM source directory on your version of
17 RHEL. On RHEL 5, the default RPM source directory is
18 /usr/src/redhat/SOURCES. On RHEL 6, it is $HOME/rpmbuild/SOURCES.
19
20 1. If you are building from a distribution tarball, proceed to step 2.
21 Otherwise, if you are building from an Open vSwitch Git tree,
22 determine the version of Autoconf available in the RHEL version you
23 are using. If it is not at least version 2.64, then you have two
24 choices:
25
26 a. Install Autoconf 2.64 or later, one way or another.
27
28 b. Create a distribution tarball on some other machine, by
29 running "./boot.sh; ./configure; make dist" in the Git tree.
30 You must run this on a machine that has the tools listed in
31 INSTALL as prerequisites for building from a Git tree.
32 Afterward, proceed with the rest of the instructions using the
33 distribution tarball.
34
35 2. Install build prerequisites:
36
37 yum install gcc make python-devel openssl-devel kernel-devel \
38 kernel-debug-devel autoconf automake rpm-build redhat-rpm-config
39
40 3. Some versions of the RHEL 6 kernel-devel package contain a broken
41 "build" symlink. If you are using such a version, you must fix
42 the problem before continuing.
43
44 To find out whether you are affected, run:
45
46 cd /lib/modules/<version>
47 ls -l build/
48
49 where <version> is the version number of the RHEL 6 kernel. (The
50 trailing slash in the final command is important. Be sure to include
51 it.) If the "ls" command produces a directory listing, your
52 kernel-devel package is OK. If it produces a "No such file or
53 directory" error, your kernel-devel package is buggy.
54
55 If your kernel-devel package is buggy, then you can fix it with:
56
57 cd /lib/modules/<version>
58 rm build
59 ln -s /usr/src/kernels/<target> build
60
61 where <target> is the name of an existing directory under
62 /usr/src/kernels, whose name should be similar to <version> but may
63 contain some extra parts. Once you have done this, verify the fix with
64 the same procedure you used above to check for the problem.
65
66 4. If you are building from an Open vSwitch Git tree, then you will
67 need to first create a distribution tarball by running "./boot.sh;
68 ./configure; make dist" in the Git tree.
69
70 5. Copy the distribution tarball into the RPM source directory.
71
72 6. Unpack the distribution tarball into a temporary directory and "cd"
73 into the root of the distribution tarball.
74
75 7. To build Open vSwitch userspace, run:
76
77 rpmbuild -bb rhel/openvswitch.spec
78
79 This produces two RPMs: "openvswitch" and "openvswitch-debuginfo".
80
81 If the build fails with "configure: error: source dir
82 /lib/modules/2.6.32-279.el6.x86_64/build doesn't exist" or similar,
83 then the kernel-devel package is missing or buggy. Go back to step
84 1 or 2 and fix the problem.
85
86 8. On RHEL 6, to build the Open vSwitch kernel module, copy
87 rhel/openvswitch-kmod.files into the RPM source directory and run:
88
89 rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec
90
91 You might have to specify a kernel version and/or variants, e.g.:
92
93 rpmbuild -bb \
94 -D "kversion 2.6.32-131.6.1.el6.x86_64" \
95 -D "kflavors default debug kdump" \
96 rhel/openvswitch-kmod-rhel6.spec
97
98 This produces an "kmod-openvswitch" RPM for each kernel variant,
99 in this example: "kmod-openvswitch", "kmod-openvswitch-debug", and
100 "kmod-openvswitch-kdump".
101
102 A RHEL host has default firewall rules that prevent any Open vSwitch tunnel
103 traffic from passing through. If a user configures Open vSwitch tunnels like
104 GRE, VXLAN, LISP etc., they will either have to manually add iptables firewall
105 rules to allow the tunnel traffic or add it through a startup script (Please
106 refer to the "enable-protocol" command in the ovs-ctl(8) manpage).
107
108 Red Hat Network Scripts Integration
109 -----------------------------------
110
111 Simple integration with Red Hat network scripts has been implemented.
112 Please read rhel/README.RHEL in the source tree or
113 /usr/share/doc/openvswitch/README.RHEL in the installed openvswitch
114 package for details.
115
116 Reporting Bugs
117 --------------
118
119 Please report problems to bugs@openvswitch.org.