diff options
| author | Jafar Al-Gharaibeh <jafar@atcorp.com> | 2023-09-27 17:46:40 -0500 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-09-27 17:46:40 -0500 | 
| commit | 52cc7f1006b5ec445e968ea8cd1c874036e2adcb (patch) | |
| tree | 90ce18b94908f2d0d14281ec87b98d6ea65574e7 /doc | |
| parent | f5820215f2794210ca5cde019c5c6a53420d8d12 (diff) | |
| parent | e1996b3f4af4a0793ca96bde97a3544502235200 (diff) | |
Merge pull request #14222 from opensourcerouting/doc/debian12
[DOC] Debian 12
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/developer/building-frr-for-debian12.rst | 119 | ||||
| -rw-r--r-- | doc/developer/subdir.am | 1 | 
2 files changed, 120 insertions, 0 deletions
diff --git a/doc/developer/building-frr-for-debian12.rst b/doc/developer/building-frr-for-debian12.rst new file mode 100644 index 0000000000..ca882eedbc --- /dev/null +++ b/doc/developer/building-frr-for-debian12.rst @@ -0,0 +1,119 @@ +Debian 12 +========= + +Install required packages +------------------------- + +Add packages: + +:: + +   sudo apt-get install git autoconf automake libtool make \ +      libprotobuf-c-dev protobuf-c-compiler build-essential \ +      python3-dev python3-pytest python3-sphinx libjson-c-dev \ +      libelf-dev libreadline-dev cmake libcap-dev bison flex \ +      pkg-config texinfo gdb libgrpc-dev python3-grpc-tools + +.. include:: building-libunwind-note.rst + +.. include:: building-libyang.rst + +Get FRR, compile it and install it (from Git) +--------------------------------------------- + +**This assumes you want to build and install FRR from source and not +using any packages** + +Add frr groups and user +^^^^^^^^^^^^^^^^^^^^^^^ + +:: + +    sudo addgroup --system --gid 92 frr +    sudo addgroup --system --gid 85 frrvty +    sudo adduser --system --ingroup frr --home /var/opt/frr/ \ +       --gecos "FRR suite" --shell /bin/false frr +    sudo usermod -a -G frrvty frr + +Download Source, configure and compile it +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +(You may prefer different options on configure statement. These are just +an example.) + +:: + +    git clone https://github.com/frrouting/frr.git frr +    cd frr +    ./bootstrap.sh +    ./configure \ +        --localstatedir=/var/opt/frr \ +        --sbindir=/usr/lib/frr \ +        --sysconfdir=/etc/frr \ +        --enable-multipath=64 \ +        --enable-user=frr \ +        --enable-group=frr \ +        --enable-vty-group=frrvty \ +        --enable-configfile-mask=0640 \ +        --enable-logfile-mask=0640 \ +        --enable-fpm \ +        --with-pkg-git-version \ +        --with-pkg-extra-version=-MyOwnFRRVersion +    make +    make check +    sudo make install + +For more compile options, see ``./configure --help`` + +Create empty FRR configuration files +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + +    sudo install -m 640 -o frr -g frr /dev/null /etc/frr/frr.conf +    sudo install -m 640 -o frr -g frr tools/etc/frr/daemons /etc/frr/daemons + +Edit ``/etc/frr/daemons`` and enable the FRR daemons for the protocols you need + +Enable IP & IPv6 forwarding +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Edit ``/etc/sysctl.conf`` and uncomment the following values (ignore the +other settings) + +:: + +    # Uncomment the next line to enable packet forwarding for IPv4 +    net.ipv4.ip_forward=1 + +    # Uncomment the next line to enable packet forwarding for IPv6 +    #  Enabling this option disables Stateless Address Autoconfiguration +    #  based on Router Advertisements for this host +    net.ipv6.conf.all.forwarding=1 + +**Reboot** or use ``sysctl -p`` to apply the same config to the running +system + +Troubleshooting +--------------- + +Shared library error +^^^^^^^^^^^^^^^^^^^^ + +If you try and start any of the frrouting daemons you may see the below +error due to the frrouting shared library directory not being found: + +:: + +   ./zebra: error while loading shared libraries: libfrr.so.0: cannot open +   shared object file: No such file or directory + +The fix is to add the following line to /etc/ld.so.conf which will +continue to reference the library directory after the system reboots. To +load the library directory path immediately run the ldconfig command +after adding the line to the file eg: + +:: + +   echo include /usr/local/lib >> /etc/ld.so.conf +   ldconfig diff --git a/doc/developer/subdir.am b/doc/developer/subdir.am index f052956c54..0deb0f5da0 100644 --- a/doc/developer/subdir.am +++ b/doc/developer/subdir.am @@ -11,6 +11,7 @@ dev_RSTFILES = \  	doc/developer/building-frr-for-centos7.rst \  	doc/developer/building-frr-for-debian8.rst \  	doc/developer/building-frr-for-debian9.rst \ +	doc/developer/building-frr-for-debian12.rst \  	doc/developer/building-frr-for-fedora.rst \  	doc/developer/building-frr-for-freebsd10.rst \  	doc/developer/building-frr-for-freebsd11.rst \  | 
