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$ wget https://github.com/F-Stack/f-stack/releases/download/v1.12/f-stack-binary-release.tar.gz
14$ tar zxf f-stack-binary-release.tar.gz
15$ cd f-stack-binary-release/scripts
16# set_env.sh will offload the NIC, if you only have one NIC, the following three commands must run in a script
17$ ./set_env.sh dev_name
18$ ./run_app.sh [app_name]
19$ ./config_veth0.sh
20```
21
22- dev_name is the name of your NIC, you can see it with *ifconfig* or *ip addr* command
23- 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.
24- All the scripts should run with root permission
25
26## Directory structure
27
28```
29+-- f-stack-binary-release
30|   +-- doc
31|   |   +-- F-Stack_Build_Guide.md
32|   |   +-- F-Stack_Binary_Release_Quick_Start.md
33|   +-- f-stack-release
34|   |   +-- CentOS
35|   |   |   +-- app (nignx-1.11.10 redis-3.2.8)
36|   |   |   +-- config.ini
37|   |   |   +-- doc
38|   |   |   +-- dpdk
39|   |   |   +-- example
40|   |   |   +-- start.sh (a script helps to run applications)
41|   |   |   +-- tools
42|   |   +-- RHEL
43|   |   +-- Ubuntu
44|   |   +-- kmod (kernel modules)
45|   |   |   +-- CentOS
46|   |   |   |   +-- supported_kernel_version
47|   |   |   |   |   +-- igb_uio.ko
48|   |   |   |   |   +-- rte_kni.ko
49|   |   |   +-- RHEL
50|   |   |   +-- Ubuntu
51|   +-- scripts
52|   |   +-- config_veth0.sh (configure the virtual NIC)
53|   |   +-- run_app.sh  (run a specific application)
54|   |   +-- set_env.sh  (setup environment that f-stack needs)
55```
56
57## Supported Linux releases
58
59 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:
60
61| Linux Release  | Kernel |
62| -------------- | ------ |
63| CentOS 7.0     | 3.10.0-123.el7.x86_64 |
64| CentOS 7.2     | 3.10.0-327.el7.x86_64 |
65| CentOS 7.3     | 3.10.0-514.el7.x86_64 |
66| CentOS 7.4     | 3.10.0-693.el7.x86_64 |
67| CentOS 7.5     | 3.10.0-862.el7.x86_64 |
68| RHEL 7.2       | 3.10.0-327.el7.x86_64 |
69| RHEL 7.3       | 3.10.0-514.el7.x86_64 |
70| RHEL 7.4       | 3.10.0-693.el7.x86_64 |
71| RHEL 7.5       | 3.10.0-862.el7.x86_64 |
72| Ubuntu 14.04.5 | 4.4.0-31-generic      |
73| Ubuntu 16.04.4 | 4.13.0-36-generic     |
74| Ubuntu 18.04   | 4.15.0-20-generic     |
75
76Also, 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.
77
78| Linux Release  | Kernel |
79| -------------- | ------ |
80| CentOS 7.2     | 3.10.0-514.26.2.el7.x86_64 |
81| CentOS 7.3     | 3.10.0-514.21.1.el7.x86_64 |
82| CentOS 7.4     | 3.10.0-693.el7.x86_64      |
83| Ubuntu 14.04.1 | 3.13.0-128-generic         |
84| Ubuntu 16.04.1 | 4.4.0-91-generic           |
85
86## Uninstall f-stack-binary-release package
87
88```
89$ sudo rm -rf /usr/local/nginx_fstack
90$ rm -rf /path/to/f-stack-binary-release
91```
92
93## Compile f-stack by yourself
94
95If your OS version is not in the above list or you want to compile f-stack by yourself, you can refer to another document [Build_Guide](https://github.com/F-Stack/f-stack/blob/master/doc/F-Stack_Build_Guide.md).
96