]>
Commit | Line | Data |
---|---|---|
6494ea4c BP |
1 | How to Build Debian Packages for Open vSwitch |
2 | ============================================= | |
3 | ||
4 | This document describes how to build Debian packages for Open vSwitch. | |
5 | To install Open vSwitch on Debian without building Debian packages, | |
6 | see INSTALL instead. | |
7 | ||
8 | These instructions should also work on Ubuntu and other Debian | |
9 | derivative distributions. | |
10 | ||
11 | ||
12 | Before You Begin | |
13 | ---------------- | |
14 | ||
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. | |
20 | ||
21 | ||
22 | Building Open vSwitch Debian packages | |
23 | ------------------------------------- | |
24 | ||
25 | You may build from an Open vSwitch distribution tarball or from an | |
26 | Open vSwitch Git tree with these instructions. | |
27 | ||
28 | You do not need to be the superuser to build the Debian packages. | |
29 | ||
30 | 1. Install the "build-essential" and "fakeroot" packages, e.g. with | |
31 | "apt-get install build-essential fakeroot". | |
32 | ||
33 | 2. Obtain and unpack an Open vSwitch source distribution and "cd" into | |
34 | its top level directory. | |
35 | ||
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". | |
39 | ||
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. | |
44 | ||
45 | 4. Run: | |
46 | ||
47 | fakeroot debian/rules binary | |
48 | ||
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.: | |
51 | ||
52 | DEB_BUILD_OPTIONS='parallel=8' fakeroot debian/rules binary | |
53 | ||
54 | If you are in a big hurry, you can even skip the unit tests: | |
55 | ||
56 | DEB_BUILD_OPTIONS='parallel=8 nocheck' fakeroot debian/rules binary | |
57 | ||
58 | 5. The generated .deb files will be in the parent directory of the | |
59 | Open vSwitch source distribution. | |
60 | ||
61 | ||
62 | Installing .deb Packages | |
63 | ------------------------ | |
64 | ||
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 | |
71 | packages. | |
72 | ||
73 | You must be superuser to install Debian packages. | |
74 | ||
ff23db30 GS |
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: | |
6494ea4c BP |
77 | |
78 | * Use a Linux kernel 3.3 or later, which has an integrated Open | |
79 | vSwitch kernel module. | |
80 | ||
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 | |
85 | kernel?". | |
86 | ||
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 | |
90 | kernel. | |
91 | ||
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. | |
95 | ||
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 | |
99 | Debian package. | |
100 | ||
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. | |
106 | ||
107 | /usr/share/doc/openvswitch-datapath-source/README.Debian has | |
108 | details on the build process. | |
109 | ||
110 | * Build and install the kernel module by hand. | |
111 | ||
ff23db30 GS |
112 | 2. Install the "openvswitch-switch" and "openvswitch-common" packages. |
113 | These packages include the core userspace components of the switch. | |
114 | ||
115 | ||
6494ea4c BP |
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. | |
119 | ||
120 | ||
121 | Bug Reporting | |
122 | ------------- | |
123 | ||
124 | Please report problems to bugs@openvswitch.org. | |
125 |