1# F-Stack Binary Release Quick Start
2
3## How to use
4
5Before you start to use f-stack-binary-release package, please make sure you:
6- have access to the internet
7- have at least one NIC up
8- have root permission
9- meet all other requirements of dpdk
10
11```sh
12$ sudo -i
13$ tar zxf f-stack-binary-release.tar.gz
14$ cd f-stack-binary-release/scripts
15# set_env.sh will offload the NIC, if you only have one NIC, the following three commands must run in a script
16$ ./set_env.sh dev_name
17$ ./run_app.sh [app_name]
18$ ./config_veth0.sh
19```
20
21- dev_name is the name of your NIC, you can see it with *ifconfig* or *ip addr* command
22- app_name is the name of application you want to run, now we support 'nginx' and 'redis'. If you do not add any argument, it will run a helloworld example, you can use it to test whether the envrionment is setup correctly.
23- All the scripts should run with root permission
24
25## Directory structure
26
27```
28+-- f-stack-binary-release
29|   +-- doc
30|   |   +-- F-Stack_Build_Guide.md
31|   |   +-- F-Stack_Binary_Release_Quick_Start.md
32|   +-- f-stack-release
33|   |   +-- CentOS
34|   |   |   +-- app (nignx-1.11.10 redis-3.2.8)
35|   |   |   +-- config.ini
36|   |   |   +-- doc
37|   |   |   +-- dpdk
38|   |   |   +-- example
39|   |   |   +-- start.sh (a script helps to run applications)
40|   |   |   +-- tools
41|   |   +-- RHEL
42|   |   +-- Ubuntu
43|   |   +-- kmod (kernel modules)
44|   |   |   +-- CentOS
45|   |   |   |   +-- supported_kernel_version
46|   |   |   |   |   +-- igb_uio.ko
47|   |   |   |   |   +-- rte_kni.ko
48|   |   |   +-- RHEL
49|   |   |   +-- Ubuntu
50|   +-- scripts
51|   |   +-- config_veth0.sh (configure the virtual NIC)
52|   |   +-- run_app.sh  (run a specific application)
53|   |   +-- set_env.sh  (setup environment that f-stack needs)
54```
55
56## Supported Linux releases
57
58 The f-stack-binary-release package has supported several frequent used linux releases, you can use f-stack applications directly on these releases. What should be paid attention to is that f-stack uses linux kernel modules, so if you have different kernel versions in your machine, you could not use this f-stack-quick-start package and need to compile f-stack by yourself. Here is the list of linux releases this package support now:
59
60| Linux Release  | Kernel |
61| -------------- | ------ |
62| CentOS 7.0     | 3.10.0-123.el7.x86_64 |
63| CentOS 7.2     | 3.10.0-327.el7.x86_64 |
64| CentOS 7.3     | 3.10.0-514.el7.x86_64 |
65| CentOS 7.4     | 3.10.0-693.el7.x86_64 |
66| CentOS 7.5     | 3.10.0-862.el7.x86_64 |
67| RHEL 7.2       | 3.10.0-327.el7.x86_64 |
68| RHEL 7.3       | 3.10.0-514.el7.x86_64 |
69| RHEL 7.4       | 3.10.0-693.el7.x86_64 |
70| RHEL 7.5       | 3.10.0-862.el7.x86_64 |
71| Ubuntu 14.04.5 | 4.4.0-31-generic      |
72| Ubuntu 16.04.4 | 4.13.0-36-generic     |
73| Ubuntu 18.04   | 4.15.0-20-generic     |
74
75Also, we support tencent cloud, if you are using cloud virtual machine in cloud.tencent.com, you can also use this f-stack-quick-start package.
76
77| Linux Release  | Kernel |
78| -------------- | ------ |
79| CentOS 7.2     | 3.10.0-514.26.2.el7.x86_64 |
80| CentOS 7.3     | 3.10.0-514.21.1.el7.x86_64 |
81| CentOS 7.4     | 3.10.0-693.el7.x86_64      |
82| Ubuntu 14.04.1 | 3.13.0-128-generic         |
83| Ubuntu 16.04.1 | 4.4.0-91-generic           |
84
85## Uninstall f-stack-binary-release package
86
87```
88$ sudo rm -rf /usr/local/nginx_fstack
89$ rm -rf /path/to/f-stack-binary-release
90```
91
92## Compile f-stack by yourself
93
94If your OS version is not in the above list or you want to compile f-stack by yourself, you can refer to another document *compile_f-stack_in_different_linux_releases.md*.