F-Release Document Update
[o-du/l2.git] / docs / installation-guide.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3
4 O-DU High Installation Guide
5 *****************************
6
7 This document describes how to install O-DU High, it's dependencies and required system resources.
8
9 .. contents::
10    :depth: 3
11    :local:
12
13
14 Version history
15 ---------------
16
17 +--------------------+--------------------+--------------------+--------------------+
18 | **Date**           | **Ver.**           | **Author**         | **Comment**        |
19 |                    |                    |                    |                    |
20 +--------------------+--------------------+--------------------+--------------------+
21 | 2022-06-16         |  4.0.0             |  Radisys,          |  F release         |
22 |                    |                    |  HCL Technologies  |                    |
23 |                    |                    |  Ltd.              |                    |
24 +--------------------+--------------------+--------------------+--------------------+
25 | 2022-01-14         |  3.0.0             |  Radisys,          |  e-release         |
26 |                    |                    |  HCL Technologies  |                    |
27 |                    |                    |  Ltd.              |                    |
28 +--------------------+--------------------+--------------------+--------------------+
29 | 2021-07-07         |  2.0.0             |  Radisys,          |  D Release         |
30 |                    |                    |  HCL Technologies  |                    |
31 |                    |                    |  Ltd.              |                    |
32 +--------------------+--------------------+--------------------+--------------------+
33 | 2020-12-04         |  1.0.1             |  HCL Technologies  |  Cherry Release    |
34 |                    |                    |  Ltd.              |                    |
35 +--------------------+--------------------+--------------------+--------------------+
36 | 2020-12-04         |  1.0               |  Radisys           |  Cherry Release    |
37 |                    |                    |                    |                    |
38 +--------------------+--------------------+--------------------+--------------------+
39
40
41 Introduction
42 ------------
43
44 This document describes the hardware and software requirements along with guidelines on how to install O-DU High.
45
46 The audience of this document is assumed to have good knowledge in RAN concepts and Linux system.
47
48
49 Preface
50 -------
51
52 O-DU High images can be built using the source code or corresponding docker images can be downloaded.
53
54
55 Hardware requirements
56 ---------------------
57
58 Following minimum hardware requirements must be met for installation of O-DU High
59
60 +--------------------+----------------------------------------------------+
61 | **HW Aspect**      | **Requirement**                                    |
62 |                    |                                                    |
63 +--------------------+----------------------------------------------------+
64 | **# of servers**   |  1                                                 |
65 +--------------------+----------------------------------------------------+
66 | **CPU**            |  4                                                 |
67 |                    |                                                    |
68 +--------------------+----------------------------------------------------+
69 | **RAM**            |  8G                                                |
70 |                    |                                                    |
71 +--------------------+----------------------------------------------------+
72 | **Disk**           |  500G                                              |
73 |                    |                                                    |
74 +--------------------+----------------------------------------------------+
75 | **NICs**           |  1                                                 |
76 |                    |                                                    |
77 +--------------------+----------------------------------------------------+
78
79
80 Software installation and deployment
81 -------------------------------------
82
83 This section describes the installation of the O-DU High on the reference hardware.
84
85 Libraries
86 =========
87
88 Following libraries are required to compile and execute O-DU High:
89
90 - GCC 
91    - Ubuntu : sudo apt-get install -y build-essential
92    - CentOS : sudo yum groups mark install -y “Development Tools”
93
94    Ensure the version is 4.6.3 and above using
95
96    -    gcc --version
97
98 - LKSCTP
99    - Ubuntu : sudo apt-get install -y libsctp-dev
100    - CentOS : sudo yum install -y lksctp-tools-devel
101
102 - PCAP:
103    - Ubuntu : sudo apt-get install -y libpcap-dev
104    - CentOS : sudo yum install -y libpcap-devel
105
106
107
108 Cloning code
109 ============
110
111 - Create a folder to clone the O-DU High code into. The folder is hereafter referred to as <O-DU High Directory>.
112
113 - Clone code into <O-DU High Directory> 
114
115   git clone "https://gerrit.o-ran-sc.org/r/o-du/l2"
116
117
118 Setting up Netconf server (Only if O1 interface enabled)
119 ========================================================
120
121   Following steps are required to compile and run ODU with O1 interface enabled.
122
123 - Create a new netconf user
124
125       Switch to root user or use sudo and run following commands
126
127    - Ubuntu :
128       | cd <O-DU High Directory>/l2/build/scripts
129       | sudo ./add_netconf_user.sh
130
131 - Install Netconf libraries:
132
133    libssh, libyang, libnetconf2, sysrepo, netopeer2
134
135    Script is provided in the following folder to install these libraries
136
137    - Ubuntu :
138        | cd <O-DU High Directory>/l2/build/scripts
139        | sudo ./install_lib_O1.sh -c
140
141 - Install the YANG modules and load initial configuration
142
143     - Navigate to config folder and update the desired initial configuration
144
145       | cd <O-DU High Directory>/l2/build/config
146
147       | Open the startup_config.xml and edit the desired IP and Port for CU, DU and RIC.
148       | Open the nacm_config.xml and edit the desired user name to provide the access to that user.
149       | Open the netconf_server_ipv6.xml and edit the desired netconf server configuration.
150       | Open the oamVesConfig.json and edit the details of OAM VES collector.
151       | Open the smoVesConfig.json and edit the details of SMO VES collector.
152       | Open the netconfConfig.json and edit the details of Netopeer server.
153       | Install the yang modules and load initial configuration.
154
155       - Ubuntu :
156       
157       | $cd <O-DU High Directory>/l2/build/scripts
158       | $sudo ./load_yang.sh
159
160     - To enable Standard Defined VES format:      
161       
162       | cd l2/src/o1/ves
163             
164       | Enable the Macro "StdDef" in file VesUtils.h      
165       | #define StdDef
166
167 - Start Netopeer2-server:
168
169    - Ubuntu :
170        | cd <O-DU High Directory>/l2/build/scripts
171        | sudo ./netopeer-server.sh start
172
173
174 Compilation
175 ===========
176
177 - Build O-DU High:
178
179    - Navigate to Build folder
180
181        cd <O-DU High Directory>/l2/build/odu
182
183    - Clean O-DU High binary
184
185        make clean_odu MACHINE=BIT64 MODE=FDD
186        
187
188    - Compile O-DU High binary
189    
190        make odu MACHINE=BIT64 MODE=FDD
191        
192
193 - Build CU Stub :
194
195    - Navigate to Build folder
196    
197        cd <O-DU High Directory>/l2/build/odu
198
199    - Clean CU Stub binary
200    
201        make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
202
203    - Compile CU Stub binary
204    
205        make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
206
207 - Build RIC Stub :
208
209    - Navigate to Build folder
210    
211        cd <O-DU High Directory>/l2/build/odu
212
213    - Clean RIC Stub binary
214    
215        make clean_ric NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
216
217    - Compile RIC Stub binary
218    
219        make ric_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
220
221
222 Compilation with O1 interface enabled
223 =====================================
224
225 - Build O-DU High:
226
227    - Navigate to Build folder
228
229        cd <O-DU High Directory>/l2/build/odu
230
231    - Clean O-DU High binary
232
233        make clean_odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
234        
235
236    - Compile O-DU High binary
237    
238        make odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
239        
240
241 - Build CU Stub :
242
243    - Navigate to Build folder
244    
245        cd <O-DU High Directory>/l2/build/odu
246
247    - Clean CU Stub binary
248    
249        make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
250
251    - Compile CU Stub binary
252    
253        make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
254
255 - Build RIC Stub :
256
257    - Navigate to Build folder
258    
259        cd <O-DU High Directory>/l2/build/odu
260
261    - Clean RIC Stub binary
262    
263        make clean_ric NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
264
265    - Compile RIC Stub binary
266    
267        make ric_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
268
269
270
271 The above generated images can be found at:
272
273 - O-DU High - <O-DU High Directory>/l2/bin/odu
274
275 - CU Stub   - <O-DU High Directory>/l2/bin/cu_stub
276
277 - RIC Stub  - <O-DU High Directory>/l2/bin/ric_stub
278