Added details of O1 Module in docs.[Issue-Id: ODUHIGH-256]
[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 .. contents::
5    :depth: 3
6    :local:
7
8 O-DU High Installation Guide
9 *****************************
10
11 Abstract
12 ========
13
14 This document describes how to install O-DU High, it's dependencies and required system resources.
15
16 .. contents::
17    :depth: 3
18    :local:
19
20 Version history
21
22
23 +--------------------+--------------------+--------------------+--------------------+
24 | **Date**           | **Ver.**           | **Author**         | **Comment**        |
25 |                    |                    |                    |                    |
26 +--------------------+--------------------+--------------------+--------------------+
27 | 2020-12-04         |  1.0.1             |  HCL Technologies  |  Cherry Release    |
28 |                    |                    |  Ltd.              |                    |
29 +--------------------+--------------------+--------------------+--------------------+
30 | 2020-12-04         |  1.0               |  Radisys           |  Cherry Release    |
31 |                    |                    |                    |                    |
32 +--------------------+--------------------+--------------------+--------------------+
33
34
35 Introduction
36 ============
37
38 This document describes the hardware and software requirements along with guidelines on how to install O-DU High.
39
40 The audience of this document is assumed to have good knowledge in RAN concepts and Linux system.
41
42
43 Preface
44 =======
45
46 O-DU High images can be built using the source code or corresponding docker images can be downloaded.
47
48
49 Hardware requirements
50 =====================
51
52 Following minimum hardware requirements must be met for installation of O-DU High
53
54 +--------------------+----------------------------------------------------+
55 | **HW Aspect**      | **Requirement**                                    |
56 |                    |                                                    |
57 +--------------------+----------------------------------------------------+
58 | **# of servers**   |  1                                                 |
59 +--------------------+----------------------------------------------------+
60 | **CPU**            |  4                                                 |
61 |                    |                                                    |
62 +--------------------+----------------------------------------------------+
63 | **RAM**            |  8G                                                |
64 |                    |                                                    |
65 +--------------------+----------------------------------------------------+
66 | **Disk**           |  500G                                              |
67 |                    |                                                    |
68 +--------------------+----------------------------------------------------+
69 | **NICs**           |  1                                                 |
70 |                    |                                                    |
71 +--------------------+----------------------------------------------------+
72
73
74 Software installation and deployment
75 ==========================================
76
77 This section describes the installation of the O-DU High on the reference hardware.
78
79 Libraries
80 ----------
81
82 Following libraries are required to compile and execute O-DU High:
83
84 - GCC 
85    - Ubuntu : sudo apt-get install -y build-essential
86    - CentOS : sudo yum groups mark install -y “Development Tools”
87
88    Ensure the version is 4.6.3 and above using
89
90    -    gcc --version
91
92 - LKSCTP
93    - Ubuntu : sudo apt-get install -y libsctp-dev
94    - CentOS : sudo yum install -y lksctp-tools-devel
95
96 - PCAP:
97    - Ubuntu : sudo apt-get install -y libpcap-dev
98    - CentOS : sudo yum install -y libpcap-devel
99
100 Following libraries are required to compile and execute O1 module:
101  
102 - Netconf:
103    libssh, libyang, libnetconf2, sysrepo, netopeer2
104
105    Script is provided in the following folder to install these libraries
106
107    - Ubuntu :  
108    
109        | cd <O-DU High Directory>/l2/build/o1
110        | sudo ./install_lib.sh
111
112
113 Cloning code
114 --------------
115
116 - Create a folder to clone the O-DU High code into. The folder is hereafter referred to as <O-DU High Directory>.
117
118 - Clone code into <O-DU High Directory> 
119
120   git clone "https://gerrit.o-ran-sc.org/r/o-du/l2" && (cd "l2" && mkdir -p .git/hooks && curl -Lo `git rev-parse
121   --git-dir`/hooks/commit-msg https://gerrit.o-ran-sc.org/r/tools/hooks/commit-msg; chmod +x `git rev-parse
122   --git-dir`/hooks/commit-msg)
123
124
125 Compilation
126 ------------
127
128 - Build O-DU High:
129
130    - Navigate to Build folder
131
132        cd <O-DU High Directory>/l2/build/odu
133
134    - Clean O-DU High binary
135
136        make clean_odu MACHINE=BIT64 MODE=FDD
137        
138
139    - Build O-DU High binary
140    
141        make odu MACHINE=BIT64 MODE=FDD
142        
143        To build with O1 interface enabled:
144
145        make odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
146
147 - Build CU Stub :
148
149    - Navigate to Build folder
150    
151        cd <O-DU High Directory>/l2/build/odu
152
153    - Clean CU Stub binary
154    
155        make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
156
157    - Build CU Stub binary
158    
159        make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
160
161 - Build RIC Stub :
162
163    - Navigate to Build folder
164    
165        cd <O-DU High Directory>/l2/build/odu
166
167    - Clean RIC Stub binary
168    
169        make clean_ric NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
170
171    - Build RIC Stub binary
172    
173        make ric_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
174
175 - Build O-DU High with O1 interface enabled:
176
177    - Navigate to o1 Build folder
178    
179        cd <O-DU High Directory>/l2/build/o1
180
181    - Clean O1 binary
182    
183        make clean_o1 MACHINE=BIT64
184
185    - Build O1 binary
186    
187        make o1 MACHINE=BIT64
188
189    - Navigate to odu Build folder
190
191        cd <O-DU High Directory>/l2/build/odu
192
193    - Clean O-DU High binary
194
195        make clean_odu MACHINE=BIT64 MODE=FDD
196        
197    - Build O-DU High binary
198    
199        make odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
200
201
202
203 The above generated images can be found at:
204
205 - O-DU High - <O-DU High Directory>/l2/bin/odu
206
207 - CU Stub   - <O-DU High Directory>/l2/bin/cu_stub
208
209 - RIC Stub  - <O-DU High Directory>/l2/bin/ric_stub
210
211 - O1        - <O-DU High Directory>/l2/build/o1/bin/o1