1 How to Build Debian Packages for Open vSwitch
2 =============================================
4 This document describes how to build Debian packages for Open vSwitch.
5 To install Open vSwitch on Debian without building Debian packages,
8 These instructions should also work on Ubuntu and other Debian
9 derivative distributions.
15 Before you begin, consider whether you really need to build packages
16 yourself. Debian "wheezy" and "sid", as well as recent versions of
17 Ubuntu, contain pre-built Debian packages for Open vSwitch. It is
18 easier to install these than to build your own. To use packages from
19 your distribution, skip ahead to "Installing .deb Packages", below.
22 Building Open vSwitch Debian packages
23 -------------------------------------
25 You may build from an Open vSwitch distribution tarball or from an
26 Open vSwitch Git tree with these instructions.
28 You do not need to be the superuser to build the Debian packages.
30 1. Install the "build-essential" and "fakeroot" packages, e.g. with
31 "apt-get install build-essential fakeroot".
33 2. Obtain and unpack an Open vSwitch source distribution and "cd" into
34 its top level directory.
36 3. Install the build dependencies listed under "Build-Depends:" near
37 the top of debian/rules. You can install these any way you like,
38 e.g. with "apt-get install".
40 Check your work by running "dpkg-checkbuilddeps". If you've
41 installed all the dependencies properly, dpkg-checkbuilddeps will
42 exit without printing anything. If you forgot to install some
43 dependencies, it will tell you which ones.
47 fakeroot debian/rules binary
49 This will do a serial build that runs the unit tests. If you
50 prefer, you can run a faster parallel build, e.g.:
52 DEB_BUILD_OPTIONS='parallel=8' fakeroot debian/rules binary
54 If you are in a big hurry, you can even skip the unit tests:
56 DEB_BUILD_OPTIONS='parallel=8 nocheck' fakeroot debian/rules binary
58 5. The generated .deb files will be in the parent directory of the
59 Open vSwitch source distribution.
62 Installing .deb Packages
63 ------------------------
65 These instructions apply to installing from Debian packages that you
66 built yourself, as described in the previous section, or from packages
67 provided by Debian or a Debian derivative distribution such as Ubuntu.
68 In the former case, use a command such as "dpkg -i" to install the
69 .deb files that you build, and in the latter case use a program such
70 as "apt-get" or "aptitude" to download and install the provided
73 You must be superuser to install Debian packages.
75 1. Start by installing an Open vSwitch kernel module. There are multiple ways
76 to do this. In order of increasing manual effort, these are:
78 * Use a Linux kernel 3.3 or later, which has an integrated Open
79 vSwitch kernel module.
81 The upstream Linux kernel module lacks a few features that
82 are in the third-party module. For details, please see the
83 FAQ, "What features are not available in the Open vSwitch
84 kernel datapath that ships as part of the upstream Linux
87 * Install the "openvswitch-datapath-dkms" Debian package that
88 you built earlier. This should automatically build and
89 install the Open vSwitch kernel module for your running
92 This option requires that you have a compiler and toolchain
93 installed on the machine where you run Open vSwitch, which
94 may be unacceptable in some production server environments.
96 * Install the "openvswitch-datapath-source" Debian package, use
97 "module-assistant" to build a Debian package of the Open
98 vSwitch kernel module for your kernel, and then install that
101 You can install the kernel module Debian packages that you
102 build this way on the same machine where you built it or on
103 another machine or machines, which means that you don't
104 necessarily have to have any build infrastructure on the
105 machines where you use the kernel module.
107 /usr/share/doc/openvswitch-datapath-source/README.Debian has
108 details on the build process.
110 * Build and install the kernel module by hand.
112 2. Install the "openvswitch-switch" and "openvswitch-common" packages.
113 These packages include the core userspace components of the switch.
116 Open vSwitch .deb packages not mentioned above are rarely useful.
117 Please refer to their individual package descriptions to find out
118 whether any of them are useful to you.
124 Please report problems to bugs@openvswitch.org.