|
|
# Building OAI executables (Trunk and next release)
|
|
|
|
|
|
Please use these instructions to build OAI on the current trunk and as of Release 0.3.
|
|
|
|
|
|
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
|
|
|
|
|
|
```shell
|
|
|
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 --install-optional-packages (need to run only once)
|
|
|
./build_oai -h (for more options)
|
|
|
```
|
|
|
|
|
|
### Install, Build eNB
|
|
|
* package installation + EXMIMO Driver Installation: `./build_oai -I --install-optional-packages`
|
|
|
* package installation + USRP Driver installation : `./build_oai -I --install-optional-packages -w USRP`
|
|
|
* package installation + BladeRF Driver Installation: `./build_oai -I --install-optional-packages -w BLADERF`
|
|
|
* eNB + EXMIMO + test: `./build_oai --eNB -w EXMIMO -c -s`
|
|
|
* eNB + USRP: `./build_oai --eNB -c -w USRP`
|
|
|
* eNB+ ETHERNET : `build_oai.bash --eNB -c -w ETHERNET`
|
|
|
|
|
|
### 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:
|
|
|
```shell
|
|
|
cd lte_noS1_build_oai
|
|
|
mkdir build
|
|
|
cd build
|
|
|
cmake ..
|
|
|
make lte-softmodem -j4
|
|
|
```
|
|
|
|
|
|
## Building the EPC modules
|
|
|
|
|
|
```shell
|
|
|
git clone https://gitlab.eurecom.fr/oai/openair-cn.git
|
|
|
cd YOUR_openair-cn_DIRECTORY
|
|
|
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
|
|
|
```
|
|
|
|
|
|
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](OlderReleases). |