]>
Commit | Line | Data |
---|---|---|
278fb111 MW |
1 | Building FRR on OmniOS (OpenSolaris) from Git Source |
2 | ==================================================== | |
3 | ||
4 | OmniOS restrictions: | |
5 | -------------------- | |
6 | ||
eb651bbc MW |
7 | - MPLS is not supported on `OmniOS` or `Solaris`. MPLS requires a Linux |
8 | Kernel (4.5 or higher). LDP can be built, but may have limited use | |
9 | without MPLS | |
278fb111 MW |
10 | |
11 | ### Enable IP & IPv6 forwarding | |
12 | ||
eb651bbc MW |
13 | routeadm -e ipv4-forwarding |
14 | routeadm -e ipv6-forwarding | |
278fb111 MW |
15 | |
16 | Install required packages | |
17 | ------------------------- | |
18 | ||
19 | Add packages: | |
20 | ||
eb651bbc MW |
21 | pkg install \ |
22 | developer/build/autoconf \ | |
23 | developer/build/automake \ | |
24 | developer/lexer/flex \ | |
25 | developer/parser/bison \ | |
26 | developer/object-file \ | |
27 | developer/linker \ | |
28 | developer/library/lint \ | |
29 | developer/build/gnu-make \ | |
30 | developer/gcc51 \ | |
31 | library/idnkit \ | |
32 | library/idnkit/header-idnkit \ | |
33 | system/header \ | |
34 | system/library/math/header-math \ | |
35 | git libtool gawk pkg-config | |
278fb111 MW |
36 | |
37 | Add additional Solaris packages: | |
38 | ||
eb651bbc MW |
39 | pkgadd -d http://get.opencsw.org/now |
40 | /opt/csw/bin/pkgutil -U | |
41 | /opt/csw/bin/pkgutil -y -i texinfo | |
42 | /opt/csw/bin/pkgutil -y -i perl | |
43 | /opt/csw/bin/pkgutil -y -i libjson_c_dev | |
ae32b152 | 44 | /opt/csw/bin/pkgutil -y -i python27 py_pip python27_dev |
278fb111 MW |
45 | |
46 | Add libjson to Solaris equivalent of ld.so.conf | |
47 | ||
eb651bbc | 48 | crle -l /opt/csw/lib -u |
278fb111 | 49 | |
278fb111 MW |
50 | Add pytest: |
51 | ||
eb651bbc | 52 | pip install pytest |
278fb111 MW |
53 | |
54 | Select Python 2.7 as default (required for pytest) | |
55 | ||
eb651bbc MW |
56 | rm -f /usr/bin/python |
57 | ln -s /opt/csw/bin/python2.7 /usr/bin/python | |
ae32b152 | 58 | |
eb651bbc MW |
59 | Fix PATH for all users and non-interactive sessions. Edit `/etc/default/login` |
60 | and add the following default PATH: | |
61 | ||
62 | PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/opt/csw/bin | |
278fb111 | 63 | |
278fb111 MW |
64 | Edit `~/.profile` and add the following default PATH: |
65 | ||
eb651bbc | 66 | PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/opt/csw/bin |
278fb111 MW |
67 | |
68 | Get FRR, compile it and install it (from Git) | |
69 | --------------------------------------------- | |
70 | ||
eb651bbc MW |
71 | **This assumes you want to build and install FRR from source and not using |
72 | any packages** | |
278fb111 MW |
73 | |
74 | ### Add frr group and user | |
75 | ||
eb651bbc MW |
76 | sudo groupadd -g 93 frr |
77 | sudo groupadd -g 94 frrvty | |
78 | sudo useradd -g 93 -u 93 -G frrvty -c "FRR suite" \ | |
79 | -d /nonexistent -s /bin/false frr | |
80 | ||
81 | (You may prefer different options on configure statement. These are just | |
82 | an example) | |
83 | ||
d6180888 | 84 | git clone https://github.com/frrouting/frr.git frr |
eb651bbc | 85 | cd frr |
eb651bbc MW |
86 | ./bootstrap.sh |
87 | export MAKE=gmake | |
88 | export LDFLAGS="-L/opt/csw/lib" | |
89 | export CPPFLAGS="-I/opt/csw/include" | |
ae32b152 | 90 | export PKG_CONFIG_PATH=/opt/csw/lib/pkgconfig |
eb651bbc MW |
91 | ./configure \ |
92 | --sysconfdir=/etc/frr \ | |
93 | --enable-exampledir=/usr/share/doc/frr/examples/ \ | |
94 | --localstatedir=/var/run/frr \ | |
95 | --sbindir=/usr/lib/frr \ | |
96 | --enable-vtysh \ | |
97 | --enable-watchfrr \ | |
98 | --enable-ospfclient=yes \ | |
99 | --enable-ospfapi=yes \ | |
100 | --enable-multipath=64 \ | |
101 | --enable-user=frr \ | |
102 | --enable-group=frr \ | |
103 | --enable-vty-group=frrvty \ | |
104 | --enable-configfile-mask=0640 \ | |
105 | --enable-logfile-mask=0640 \ | |
106 | --enable-rtadv \ | |
eb651bbc MW |
107 | --enable-fpm \ |
108 | --with-pkg-git-version \ | |
109 | --with-pkg-extra-version=-MyOwnFRRVersion | |
110 | gmake | |
111 | gmake check | |
112 | sudo gmake install | |
278fb111 MW |
113 | |
114 | ### Enable IP & IPv6 forwarding | |
115 | ||
eb651bbc MW |
116 | routeadm -e ipv4-forwarding |
117 | routeadm -e ipv6-forwarding |