Skip to content

Commit 8558b2c

Browse files
readme: improve readme details and instructions
1 parent 4cf7513 commit 8558b2c

File tree

1 file changed

+98
-14
lines changed

1 file changed

+98
-14
lines changed

README.md

Lines changed: 98 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ Features and roadmap - [Features](https://docs.srsran.com/projects/project/en/la
1919
Build Preparation
2020
-----------------
2121

22+
### Dependencies
23+
2224
* Build tools:
2325
* cmake: <https://cmake.org/>
2426

@@ -32,59 +34,141 @@ Build Preparation
3234
You can install the build tools and mandatory requirements for some example distributions with the commands below:
3335

3436
<details open>
35-
<summary>Ubuntu 22.04</summary>
37+
<summary><strong>Ubuntu 22.04</strong></summary>
3638

3739
```bash
3840
sudo apt-get install cmake make gcc g++ pkg-config libfftw3-dev libmbedtls-dev libsctp-dev libyaml-cpp-dev libgtest-dev
3941
```
4042

4143
</details>
4244
<details>
43-
<summary>Fedora</summary>
45+
<summary><strong>Fedora</strong></summary>
4446

4547
```bash
4648
sudo yum install cmake make gcc gcc-c++ fftw-devel lksctp-tools-devel yaml-cpp-devel mbedtls-devel gtest-devel
4749
```
4850

4951
</details>
5052
<details>
51-
<summary>Arch Linux</summary>
53+
<summary><strong>Arch Linux</strong></summary>
5254

5355
```bash
5456
sudo pacman -S cmake make base-devel fftw mbedtls yaml-cpp lksctp-tools gtest
5557
```
5658

5759
</details>
5860

59-
The srsRAN Project supports split-8 and split-7.2 fronthaul.
61+
#### Split-8
6062

61-
Split-8 fronthaul is supported via UHD for USRP devices.
63+
For Split-8 configurations, either UHD or ZMQ is required for the fronthaul interface. Both drivers are linked below, please see their respective documentation for installation instructions.
6264

6365
* UHD: <https://github.com/EttusResearch/uhd>
64-
* See UHD documentation for installation instructions.
66+
* ZMQ: <https://zeromq.org/>
67+
68+
#### Split-7.2
6569

66-
Split-7.2 is supported via DPDK:
70+
For Split-7.2 configurations no extra 3rd-party dependencies are required, only those listed above.
6771

68-
* DPDK: <https://www.dpdk.org/>
72+
Optionally, DPDK can be installed for high-bandwidth low-latency scenarios. For more information on this, please see [this tutorial](https://docs.srsran.com/projects/project/en/latest/tutorials/source/dpdk/source/index.html#).
6973

7074
Build Instructions
7175
------------------
7276

7377
Download and build srsRAN:
7478

79+
<details open>
80+
<summary><strong>Vanilla Installation</strong></summary>
81+
82+
First, clone the srsRAN Project repository:
83+
84+
```bash
85+
git clone https://github.com/srsRAN/srsRAN_Project.git
86+
```
87+
88+
Then build the code-base:
89+
90+
```bash
91+
92+
cd srsRAN_Project
93+
mkdir build
94+
cd build
95+
cmake ../
96+
make -j $(nproc)
97+
make test -j $(nproc)
98+
```
99+
100+
You can now run the gNB from ``srsRAN_Project/build/apps/gnb/``. If you wish to install the srsRAN Project gNB, you can use the following command:
101+
102+
```bash
103+
sudo make install
104+
```
105+
</details>
106+
107+
<details>
108+
<summary><strong>ZMQ Enabled Installation</strong></summary>
109+
110+
111+
Once ZMQ has been installed you will need build of srsRAN Project with the correct flags to enable the use of ZMQ.
112+
113+
The following commands can be used to clone and build srsRAN Project from source. The relevant flags are added to the ``cmake`` command to enable the use of ZMQ:
114+
75115
```bash
76116
git clone https://github.com/srsran/srsRAN_Project.git
77117
cd srsRAN_Project
78118
mkdir build
79119
cd build
80-
cmake ..
81-
make
82-
make test
120+
cmake ../ -DENABLE_EXPORT=ON -DENABLE_ZEROMQ=ON
121+
make -j $(nproc)
122+
make test -j $(nproc)
83123
```
84124

125+
Pay extra attention to the cmake console output. Make sure you read the following line to ensure ZMQ has been correctly detected by srsRAN:
126+
127+
```bash
128+
...
129+
-- FINDING ZEROMQ.
130+
-- Checking for module 'ZeroMQ'
131+
-- No package 'ZeroMQ' found
132+
-- Found libZEROMQ: /usr/local/include, /usr/local/lib/libzmq.so
133+
...
134+
```
135+
</details>
136+
137+
<details>
138+
<summary><strong>DPDK Enabled Installation</strong></summary>
139+
140+
Once DPDK has been installed and configured you will need to create a clean build of srsRAN Project to enable the use of DPDK.
141+
142+
If you have not done so already, download the code-base with the following command:
143+
144+
```bash
145+
git clone https://github.com/srsRAN/srsRAN_Project.git
146+
```
147+
148+
Then build the code-base, making sure to include the correct flags when running cmake:
149+
150+
```bash
151+
cd srsRAN_Project
152+
mkdir build
153+
cd build
154+
cmake ../ -DENABLE_DPDK=True -DASSERT_LEVEL=MINIMAL
155+
make -j $(nproc)
156+
make test -j $(nproc)
157+
```
158+
</details>
159+
160+
### PHY Tests
161+
85162
PHY layer tests use binary test vectors and are not built by default. To enable, see the [docs](https://docs.srsran.com/projects/project/en/latest/user_manuals/source/installation.html).
86163

87-
How to deploy a 5G network?
88-
----------------------------------------------
164+
Deploying srsRAN Project
165+
------------------------
166+
167+
srsRAN Project can be run in two ways:
168+
169+
- As a monolithic gNB (combined CU & DU)
170+
- With a split CU and DU
171+
172+
For exact details on running srsRAN Project in any configuration, see [the documentation](https://docs.srsran.com/projects/project/en/latest/user_manuals/source/running.html).
89173

90-
Check our [tutorials](https://docs.srsran.com/projects/project/en/latest/tutorials/source/index.html) that describe how to set up an end-to-end 5G SA system with srsRAN Project.
174+
For information on configuring and running srsRAN for various different use cases, check our [tutorials](https://docs.srsran.com/projects/project/en/latest/tutorials/source/index.html).

0 commit comments

Comments
 (0)