(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.. _linux_setup_script:
+
Quick Start Setup Script
========================
-The setup.sh script, found in the tools subdirectory, allows the user to perform the following tasks:
+The dpdk-setup.sh script, found in the tools subdirectory, allows the user to perform the following tasks:
* Build the DPDK libraries
* Look at hugepages in the meminfo
-* List hugepages in /mnt/huge
+* List hugepages in ``/mnt/huge``
* Remove built DPDK libraries
Script Organization
-------------------
-The setup.sh script is logically organized into a series of steps that a user performs in sequence.
+The dpdk-setup.sh script is logically organized into a series of steps that a user performs in sequence.
Each step provides a number of options that guide the user to completing the desired task.
The following is a brief synopsis of each step.
Use Cases
---------
-The following are some example of how to use the setup.sh script.
+The following are some example of how to use the dpdk-setup.sh script.
The script should be run using the source command.
Some options in the script prompt the user for further data before proceeding.
.. warning::
- The setup.sh script should be run with root privileges.
+ The dpdk-setup.sh script should be run with root privileges.
.. code-block:: console
- user@host:~/rte$ source tools/setup.sh
+ source tools/dpdk-setup.sh
------------------------------------------------------------------------
[3] ppc_64-power8-linuxapp-gcc
- [4] x86_64-ivshmem-linuxapp-gcc
-
- [5] x86_64-ivshmem-linuxapp-icc
+ [4] x86_64-native-bsdapp-clang
- [6] x86_64-native-bsdapp-clang
+ [5] x86_64-native-bsdapp-gcc
- [7] x86_64-native-bsdapp-gcc
+ [6] x86_64-native-linuxapp-clang
- [8] x86_64-native-linuxapp-clang
+ [7] x86_64-native-linuxapp-gcc
- [9] x86_64-native-linuxapp-gcc
-
- [10] x86_64-native-linuxapp-icc
+ [8] x86_64-native-linuxapp-icc
------------------------------------------------------------------------
Option:
-The following selection demonstrates the creation of the x86_64-native-linuxapp-gcc DPDK library.
+The following selection demonstrates the creation of the ``x86_64-native-linuxapp-gcc`` DPDK library.
.. code-block:: console
================== Installing x86_64-native-linuxapp-gcc
Configuration done
- == Build scripts
- == Build scripts/testhost
- HOSTCC testhost.o
+ == Build lib
...
Build complete
- RTE_TARGET exported as x86_64-native -linuxapp-gcc
+ RTE_TARGET exported as x86_64-native-linuxapp-gcc
The following selection demonstrates the starting of the DPDK UIO driver.
Loading DPDK UIO module
The following selection demonstrates the creation of hugepages in a NUMA system.
-1024 2 Mbyte pages are assigned to each node.
+1024 2 MByte pages are assigned to each node.
The result is that the application should use -m 4096 for starting the application to access both memory areas
(this is done automatically if the -m option is not provided).
Option: 15
Removing currently reserved hugepages
- nmounting /mnt/huge and removing directory
+ mounting /mnt/huge and removing directory
Input the number of 2MB pages for each node
Example: to have 128MB of hugepages available per node,
enter '64' to reserve 64 * 2MB pages on each node
Applications
------------
-Once the user has run the setup.sh script, built one of the EAL targets and set up hugepages (if using one of the Linux EAL targets),
+Once the user has run the dpdk-setup.sh script, built one of the EAL targets and set up hugepages (if using one of the Linux EAL targets),
the user can then move on to building and running their application or one of the examples provided.
The examples in the /examples directory provide a good starting point to gain an understanding of the operation of the DPDK.
.. code-block:: console
- rte@rte-desktop:~/rte/examples$ cd helloworld/
- rte@rte-desktop:~/rte/examples/helloworld$ make
- CC main.o
- LD helloworld
- INSTALL-APP helloworld
- INSTALL-MAP helloworld.map
+ cd helloworld/
+ make
+ CC main.o
+ LD helloworld
+ INSTALL-APP helloworld
+ INSTALL-MAP helloworld.map
- rte@rte-desktop:~/rte/examples/helloworld$ sudo ./build/app/helloworld -c 0xf -n 3
+ sudo ./build/app/helloworld -c 0xf -n 3
[sudo] password for rte:
+
EAL: coremask set to f
EAL: Detected lcore 0 as core 0 on socket 0
EAL: Detected lcore 1 as core 0 on socket 1