Skip to content
Snippets Groups Projects
flexRIC_oai_gNB_install.sh 2.8 KiB
Newer Older
sudo apt-get update

## Install dependencies 
# sudo apt-get install -y autotools-dev
sudo apt-get install -y automake 					    # Required for run 'swig/autogen.sh'
sudo apt-get install -y g++ make libpcre2-dev byacc     # Required for swig install
sudo apt-get install -y cmake python3-dev libsctp-dev 	# Required for flexric install
# sudo apt-get install -y libpcre2-dev
# sudo apt-get install -y pcre2-utils
# sudo apt-get install -y bison
# sudo apt-get install -y byacc
# sudo apt-get install -y g++ 
# sudo apt-get install -y libsctp-dev python3.8 libpcre2-dev python3-dev 

## Repository OAI dependencies
sudo add-apt-repository ppa:ettusresearch/uhd -y
sudo apt-get update -y
## Testar com a libuhd4.4.0 ao invés de libuhd4.2.0u
sudo apt-get install libuhd-dev uhd-host -y
sudo apt-get install libuhd4.2.0 -y					# Required for OpenAirInterface install
sudo dpkg -i --force-overwrite /var/cache/apt/archives/libuhd4.2.0_4.2.0.1-0ubuntu1~focal1_amd64.deb

# Work directory path is the current directory
WORK_DIR=`pwd`

## Configure swig - required for flexric
cd $WORK_DIR/
git clone https://github.com/swig/swig.git
cd $WORK_DIR/swig
./autogen.sh
./configure --prefix=/usr/
## Install FlexRIC
cd $WORK_DIR/
git clone https://gitlab.eurecom.fr/mosaic5g/flexric.git
cd $WORK_DIR/flexric
git checkout v1.0.0
mkdir $WORK_DIR/flexric/build
cd $WORK_DIR/flexric/build
cmake ..
make
sudo make install


## Install OAI UE and OAI gNB
cd $WORK_DIR/
git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git
mv openairinterface5g oai
cd $WORK_DIR/oai
git checkout 2022.41
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
git am $WORK_DIR/flexric/multiRAT/oai/oai.patch --whitespace=nowarn

## Download the OAI configuration files (CU/DU, OAI UE, and gNB configuration)
wget -O $WORK_DIR/oai/executables/nr-softmodem.c https://projetos.imd.ufrn.br/reginalab/sdran-openairinterface/-/raw/main/openairinterface5g/openairinterface-conf/nr-softmodem.c?inline=false
wget -O $WORK_DIR/oai/targets/PROJECTS/GENERIC-NR-5GC/CONF/cu_gnb.conf https://projetos.imd.ufrn.br/reginalab/sdran-openairinterface/-/raw/main/openairinterface5g/openairinterface-conf/basic_deployment/cu_gnb.conf?inline=false
wget -O $WORK_DIR/oai/targets/PROJECTS/GENERIC-NR-5GC/CONF/du_gnb.conf https://projetos.imd.ufrn.br/reginalab/sdran-openairinterface/-/raw/main/openairinterface5g/openairinterface-conf/basic_deployment/du_gnb.conf?inline=false
wget -O $WORK_DIR/oai/targets/PROJECTS/GENERIC-NR-5GC/CONF/ue.conf https://projetos.imd.ufrn.br/reginalab/sdran-openairinterface/-/raw/main/openairinterface5g/openairinterface-conf/basic_deployment/ue.conf?inline=false

source oaienv
cd cmake_targets
sudo ./build_oai -I -w USRP -i
sudo ./build_oai --gNB --nrUE -c -C -w USRP --ninja --build-lib all