Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env bash
- export RTE_TARGET_O=x86_64-native-linuxapp-gcc
- export RTE_TARGET=$RTE_TARGET_O
- export RTE_SDK=$(pwd)/dpdk-19.11
- export GTEST_ROOT=$(pwd)/googletest-release-1.7.0
- export GTEST_DIR=$(pwd)/googletest-release-1.7.0
- export DIR_ROOT_GTEST=$GTEST_DIR
- export DIR_ROOT=$(pwd)/oran
- export DIR_ROOT_PHY=$DIR_ROOT/phy
- export DIR_ROOT_L1_BIN=$DIR_ROOT/FlexRAN
- export XRAN_DIR=$DIR_ROOT_PHY/fhi_lib
- export XRAN_LIB_SO=1
- func run_octave()
- {
- # Install docker if not found
- if ! which docker > /dev/null;
- then
- sudo apt-get install apt-transport-https ca-certificates \
- curl gnupg-agent software-properties-common
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- apt update
- sudo apt-get install docker-ce docker-ce-cli containerd.io
- fi
- # Run octave version 3.8.1 from docker
- docker run -i -t --rm --name octavecli -v $HOME:$HOME \
- --user $UID:$GID simexp/octave:3.8.1 /bin/bash -c "export \
- HOME=$HOME; USER=$USER; cd $(pwd); source \
- /opt/minc-itk4/minc-toolkit-config.sh; octave $1"
- }
- # Clone du-low repository
- mkdir -p oran
- cd oran
- git clone https://gerrit.o-ran-sc.org/r/o-du/phy.git phy
- cd ../
- # Install intel compiler if not found
- if ! which /opt/intel/system_studio_2020/compilers_and_libraries_2020.2.254/linux/bin/intel64/icc > /dev/null;
- then
- wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/16789/system_studio_2020_u2_ultimate_edition_offline.tar.gz
- tar -zxvf system_studio_2020_u2_ultimate_edition_offline.tar.gz
- sudo mkdir -p /opt/intel/
- sudo cp license.lic /opt/intel/license.lic
- cd system_studio_2020_u2_ultimate_edition_offline
- sed -i "s/ACCEPT_EULA.*/ACCEPT_EULA=accept/" silent.cfg && \
- sed -i "s/PSET_INSTALL_DIR.*/PSET_INSTALL_DIR=\/opt\/intel/" silent.cfg && \
- sed -i "s/.*ACTIVATION_LICENSE_FILE.*/ACTIVATION_LICENSE_FILE=\/opt\/intel\/license.lic/" silent.cfg && \
- sed -i "s/ACTIVATION_TYPE.*/ACTIVATION_TYPE=license_file/" silent.cfg
- sudo ./install.sh -s silent.cfg
- cd ../
- fi
- # Setup intel compiler environment
- source /opt/intel/system_studio_2020/bin/iccvars.sh intel64
- export PATH=/opt/intel/system_studio_2020/bin/:$PATH
- # Clone Intel flexran
- cd $DIR_ROOT
- git clone https://github.com/intel/FlexRAN.git
- cd ../
- # Build gtest
- wget https://github.com/google/googletest/archive/release-1.7.0.tar.gz
- tar -zxvf release-1.7.0.tar.gz
- cd googletest-release-1.7.0
- g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} -pthread -c ${GTEST_DIR}/src/gtest-all.cc
- ar -rv libgtest.a gtest-all.o && cd build-aux/ && cmake $GTEST_DIR && make && cd .. && ln -s build-aux/libgtest_main.a libgtest_main.a
- cd ../
- # Build dpdk
- sudo apt install libnuma-dev ethtool net-tools pciutils -y
- wget http://static.dpdk.org/rel/dpdk-19.11.tar.xz
- tar -xf dpdk-19.11.tar.xz
- cd $RTE_SDK
- make config T=$RTE_TARGET O=$RTE_TARGET
- cd $RTE_SDK/$RTE_TARGET
- sed -i "s/CONFIG_RTE_EAL_IGB_UIO=y/CONFIG_RTE_EAL_IGB_UIO=n/" .config
- sed -i "s/CONFIG_RTE_KNI_KMOD=y/CONFIG_RTE_KNI_KMOD=n/" .config
- make -j
- # Setup du-low environment
- cd $DIR_ROOT_PHY
- sed -i "s/export DIR_ROOT=\/home\//#export DIR_ROOT=\/home\//" setupenv.sh
- . setupenv.sh
- sudo apt install libhugetlbfs-dev -y # Required for wls lib
- # Build XRAN lib, unittests, sample app
- cd $DIR_ROOT_PHY/fhi_lib/
- ./build.sh
- cd app && run_octave gen_test.m && cd ../
- # Build wls lib
- cd $DIR_ROOT_PHY/wls_lib
- make -j
- cd testapp
- make -j
- # Build 5g fapi
- cd $DIR_ROOT_PHY/fapi_5g/build
- ./build.sh
- export RTE_TARGET=$RTE_TARGET_O
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement