Merge "Developer-guide.rst"
[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               |  Radisys           |  Cherry Release    |
28 |                    |                    |                    |                    |
29 +--------------------+--------------------+--------------------+--------------------+
30
31
32 Introduction
33 ============
34
35 This document describes the hardware and software requirements along with guidelines on how to install O-DU High.
36
37 The audience of this document is assumed to have good knowledge in RAN concepts and Linux system.
38
39
40 Preface
41 =======
42
43 O-DU High images can be built using the source code or corresponding docker images can be downloaded.
44
45
46 Hardware requirements
47 =====================
48
49 Following minimum hardware requirements must be met for installation of O-DU High
50
51 +--------------------+----------------------------------------------------+
52 | **HW Aspect**      | **Requirement**                                    |
53 |                    |                                                    |
54 +--------------------+----------------------------------------------------+
55 | **# of servers**   |  1                                                 |
56 +--------------------+----------------------------------------------------+
57 | **CPU**            |  4                                                 |
58 |                    |                                                    |
59 +--------------------+----------------------------------------------------+
60 | **RAM**            |  8G                                                |
61 |                    |                                                    |
62 +--------------------+----------------------------------------------------+
63 | **Disk**           |  500G                                              |
64 |                    |                                                    |
65 +--------------------+----------------------------------------------------+
66 | **NICs**           |  1                                                 |
67 |                    |                                                    |
68 +--------------------+----------------------------------------------------+
69
70
71 Software installation and deployment
72 ==========================================
73
74 This section describes the installation of the O-DU High on the reference hardware.
75
76 Libraries
77 ----------
78
79 Following libraries are required to compile and execute O-DU High:
80
81 - GCC 
82    - Ubuntu : sudo apt install build-essential
83    - CentOS : sudo yum group install "Development Tools"
84
85    Ensure the version is 4.6.3 and above using
86
87    -    gcc --version
88
89 - LKSCTP
90    - Ubuntu : sudo apt-get install -y libsctp-dev
91    - CentOS : yum install lksctp-tools-devel
92
93 - PCAP:
94    - Ubuntu : sudo apt-get install -y libpcap-dev
95    - CentOS : yum install libpcap-devel
96
97 Cloning code
98 --------------
99
100 - Create a folder to clone the O-DU High code into. The folder is hereafter referred to as <O-DU High Directory>.
101
102 - Clone code into <O-DU High Directory> 
103
104   git clone "https://gerrit.o-ran-sc.org/r/o-du/l2" && (cd "l2" && mkdir -p .git/hooks && curl -Lo `git rev-parse
105   --git-dir`/hooks/commit-msg https://gerrit.o-ran-sc.org/r/tools/hooks/commit-msg; chmod +x `git rev-parse
106   --git-dir`/hooks/commit-msg)
107
108
109 Compilation
110 ------------
111
112 - Build O-DU High:
113
114    - Navigate to Build folder
115
116        cd <O-DU High Directory>/l2/build/odu
117
118    - Clean O-DU High binary
119
120        make clean_odu MACHINE=BIT64 MODE=FDD
121
122    - Build O-DU High binary
123    
124        make odu MACHINE=BIT64 MODE=FDD
125
126 - Build CU Stub :
127
128    - Navigate to Build folder
129    
130        cd <O-DU High Directory>/l2/build/odu
131
132    - Clean CU Stub binary
133    
134        make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
135
136    - Build CU Stub binary
137    
138        make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
139
140 - Build RIC Stub :
141
142    - Navigate to Build folder
143    
144        cd <O-DU High Directory>/l2/build/odu
145
146    - Clean RIC Stub binary
147    
148        make clean_ric NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
149
150    - Build RIC Stub binary
151    
152        make ric_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
153
154
155 The above generated images can be found at:
156
157 - O-DU High - <O-DU High Directory>/l2/bin/odu
158
159 - CU Stub   - <O-DU High Directory>/l2/bin/cu_stub
160
161 - RIC Stub  - <O-DU High Directory>/l2/bin/ric_stub