From 625b8bc2a45ea208e8180719b6afc691c458d290 Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Thu, 16 Aug 2018 14:49:34 +0200 Subject: [PATCH] doc/developer/openwrt: Update instructions for building for OpenWRT Signed-off-by: Christian Franke --- doc/Makefile.am | 2 +- doc/developer/building-frr-for-openwrt.rst | 77 +++++++++++++ .../building-frr-on-lede-openwrt.rst | 108 ------------------ doc/developer/building.rst | 2 +- 4 files changed, 79 insertions(+), 110 deletions(-) create mode 100644 doc/developer/building-frr-for-openwrt.rst delete mode 100644 doc/developer/building-frr-on-lede-openwrt.rst diff --git a/doc/Makefile.am b/doc/Makefile.am index 6f72585485..4c70c55927 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -167,6 +167,7 @@ EXTRA_DIST = frr-sphinx.mk \ manpages/bfd-options.rst \ developer/bgpd.rst \ developer/bgp-typecodes.rst \ + developer/building-frr-for-openwrt.rst \ developer/building-frr-on-alpine.rst \ developer/building-frr-on-centos6.rst \ developer/building-frr-on-centos7.rst \ @@ -176,7 +177,6 @@ EXTRA_DIST = frr-sphinx.mk \ developer/building-frr-on-freebsd10.rst \ developer/building-frr-on-freebsd11.rst \ developer/building-frr-on-freebsd9.rst \ - developer/building-frr-on-lede-openwrt.rst \ developer/building-frr-on-netbsd6.rst \ developer/building-frr-on-netbsd7.rst \ developer/building-frr-on-omnios.rst \ diff --git a/doc/developer/building-frr-for-openwrt.rst b/doc/developer/building-frr-for-openwrt.rst new file mode 100644 index 0000000000..b9be1b5226 --- /dev/null +++ b/doc/developer/building-frr-for-openwrt.rst @@ -0,0 +1,77 @@ +OpenWRT +======= + +Prepare build environment +------------------------- + +For Debian based distributions, run: + +:: + + sudo apt-get install git build-essential libssl-dev libncurses5-dev \ + unzip gawk zlib1g-dev subversion mercurial + +For other environments, instructions can be found in the +`official documentation +`_. + + +Get OpenWRT Sources (from Git) +------------------------------ + +.. note:: + The OpenWRT build will fail if you run it as root. So take care to run it as a nonprivileged user. + +Clone the OpenWRT sources and retrieve the package feeds + +:: + + git clone https://github.com/openwrt/openwrt.git + cd openwrt + ./scripts/feeds update -a + ./scripts/feeds install -a + cd feeds/routing + git fetch origin pull/319/head + git read-tree --prefix=frr/ -u FETCH_HEAD:frr + cd ../../package/feeds/routing/ + ln -sv ../../../feeds/routing/frr . + cd ../../.. + +Configure OpenWRT for your target and select the needed FRR packages in Network -> Routing and Redirection -> frr, +exit and save + +:: + + make menuconfig + +Then, to compile either a complete OpenWRT image, or the FRR packages, run: + +:: + + make or make package/frr/compile + +It may be possible that on first build ``make package/frr/compile`` not +to work and it may be needed to run a ``make`` for the entire build +environment. Add ``V=s`` to get more debugging output. + +Work with sources +----------------- + +To update to a newer version, or change other options, you need to edit the ``feeds/routing/frr/Makefile``. + +Usage +----- + +Edit ``/usr/sbin/frr.init`` and add/remove the daemons name in section +``DAEMONS=`` or don't install unneded packages For example: zebra bgpd ldpd +isisd nhrpd ospfd ospf6d pimd ripd ripngd + +Enable the serivce +^^^^^^^^^^^^^^^^^^ + +- ``service frr enable`` + +Start the service +^^^^^^^^^^^^^^^^^ + +- ``service frr start`` diff --git a/doc/developer/building-frr-on-lede-openwrt.rst b/doc/developer/building-frr-on-lede-openwrt.rst deleted file mode 100644 index d14754b37f..0000000000 --- a/doc/developer/building-frr-on-lede-openwrt.rst +++ /dev/null @@ -1,108 +0,0 @@ -OpenWRT/LEDE -============================================= - -- for the moment because of cross compile problems, master is not - supported, only up to 3.0 -- LDP can't be built because of missing Perl-XML-LibXML in OpenWRT/LEDE - tree - -Prepare build environment -------------------------- - -https://lede-project.org/docs/guide-developer/install-buildsystem - -for - -Ubuntu 12.04LTS: - -:: - - sudo apt-get install build-essential subversion git-core \ - libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc \ - libxml-parser-perl mercurial bzr ecj cvs unzip python3-sphinx - -Ubuntu 64bit: - -:: - - sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev \ - gawk gcc-multilib flex git-core gettext libssl-dev python3-sphinx - -Debian 8 Jessie: - -:: - - sudo apt-get install build-essential libncurses5-dev gawk git subversion \ - libssl-dev gettext unzip zlib1g-dev file python python3-sphinx - -Debian 9 Stretch: - -:: - - sudo apt-get install build-essential libncurses5-dev gawk git subversion \ - libssl-dev gettext zlib1g-dev python3-sphinx - -Centos x86-64 (some packages require EPEL): - -:: - - yum install subversion binutils bzip2 gcc gcc-c++ gawk gettext flex \ - ncurses-devel zlib-devel zlib-static make patch unzip glibc glibc-devel \ - perl-ExtUtils-MakeMaker glibc-static quilt ncurses-libs sed sdcc bison \ - intltool sharutils wget git-core openssl-devel xz python-sphinx - -Fedora 24 - 64Bit: - -:: - - dnf install -y subversion binutils bzip2 gcc gcc-c++ gawk gettext git-core \ - unzip ncurses-devel ncurses-compat-libs zlib-devel zlib-static make \ - flex patch perl-ExtUtils-MakeMaker perl-Thread-Queue glibc glibc-devel \ - glibc-static quilt sed sdcc intltool sharutils bison wget openssl-devel \ - python3-sphinx - -Get LEDE Sources (from Git) ---------------------------- - -LEDE and OpenWRT is planned to remerge and won't cover the similar -OpenWRT build As normal user: git clone -https://git.lede-project.org/source.git lede cd lede ./scripts/feeds -update -a ./scripts/feeds install -a cd feeds/routing git pull origin -pull/319/head ln -s ../../../feeds/routing/frr/ -../../package/feeds/routing/ cd ../.. make menuconfig - -Select the needed target then select needed packages in Network -> -Routing and Redirection -> frr, exit and save - -:: - - make or make package/frr/compile - -It may be possible that on first build ``make package/frr/compile`` not -to work and it may be needed to run a ``make`` for the entire build -envronment, add V=s for debugging - -Work with sources ------------------ - -To update the rc1 version or add other options, the Makefile is found in -feeds/routing/frr - -edit: PKG\_VERSION:= PKG\_SOURCE\_VERSION:= - -Usage ------ - -Edit ``/usr/sbin/frr.init`` and add/remove the daemons name in section -DAEMONS= or don't install unneded packages For example: zebra bgpd ldpd -isisd nhrpd ospfd ospf6d pimd ripd ripngd - -Enable the serivce -^^^^^^^^^^^^^^^^^^ - -- service frr enable - -Start the service -^^^^^^^^^^^^^^^^^ - -- service frr start diff --git a/doc/developer/building.rst b/doc/developer/building.rst index 051611a65d..d145849f7f 100644 --- a/doc/developer/building.rst +++ b/doc/developer/building.rst @@ -7,7 +7,6 @@ Building FRR .. toctree:: :maxdepth: 2 - building-frr-on-lede-openwrt building-frr-on-alpine building-frr-on-centos6 building-frr-on-centos7 @@ -21,6 +20,7 @@ Building FRR building-frr-on-netbsd7 building-frr-on-omnios building-frr-on-openbsd6 + building-frr-for-openwrt building-frr-on-ubuntu1204 building-frr-on-ubuntu1404 building-frr-on-ubuntu1604 -- 2.39.5