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