Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
openairinterface5G
openairinterface5G
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Merge Requests 24
    • Merge Requests 24
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Commits
  • oai
  • openairinterface5Gopenairinterface5G
  • Wiki
  • AutoBuild

AutoBuild

Last edited by Raphael Defosseux Apr 16, 2019
Page history

Building OAI executables (Trunk and next release)

Please use these instructions to build OAI on:

  • all current master tags (up to v1.0.2) and
  • most of develop tags (up to 2019.w08)

OAI comes with an automated build script (beta version) located at the root of the cmake_targets directory. Currently, the tool is developed to build the eNB for different hardware platforms, 3GPP releases, standalone or with S1 interface, unitary simulations, and system simulation.

The build system for OAI uses cmake which auto-generates makefiles.

eNB Build Examples

git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git
cd YOUR_openairinterface5g_DIRECTORY
source oaienv #Very important. It sets the correct environment variables.
cd cmake_targets
./build_oai -I #need to run only once
./build_oai -h #for more options

Install, Build eNB

  • package installation + EXMIMO Driver Installation: ./build_oai -I
  • package installation + USRP Driver installation : ./build_oai -I -w USRP
  • package installation + BladeRF Driver Installation: ./build_oai -I -w BLADERF
  • eNB + EXMIMO + test: ./build_oai --eNB -w EXMIMO -c -s
  • eNB + USRP: ./build_oai --eNB -c -w USRP
  • eNB+ ETHERNET : ./build_oai --eNB -c -t ETHERNET

Important notes regarding UHD installation or some other RF driver installation.**

The code currently support variety of RF targets (USRP, EXMIMO, LMSSDR, BladeRF) and we calibrate RF output power/received power from different SDR platforms using R&S CMW/Agilent devices. The version of the drivers can make lot of difference in the performance of openairinterface. So, we do not recommend installation of RF drivers from sources. Always install the drivers from the build_oai scripts and make sure there is no other driver version installed to avoid conflicts. The UHD version that we have tested is (3.9.2/3.9.3/3.9.4).

Please be sure to remove any USRP/UHD driver installation installed from source or if it is not installed via launchpad ppa. The OAI packages will always install only the latest USRP driver from launchpad. If you end up having multiple USRP driver installations, viz installed from source and via Launchpad, then very strange things with happen with USRP and your installation of USRP driver will get corrupted. If you wish to keep USRP driver installation from source, then do not pass -w USRP option to installer scripts above. This is especiallly try if you have gnuradio installed as it installs USRP from source

Build LTE Simulations (L3/L2/L1)

  • unitary L1 simulations: ./build_oai --phy_simulators
  • oaisim: ./build_oai --oaisim (build oaisim with S1 support)
  • oaisim_nos1: ./build_oai --oaisim --noS1 (build oaisim without S1 support)

These will create directories under cmake_targets corresponding to the different targets. These are the main directories:

  • lte_noS1_build_oai (see notes below for further building instructions) : L1/L2 + Linux IP interface (i.e. no S1 interface). This is a target which will work with and OAI eNB and OAI UE only.
  • oaisim_build_oai : oaisim with S1
  • lte_build_oai: eNB/UE build with S1/NAS
  • lte-simulators: unitary PHY simulators
  • oaisim_noS1_build_oai: oaisim without S1

Notes:

  • Add -x to enable xforms (soft scope)
  • Add -V to enable VCD file generation
  • Add -K /tmp/itti_enb.log for itti logs
  • For lte_noS1_build_oai do the following:

Build OpenAirInterface lte-softmodem (without S1, nos1)

The instructions will compile eNB/UE and also UE specific parameters.

$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE --noS1 -x -c -w USRP #For USRP
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE --noS1 -x -c -w BLADERF #For BladeRF
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE --noS1 -x -c -w LMSSDR #For LMSSDR
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE --noS1 -x -c -w EXMIMO #For EXMIMO

Build OpenAirInterface System Emulation (oaisim)

$OPENAIR_DIR/cmake_targets/build_oai --oaisim --UE

Refer to OpenAirLTEEmulation for more details

Building the EPC modules (older version tag v0.3.2)

git clone https://gitlab.eurecom.fr/oai/openair-cn.git
cd YOUR_openair-cn_DIRECTORY
git checkout v0.3.2
cd SCRIPTS
./build_epc -i #Need to run only once to install missing packages
./build_hss -i #Need to run only once to install missing packages

Building the EPC modules (newer version latest develop/master branch)

git clone https://gitlab.eurecom.fr/oai/openair-cn.git
cd YOUR_openair-cn_DIRECTORY
cd SCRIPTS
./build_mme -i #Need to run only once to install missing packages
./build_hss -i #Need to run only once to install missing packages
./build_spgw -i #Need to run only once

The detailed instructions for EPC are located in: YOUR_openair-cn_DIRECTORY/DOCS/EPC_User_Guide.pdf

Building Older Releases

The older releases of OAI (0.1, 0.2) use an older build system located in targets/ durectory. This build system is deprecated and should not be used unless you want to compile older releases. The instructions to compile older releases (0.1, 0.2) are located here.

Clone repository
  • 5g nr development and setup
  • ALUProject
  • AskQuestions
  • AutoBuild
  • CBMIMO1Integ
  • CardList
  • Cbmimo1Flash
  • Chorist3Nodes
  • ChoristMplsIPv6072008
  • Configure_simplestreams_for_a_private_cloud
  • CoreBasebandAndRF
  • CoreNetworking
  • DebugTools
  • DeployOpenStackHeat
  • DisablingInterrupts
View All Pages