[ORAN] FlexRIC 安裝

這一篇文章主要是介紹如何在 VM 中建立一個 FlexRIC 的測試環境,
主要依據 FlexRIC 的官方教程: https://gitlab.eurecom.fr/mosaic5g/flexric#1-installation
在 FlexRIC 的官方網站中, 有許多有用的資源, 可以參考.
和 O-RAN SC 的網站相比, 指引較為明確.

在以下的操作中, 我們使用 VirtualBox 7.1 的版本,
Linux 的基底採用 ubuntu 20.04 的版本進行.
* VirtualBox 6.X 版本對 ubuntu 20.04 有機率遇到顯示的問題
* 由於對 gcc 的版本需求, 需要 ubuntu 20.04 以上的版本
以下是 FlexRIC 的相依套件的版本需求:
  • CMake: 3.15, Python: 3.8
  • SWIG (提供 python, Java 操作介面): 4.0
[A] 我們就先從 CMake 開始, 參考此份安裝文件: https://apt.kitware.com/
1) 安裝認證套件與 wget
  • sudo apt-get update
  • sudo apt-get install ca-certificates gpg wget
2) 取得密鑰
  • wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
3) 將 CMake 套件來源放入安裝庫
  • echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null
  • echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal-rc main' | sudo tee -a /etc/apt/sources.list.d/kitware.list >/dev/null
  • sudo apt-get update
4) 更新密鑰
  • sudo rm /usr/share/keyrings/kitware-archive-keyring.gpg
  • sudo apt-get install kitware-archive-keyring
5) 進行 CMake 安裝 
  • sudo apt-get install cmake
[B] 接著是安裝 SWIG, 在進行官方的安裝之前, 我們須先安裝其相關套件:
  • sudo apt-get install automake libpcre2-dev bison g++ make git
在確保相關套件完成安裝後, 就可以透過 git 進行 SWIG 的安裝
  • git clone https://github.com/swig/swig.git
  • cd swig
  • ./autogen.sh
  • ./configure --prefix=/usr/
  • make
  • sudo make install
[C] 最後, 是安裝 FlexRIC 套件, 這邊也是透過 git 進行,
1) 我們也是要先安裝一些相依的套件 (主要是 python-dev, sctp)
  • sudo apt install libsctp-dev python3.8 cmake-curses-gui python3-dev
2) 在透過 git 取得 FlexRIC 套件時, 我們可以先確認抓到的版本,
此步驟是為了確認 FlexRIC 版本 (目前是 1.0.0),
在未來若有多個 FlexRIC 版本, 須確定使用的版本, 以及其相依性.
  • git clone https://gitlab.eurecom.fr/mosaic5g/flexric.git 
  • cd flexric
  • git checkout <here put the release tag>
3) 在確認版本後, 就可以依序進行 build, cmake, make, 和 install
要注意目前執行的目錄在 (~/flexric):
  • mkdir build && cd build && cmake .. && makes
  • sudo make install 
4)  在安裝 FlexRIC 的過程中, 可以看到不只是安裝 FlexRIC 的套件,
還會對 Service Model (SM) 以及 xApp 進行安裝,
換句話說, 當重新對 SM 或是 xApp 進行設計後, 必須重新進行此步驟.

[D] 安裝完 FlexRIC 後, 我們就簡單測試一下範例程式,
我們開啟三個 terminal 視窗, 分別執行三隻程式 (執行的目錄在~/flexric):
  1. ./build/examples/emulator/agent/emu_agent_gnb
  2. ./build/examples/ric/nearRT-RIC
  3. ./build/examples/xApp/c/monitor/xapp_mac_rlc_pdcp_moni
這三隻程式分別代表用以模擬基地台的 E2Agent (emu_agent_gnb),
RIC 平台 (nearRT-RIC), 以及 xApp (xapp_mac_rlc_pdcp_moni),
在此, 我們也可以看到, 在 FlexRIC 的架構中, 將不同功能封入一隻程式中,
在未來, 我們也會繼續介紹 FlexRIC 中的程式是如何透過 thread 分工.
以下是執行的範例:


留言

熱門文章

LTE筆記: RSRP, RSSI and RSRQ

[WiFi] WiFi 網路的識別: BSS, ESS, SSID, ESSID, BSSID

LTE筆記: 5G NR Measurement Events