ビルドからoaisim実行まで

LTE基地局オープンソースであるOpenAirInterface(以下、OAI)。これの一部ソースを見たいだけだったが、せっかくなのでビルドしてみることにした。仮想マシンは非推奨とあるが、運用するわけではないため、Ubuntu16.04日本語版をVirtualBOXで構築し、そこで作業してみた。OAIではUbuntu14.04が推奨のようだが、tag v0.5以降なら16.04でも良さそうな旨が書かれてる。

結果的には、ほぼ下記URLに沿って作業を実施したが、このURLにたどり着くまでに結構時間がかかってしまった。
https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/OpenAirSoftwareSupport

ホスト環境構築作業:
## gitをインストール。tigは任意。svnは不要と思うが念の為。
sudo apt instlal git subversion tig

## Ubuntu Studioで標準のPreempt Kernelに入れ替える(simだけなら入替不要)。
sudo apt install linux-image-4.8.0-53-lowlatency linux-headers-4.8.0-53-lowlatency

## 追加パッケージ
sudo apt install libboost-all-dev libgdchart-gd2-spm-dev cmake

## 再起動後
sudo apt autoremove

OAI環境構築作業:
git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git
cd openairinterface5g

git checkout -b v0.6.1 refs/tags/v0.6.1
## README.txtを読むとv0.5.2が良さそう。
git checkout -b v0.5.2 refs/tags/v0.5.2
git branch ## 現在の作業branchを一応確認
cd cmake_target
export LANG=C ## 日本語環境対策
source ./oaienv
./build_oai -I
## ↑でFailしたら力づくで処置する方が良い。私はbuild_target内のURLを変更した。
./build_oai --oaisim --noS1
一部、Failedとは出るが、openairinterface5g/targets/bin 以下にバイナリができていればOK。

実行例:

source ./oaienv
cmake_targets/tools/run_env_ue_virt_noS1


source ./oaienv
cd cmake_targets/oaisim_noS1_build_oai/build/
./oaisim -O ../../../targets/PROJECTS/GENERIC-LTE-EPC/CONF/env.band7.tmi.generic.oaisim.local_mme.conf --xforms
    (-Aで EPA, EVAなどのチャンネルモデルを指定することもできる)

とすると、下記の画面が出る。これを実行中のCPU負荷は、とても高い。

続きは次回(・・・たぶん無い)。