1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
8 O-DU High Installation Guide
9 *****************************
14 This document describes how to install O-DU High, it's dependencies and required system resources.
23 +--------------------+--------------------+--------------------+--------------------+
24 | **Date** | **Ver.** | **Author** | **Comment** |
26 +--------------------+--------------------+--------------------+--------------------+
27 | 2021-12-15 | 3.0.0 | Radisys, | e-release |
28 | | | HCL Technologies | |
30 +--------------------+--------------------+--------------------+--------------------+
31 | 2021-07-07 | 2.0.0 | Radisys, | D Release |
32 | | | HCL Technologies | |
34 +--------------------+--------------------+--------------------+--------------------+
35 | 2020-12-04 | 1.0.1 | HCL Technologies | Cherry Release |
37 +--------------------+--------------------+--------------------+--------------------+
38 | 2020-12-04 | 1.0 | Radisys | Cherry Release |
40 +--------------------+--------------------+--------------------+--------------------+
46 This document describes the hardware and software requirements along with guidelines on how to install O-DU High.
48 The audience of this document is assumed to have good knowledge in RAN concepts and Linux system.
54 O-DU High images can be built using the source code or corresponding docker images can be downloaded.
60 Following minimum hardware requirements must be met for installation of O-DU High
62 +--------------------+----------------------------------------------------+
63 | **HW Aspect** | **Requirement** |
65 +--------------------+----------------------------------------------------+
66 | **# of servers** | 1 |
67 +--------------------+----------------------------------------------------+
70 +--------------------+----------------------------------------------------+
73 +--------------------+----------------------------------------------------+
76 +--------------------+----------------------------------------------------+
79 +--------------------+----------------------------------------------------+
82 Software installation and deployment
83 ==========================================
85 This section describes the installation of the O-DU High on the reference hardware.
90 Following libraries are required to compile and execute O-DU High:
93 - Ubuntu : sudo apt-get install -y build-essential
94 - CentOS : sudo yum groups mark install -y “Development Tools”
96 Ensure the version is 4.6.3 and above using
101 - Ubuntu : sudo apt-get install -y libsctp-dev
102 - CentOS : sudo yum install -y lksctp-tools-devel
105 - Ubuntu : sudo apt-get install -y libpcap-dev
106 - CentOS : sudo yum install -y libpcap-devel
113 - Create a folder to clone the O-DU High code into. The folder is hereafter referred to as <O-DU High Directory>.
115 - Clone code into <O-DU High Directory>
117 git clone "https://gerrit.o-ran-sc.org/r/o-du/l2"
120 Setting up Netconf server (Only if O1 interface enabled)
121 --------------------------------------------------------
123 Following steps are required to compile and run ODU with O1 interface enabled.
125 - Create a new netconf user
127 Switch to root user or use sudo and run following commands
130 | cd <O-DU High Directory>/l2/build/scripts
131 | sudo ./add_netconf_user.sh
133 - Install Netconf libraries:
135 libssh, libyang, libnetconf2, sysrepo, netopeer2
137 Script is provided in the following folder to install these libraries
140 | cd <O-DU High Directory>/l2/build/scripts
141 | sudo ./install_lib_O1.sh -c
143 - Install the YANG modules and load initial configuration
145 - Navigate to config folder and update the desired initial configuration
147 | cd <O-DU High Directory>/l2/build/config
149 | Open the startup_config.xml and edit the desired IP and Port for CU, DU and RIC.
150 | Open the nacm_config.xml and edit the desired user name to provide the access to that user.
151 | Open the netconf_server_ipv6.xml and edit the desired netconf server configuration.
152 | Open the oamVesConfig.json and edit the details of OAM VES collector.
153 | Open the smoVesConfig.json and edit the details of SMO VES collector.
154 | Open the netconfConfig.json and edit the details of Netopeer server.
155 | Install the yang modules and load initial configuration.
159 | $cd <O-DU High Directory>/l2/build/scripts
160 | $sudo ./load_yang.sh
162 - Install additional 3GPP YANG models.
164 | $cd <O-DU High Directory>/l2/build/yang
166 | Download following 3GPP REL17 YANG models
167 | https://forge.3gpp.org/rep/sa5/MnS/tree/Rel17-draft/yang-models
169 | _3gpp-common-top.yang
170 | _3gpp-5g-common-yang-types.yang
171 | _3gpp-common-yang-types.yang
172 | _3gpp-common-managed-element.yang
173 | _3gpp-common-measurements.yang
174 | _3gpp-common-subscription-control.yang
175 | _3gpp-common-fm.yang
176 | _3gpp-common-trace.yang
177 | _3gpp-common-managed-function.yang
178 | _3gpp-nr-nrm-gnbdufunction.yang
179 | _3gpp-nr-nrm-nrcelldu.yang
180 | _3gpp-nr-nrm-rrmpolicy.yang
182 | Note : There are some corrections required in _3gpp-common-trace.yang and _3gpp-common-trace.yang yang model. Please follow these steps.
186 | sed -i -e 's/"IMMEDIATE_MDT"/"IMMEDIATE_MDT_ONLY"/g' _3gpp-common-trace.yang
187 | sed -i -e 's/"TRACE"/"TRACE_ONLY"/g' _3gpp-common-trace.yang
189 - Install all the downloaded yang models.
193 | cd <O-DU High Directory>/l2/build/yang
194 | sysrepoctl -i _3gpp-common-top.yang
195 | sysrepoctl -i _3gpp-5g-common-yang-types.yang
196 | sysrepoctl -i _3gpp-common-yang-types.yang
197 | sysrepoctl -i _3gpp-common-managed-element.yang
198 | sysrepoctl -i _3gpp-common-measurements.yang
199 | sysrepoctl -i _3gpp-common-subscription-control.yang
200 | sysrepoctl -i _3gpp-common-fm.yang
201 | sysrepoctl -i _3gpp-common-trace.yang
202 | sysrepoctl -i _3gpp-common-managed-function.yang
203 | sysrepoctl -i _3gpp-nr-nrm-gnbdufunction.yang
204 | sysrepoctl -i _3gpp-nr-nrm-nrcelldu.yang
205 | sysrepoctl -i _3gpp-nr-nrm-rrmpolicy.yang
207 - Start Netopeer2-server:
210 | cd <O-DU High Directory>/l2/build/scripts
211 | sudo ./netopeer-server.sh start
219 - Navigate to Build folder
221 cd <O-DU High Directory>/l2/build/odu
223 - Clean O-DU High binary
225 make clean_odu MACHINE=BIT64 MODE=FDD
228 - Compile O-DU High binary
230 make odu MACHINE=BIT64 MODE=FDD
235 - Navigate to Build folder
237 cd <O-DU High Directory>/l2/build/odu
239 - Clean CU Stub binary
241 make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
243 - Compile CU Stub binary
245 make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
249 - Navigate to Build folder
251 cd <O-DU High Directory>/l2/build/odu
253 - Clean RIC Stub binary
255 make clean_ric NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
257 - Compile RIC Stub binary
259 make ric_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
262 Compilation with O1 interface enabled
263 --------------------------------------
267 - Navigate to Build folder
269 cd <O-DU High Directory>/l2/build/odu
271 - Clean O-DU High binary
273 make clean_odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
276 - Compile O-DU High binary
278 make odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
283 - Navigate to Build folder
285 cd <O-DU High Directory>/l2/build/odu
287 - Clean CU Stub binary
289 make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
291 - Compile CU Stub binary
293 make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
297 - Navigate to Build folder
299 cd <O-DU High Directory>/l2/build/odu
301 - Clean RIC Stub binary
303 make clean_ric NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
305 - Compile RIC Stub binary
307 make ric_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
311 The above generated images can be found at:
313 - O-DU High - <O-DU High Directory>/l2/bin/odu
315 - CU Stub - <O-DU High Directory>/l2/bin/cu_stub
317 - RIC Stub - <O-DU High Directory>/l2/bin/ric_stub