# srsRAN Installation guide
###### tags: `Installation guide`
# :memo: srsRAN Project
## Overview
The srsRAN Project is a complete 5G RAN solution, featuring an ORAN-native CU/DU developed by SRS.
The solution includes a complete L1/2/3 implementation with minimal external dependencies. Portable across processor architectures, the software has been optimized for x86 and ARM. srsRAN follows the 3GPP 5G system architecture implementing the functional splits between distributed unit (DU) and centralized unit (CU). The CU is further disaggregated into control plane (CU-CP) and user-plane (CU-UP).
## Installation steps
The following steps need to be taken in order to download and build the srsRAN Project:
- install dependencies
- install RF driver
- clone the repository
- build the codebase
### 1. installing dependencies and build tool
srsRAN requires the following build tool and dependencies to work
#### build tool
- [cmake](https://cmake.org/)
- [gcc](https://gcc.gnu.org/)
#### dependencies
- [libfftw](https://www.fftw.org/)
- [libsctp](https://github.com/sctp/lksctp-tools)
- [yaml-cpp](https://github.com/jbeder/yaml-cpp)
- [PolasSSL/mbedTLS](https://www.trustedfirmware.org/projects/mbed-tls/)
- [googletest](https://github.com/google/googletest/)
All dependencies and build tool could be installed with the following command
```
sudo apt-get install cmake make gcc g++ pkg-config libfftw3-dev libmbedtls-dev libsctp-dev libyaml-cpp-dev libgtest-dev
```
output example

### 2. installing RF Driver
The srsRAN Project supports split-8 and split-7.2 fronthaul. Split-8 fronthaul is supported via UHD for USRP devices:
- [UHD](https://github.com/EttusResearch/uhd)
```
sudo apt-get install libuhd-dev uhd-host
```
### 3. Cloning repository
clone srsRAN_project git repository
```
git clone https://github.com/srsRAN/srsRAN_Project.git
```
### 4. Building the codebase
the code base can be built with the following command
```
cd srsRAN_Project
mkdir build
cd build
cmake ../
make -j $(nproc)
make test -j $(nproc)
```
output example

After build the codebase by running the code, now gNB can be runned from the address srsRAN_Project/build/apps/gnb/ or use the following syntax to install the srsRAN Project gNB
```
sudo make install
```