- Ubuntu : sudo apt-get install -y libpcap-dev
- CentOS : sudo yum install -y libpcap-devel
-Following libraries are required to compile and execute O1 module:
+
+
+Cloning code
+--------------
+
+- Create a folder to clone the O-DU High code into. The folder is hereafter referred to as <O-DU High Directory>.
+
+- Clone code into <O-DU High Directory>
+
+ git clone "https://gerrit.o-ran-sc.org/r/o-du/l2"
+
+
+Setting up Netconf server
+-------------------------
-- Netconf:
+ Following steps are required to compile ODU with O1 interface enabled:
+
+- Install Netconf libraries:
+
libssh, libyang, libnetconf2, sysrepo, netopeer2
Script is provided in the following folder to install these libraries
- Ubuntu :
- | cd <O-DU High Directory>/l2/build/o1
- | sudo ./install_lib.sh
+ | cd <O-DU High Directory>/l2/build/scripts
+ | sudo ./install_lib.sh -c
+- Start Netopeer2-server:
+
+ - Ubuntu :
+ | cd <O-DU High Directory>/l2/build/scripts
+ | sudo ./netopeer-server.sh start
-Cloning code
---------------
+- Create a new netconf user
+
+ Switch to root user and run following commands
+
+ - Ubuntu :
+
+ | adduser --system netconf && \\
+ | echo "netconf:netconf" | chpasswd
-- Create a folder to clone the O-DU High code into. The folder is hereafter referred to as <O-DU High Directory>.
+ | mkdir -p /home/netconf/.ssh && \\
+ | ssh-keygen -A && \\
+ | ssh-keygen -t dsa -P '' -f /home/netconf/.ssh/id_dsa && \\
+ | cat /home/netconf/.ssh/id_dsa.pub > /home/netconf/.ssh/authorized_keys
-- Clone code into <O-DU High Directory>
+- Install the YANG modules
- git clone "https://gerrit.o-ran-sc.org/r/o-du/l2"
+ - Ubuntu :
+
+ | cd <O-DU High Directory>/l2/build/yang
+ | sysrepoctl -i ./yang/o-ran-sc-odu-alarm-v1.yang
+ | sysrepoctl -i ./yang/o-ran-sc-odu-interface-v1.yang
+
+- Configure the startup IP and Port configurations for DU, CU and RIC
+
+ - Ubuntu :
+
+ | cd <O-DU High Directory>/l2/build/config
+ |
+ | Open the startup_config.xml and edit the desired IP and Port for CU, DU and RIC.
+ | Then load the configuration in the sysrepo running datastore using the command below
+ |
+ | sysrepocfg --import=startup_config.xml --datastore running --module o-ran-sc-odu-interface-v1
Compilation
------------
make clean_odu MACHINE=BIT64 MODE=FDD
- - Build O-DU High binary
+ - Compile O-DU High binary
make odu MACHINE=BIT64 MODE=FDD
- To build with O1 interface enabled:
-
- make odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
- Build CU Stub :
make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
- - Build CU Stub binary
+ - Compile CU Stub binary
make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
make clean_ric NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
- - Build RIC Stub binary
+ - Compile RIC Stub binary
make ric_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
-- Build O-DU High with O1 interface enabled:
- - Navigate to o1 Build folder
+Compilation with O1 interface enabled
+--------------------------------------
+
+- Build O-DU High:
+
+ - Navigate to Build folder
+
+ cd <O-DU High Directory>/l2/build/odu
+
+ - Clean O-DU High binary
+
+ make clean_odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
+
+
+ - Compile O-DU High binary
+
+ make odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
+
+
+- Build CU Stub :
+
+ - Navigate to Build folder
- cd <O-DU High Directory>/l2/build/o1
+ cd <O-DU High Directory>/l2/build/odu
- - Clean O1 binary
+ - Clean CU Stub binary
- make clean_o1 MACHINE=BIT64
+ make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
- - Build O1 binary
+ - Compile CU Stub binary
- make o1 MACHINE=BIT64
+ make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
- - Navigate to odu Build folder
+- Build RIC Stub :
+ - Navigate to Build folder
+
cd <O-DU High Directory>/l2/build/odu
- - Clean O-DU High binary
+ - Clean RIC Stub binary
+
+ make clean_ric NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
- make clean_odu MACHINE=BIT64 MODE=FDD
-
- - Build O-DU High binary
+ - Compile RIC Stub binary
- make odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
+ make ric_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
- RIC Stub - <O-DU High Directory>/l2/bin/ric_stub
-- O1 - <O-DU High Directory>/l2/build/o1/bin/o1