165887fbfSxklllll# F-Stack Binary Release Quick Start
265887fbfSxklllll
365887fbfSxklllll## How to use
465887fbfSxklllll
565887fbfSxklllllBefore you start to use f-stack-binary-release package, please make sure you:
665887fbfSxklllll- have access to the internet
765887fbfSxklllll- have at least one NIC up
865887fbfSxklllll- have root permission
965887fbfSxklllll- meet all other requirements of dpdk
1065887fbfSxklllll
1165887fbfSxklllll```sh
1265887fbfSxklllll$ sudo -i
13*2ab00686Sjohnjiang$ wget https://github.com/F-Stack/f-stack/releases/download/v1.12/f-stack-binary-release.tar.gz
1465887fbfSxklllll$ tar zxf f-stack-binary-release.tar.gz
1565887fbfSxklllll$ cd f-stack-binary-release/scripts
1665887fbfSxklllll# set_env.sh will offload the NIC, if you only have one NIC, the following three commands must run in a script
1765887fbfSxklllll$ ./set_env.sh dev_name
1865887fbfSxklllll$ ./run_app.sh [app_name]
1965887fbfSxklllll$ ./config_veth0.sh
2065887fbfSxklllll```
2165887fbfSxklllll
2265887fbfSxklllll- dev_name is the name of your NIC, you can see it with *ifconfig* or *ip addr* command
2365887fbfSxklllll- 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.
2465887fbfSxklllll- All the scripts should run with root permission
2565887fbfSxklllll
2665887fbfSxklllll## Directory structure
2765887fbfSxklllll
2865887fbfSxklllll```
2965887fbfSxklllll+-- f-stack-binary-release
3065887fbfSxklllll|   +-- doc
3165887fbfSxklllll|   |   +-- F-Stack_Build_Guide.md
3265887fbfSxklllll|   |   +-- F-Stack_Binary_Release_Quick_Start.md
3365887fbfSxklllll|   +-- f-stack-release
3465887fbfSxklllll|   |   +-- CentOS
3565887fbfSxklllll|   |   |   +-- app (nignx-1.11.10 redis-3.2.8)
3665887fbfSxklllll|   |   |   +-- config.ini
3765887fbfSxklllll|   |   |   +-- doc
3865887fbfSxklllll|   |   |   +-- dpdk
3965887fbfSxklllll|   |   |   +-- example
4065887fbfSxklllll|   |   |   +-- start.sh (a script helps to run applications)
4165887fbfSxklllll|   |   |   +-- tools
4265887fbfSxklllll|   |   +-- RHEL
4365887fbfSxklllll|   |   +-- Ubuntu
4465887fbfSxklllll|   |   +-- kmod (kernel modules)
4565887fbfSxklllll|   |   |   +-- CentOS
4665887fbfSxklllll|   |   |   |   +-- supported_kernel_version
4765887fbfSxklllll|   |   |   |   |   +-- igb_uio.ko
4865887fbfSxklllll|   |   |   |   |   +-- rte_kni.ko
4965887fbfSxklllll|   |   |   +-- RHEL
5065887fbfSxklllll|   |   |   +-- Ubuntu
5165887fbfSxklllll|   +-- scripts
5265887fbfSxklllll|   |   +-- config_veth0.sh (configure the virtual NIC)
5365887fbfSxklllll|   |   +-- run_app.sh  (run a specific application)
5465887fbfSxklllll|   |   +-- set_env.sh  (setup environment that f-stack needs)
5565887fbfSxklllll```
5665887fbfSxklllll
5765887fbfSxklllll## Supported Linux releases
5865887fbfSxklllll
5965887fbfSxklllll 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:
6065887fbfSxklllll
6165887fbfSxklllll| Linux Release  | Kernel |
6265887fbfSxklllll| -------------- | ------ |
6365887fbfSxklllll| CentOS 7.0     | 3.10.0-123.el7.x86_64 |
6465887fbfSxklllll| CentOS 7.2     | 3.10.0-327.el7.x86_64 |
6565887fbfSxklllll| CentOS 7.3     | 3.10.0-514.el7.x86_64 |
6665887fbfSxklllll| CentOS 7.4     | 3.10.0-693.el7.x86_64 |
6765887fbfSxklllll| CentOS 7.5     | 3.10.0-862.el7.x86_64 |
6865887fbfSxklllll| RHEL 7.2       | 3.10.0-327.el7.x86_64 |
6965887fbfSxklllll| RHEL 7.3       | 3.10.0-514.el7.x86_64 |
7065887fbfSxklllll| RHEL 7.4       | 3.10.0-693.el7.x86_64 |
7165887fbfSxklllll| RHEL 7.5       | 3.10.0-862.el7.x86_64 |
7265887fbfSxklllll| Ubuntu 14.04.5 | 4.4.0-31-generic      |
7365887fbfSxklllll| Ubuntu 16.04.4 | 4.13.0-36-generic     |
7465887fbfSxklllll| Ubuntu 18.04   | 4.15.0-20-generic     |
7565887fbfSxklllll
7665887fbfSxklllllAlso, 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.
7765887fbfSxklllll
7865887fbfSxklllll| Linux Release  | Kernel |
7965887fbfSxklllll| -------------- | ------ |
8065887fbfSxklllll| CentOS 7.2     | 3.10.0-514.26.2.el7.x86_64 |
8165887fbfSxklllll| CentOS 7.3     | 3.10.0-514.21.1.el7.x86_64 |
8265887fbfSxklllll| CentOS 7.4     | 3.10.0-693.el7.x86_64      |
8365887fbfSxklllll| Ubuntu 14.04.1 | 3.13.0-128-generic         |
8465887fbfSxklllll| Ubuntu 16.04.1 | 4.4.0-91-generic           |
8565887fbfSxklllll
8665887fbfSxklllll## Uninstall f-stack-binary-release package
8765887fbfSxklllll
8865887fbfSxklllll```
8965887fbfSxklllll$ sudo rm -rf /usr/local/nginx_fstack
9065887fbfSxklllll$ rm -rf /path/to/f-stack-binary-release
9165887fbfSxklllll```
9265887fbfSxklllll
9365887fbfSxklllll## Compile f-stack by yourself
9465887fbfSxklllll
955e6936a3SxklllllIf 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