Annotation of embedaddon/pimd/INSTALL.md, revision 1.1.1.1
1.1 misho 1: Installation instruction for pimd
2: =================================
3:
4: It is recommended to use a pimd from your distribution, be it from ports
5: in one of the major BSD's, or your GNU/Linux distribution of choice.
6:
7: However, if you want to try the latest bleeding edge pimd, download one
8: of the release tarballs at <https://github.com/troglobit/pimd/releases>
9:
10: After unpacking the tarball, cd to the new directory, e.g. `pimd-2.3.0/`
11: followed by:
12:
13: ./configure && make
14: sudo make install
15:
16: By default pimd is installed to the `/usr/local` prefix, except for
17: `pimd.conf` which is installed to `/etc`. If you want to install to
18: another directory, e.g. `/opt`, use:
19:
20: ./configure --prefix=/opt && make
21: sudo make install
22:
23: This will change both the `--prefix` and the `--sysconfdir` paths. To
24: install `pimd.conf` to another path, add `--sysconfdir` *after* the
25: `--prefix` path.
26:
27: For distribution packagers and ports maintainers, the pimd `Makefile`
28: supports the use of `DESTDIR=` to install to a staging directory. What
29: you want is probably something like:
30:
31: ./configure --prefix=/usr --sysconfdir=/etc && make
32: make DESTDIR=/tmp/staging VERSION=2.3.0-1 install
33:
34: The default `/etc/pimd.conf` should be good enough for most use cases.
35: But if you edit it, see the man page or the comments in the file for
36: some help.
37:
38: NetBSD and FreeBSD users may have to install the kernel modules to get
39: multicast routing support, including PIM support. See your respective
40: documentation, or consult the web for help!
41:
42:
43: Cross Compiling
44: ---------------
45:
46: The pimd build system does not use GNU autotools, but it is still
47: possible to cross-compile. Simply make sure to give the `configure`
48: script the correct paths and options, and then set the environment
49: variable `CROSS` to your cross compiler prefix. E.g.
50:
51: ./configure --prefix=/ --embedded-libc
52: make CROSS=arm-linux-gnueabi-
53:
54: **Note:** some toolchains do not properly setup at `cc` symlink, for
55: instance the Debian/Ubuntu ARM toolchains. Instead they assume that
56: projects are using GCC and only provide a `gcc` symlink.
57:
58:
59: Old INSTALL
60: -----------
61:
62: Old install instructions, before PIM kernel support was readily
63: available in all major operating systems
64:
65: 1. Apply the PIM kernel patches, recompile, reboot
66:
67: 2. Copy pimd.conf to /etc and edit as appropriate. Disable the
68: interfaces you don't need. Note that you need at least 2 physical
69: interfaces enabled.
70:
71: 3. Edit Makefile by uncommenting the line(s) corresponding to your platform.
72:
73: 4. Recompile pimd
74:
75: 5. Run pimd as a root. It is highly recommended to run it in debug mode.
76: Because there are many debug messages, you can specify only a subset of
77: the messages to be printed out:
78:
79: usage: pimd [-c configfile] [-d [debug_level][,debug_level]]
80:
81: Valid debug levels: `dvmrp_prunes`, `dvmrp_mrt`, `dvmrp_neighbors`,
82: `dvmrp_timers`, `igmp_proto`, `igmp_timers`, `igmp_members`, `trace`,
83: `timeout`, `pkt`, `interfaces`, `kernel`, `cache`, `rsrr`,
84: `pim_hello`, `pim_register`, `pim_join_prune`, `pim_bootstrap`,
85: `pim_asserts`, `pim_cand_rp`, `pim_routes`, `pim_timers`, `pim_rpf`
86:
87: If you want to see all messages, use `pimd -dall` only.
88:
89: 6. Note that it takes of the order of 30 seconds to 1 minute until the
90: Bootstrap router is elected and the RP-set distributed to the PIM
91: routers, and without the RP-set in the routers the multicast packets
92: cannot be forwarded.
93:
94: 7. There are plenty of bugs, some of them known (check BUGS.TODO), some of
95: them unknown, so your bug reports are more than welcome.
96:
97:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>