summaryrefslogtreecommitdiffstats
path: root/docs/developer/build-run-debug/building.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/developer/build-run-debug/building.rst')
-rw-r--r--docs/developer/build-run-debug/building.rst105
1 files changed, 103 insertions, 2 deletions
diff --git a/docs/developer/build-run-debug/building.rst b/docs/developer/build-run-debug/building.rst
index 1df838abf84..d01eff7bf8f 100644
--- a/docs/developer/build-run-debug/building.rst
+++ b/docs/developer/build-run-debug/building.rst
@@ -3,11 +3,95 @@
.. toctree::
Building VPP
-============
+=====================
To get started developing with VPP, you need to get the required VPP sources and then build the packages.
For more detailed information on the build system please refer to :ref:`buildsystem`.
+.. _makesureinstalled:
+
+VPP for Ubuntu: Environment Setup
+-------------------------------------------
+
+If you are not downloading VPP on Ubuntu with WSL (Windows Subsystem for Linux), please disregard this section
+and jump to 'Get the VPP Sources'.
+
+Before starting on VPP for Ubuntu, make sure WSL2 and Ubuntu are installed.
+
+To install WSL2 and Ubuntu, run Windows PowerShell as an administrator and enter this in the terminal:
+
+.. code-block:: console
+
+ $ wsl --install
+
+Next, go to the 'resolv.conf' file in Ubuntu's '/etc' folder.
+It should have been automatically generated when Ubuntu was installed; if it doesn't exist, create it.
+Please use 'sudo' to avoid "File resolv.conf is unwritable" errors.
+
+.. code-block:: console
+
+ $ cd /etc
+ $ sudo nano resolv.conf
+
+In the file, add the following content in place of the current 'nameserver X.X.X.X' line:
+
+.. code-block:: console
+
+ nameserver 8.8.8.8
+
+This replaces the DNS nameserver on your machine with the Google DNS service,
+resolving any DNS Internet connection issues.
+
+Note: by default, the 'resolv.conf' file regenerates every time you restart Ubuntu, so your changes won't be saved.
+To keep your changes, run the following command to make 'resolv.conf' immutable:
+
+.. code-block:: console
+
+ $ sudo chattr +i /etc/resolv.conf
+
+
+Now copy the following lines from 'resolv.conf':
+
+.. code-block:: console
+
+ [network]
+ generateResolvConf = false
+
+Then, go to the 'wsl.conf' file in '/etc' and paste the lines there.
+Please use 'sudo' here as well to avoid "File wsl.conf is unwritable" errors.
+
+.. code-block:: console
+
+ $ sudo nano wsl.conf
+
+In order to test your DNS server connection, please ping 8.8.8.8 on the terminal:
+
+.. code-block:: console
+
+ $ ping 8.8.8.8
+ PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
+ 64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=9.58 ms
+ 64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=45.8 ms
+ 64 bytes from 8.8.8.8: icmp_seq=3 ttl=116 time=9.62 ms
+ 64 bytes from 8.8.8.8: icmp_seq=4 ttl=116 time=11.4 ms
+ 64 bytes from 8.8.8.8: icmp_seq=5 ttl=116 time=12.2 ms
+ 64 bytes from 8.8.8.8: icmp_seq=6 ttl=116 time=8.69 ms
+ 64 bytes from 8.8.8.8: icmp_seq=7 ttl=116 time=52.4 ms
+ 64 bytes from 8.8.8.8: icmp_seq=8 ttl=116 time=11.0 ms
+ ...
+
+While still in /etc, run the following commands:
+
+.. code-block:: console
+
+ $ sudo apt-get update
+ $ sudo apt-get dist-upgrade
+ $ sudo apt-get install --reinstall ca-certificates
+ $ sudo update-ca-certificates
+
+
+Finally, head back to your home directory and jump to 'Get the VPP Sources'.
+
.. _setupproxies:
Set up Proxies
@@ -45,6 +129,13 @@ installed, by entering the following commands:
There should be no output, or no packages shown after the above commands are run.
+Please make sure **make** is installed before running the next command.
+If it is not installed, run the following command first:
+
+.. code-block:: console
+
+ $ sudo apt install make
+
Run the following **make** command to install the dependencies for FD.io VPP.
If the download hangs at any point, then you may need to
@@ -119,9 +210,19 @@ Use the following **make** command below to build the release version of FD.io V
$ make build-release
+Installing External Dependencies
+-------------------------------------------
+At this point, there are still some VPP external dependencies left to install. They could be installed
+using 'make-build', but this only installs them locally in the VPP tree, not in the operating system.
+In order to fix this and save time, run the following command:
+
+.. code-block:: console
+
+ $ make install-ext-deps
+-------------------------------------------
Building Necessary Packages
---------------------------------------------
+-------------------------------------------
The package that needs to be built depends on the type system VPP will be running on: