[[PageOutline]] = !OpenAirInterface ePC GENI Site Deployment = GENI !OpenAirInterface Evolved Packet Core (ePC) software deployment is captured in this page. See the [wiki:GENILTE/LTESites GENI LTE EPc Sites] page for details about sites where this setup is deployed. These are reference OAI pages, that provide details about the Kernel and Software deployed at the GENI LTE sites: * [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/home OpenAirInterface Project] * [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/GetSources OAI Repository] * [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/OpenAirKernelMainSetup RAN Kernel Requirements] * [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/HowToConnectCOTSUEwithOAIeNBNew Connect OAI eNB] The GENI ePC installation will use these major component in the OAI ePC: - Mobility Management Entity (MME) - Home Subscriber Server (HSS) - Serving and PDN Gateway (SPGW=S+P-GW) == Prerequisites == The [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/home OpenAirInterface(OAI)] software '''must''' run on a dedicated bare metal node for ExoGENI or Raw-pc for InstaGENI sites. The OAI ePC requires a [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/OpenAirKernelMainSetup Radio Access Network (RAN) Low-latency kernel] installation, which is available for Ubuntu 14.04 for the master branch. The master branch version/Ubuntu 14.04 is used for the GENI installations. = Get GENI Resource = Reserve a dedicate raw pc for use as the ePC hosts. Use the following RSpecs: - [Attach InstaGENI Gen7/8/9 Ubuntu14 raw pc request Rspec] - [Attach ExoGENI bare metal node request RSpec] Request the appropriate device for you site (IG, EG). == BIOS Requirements == The [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/OpenAirKernelMainSetup Radio Access Network Kernel] has requirements to disable all power management features in the BIOS (sleep states, in particular C-states) and CPU frequency scaling (Intel SpeedStep). You also need to disable hyper-threading, CPU frequency control, C-States, P-States and any other power management feature from BIOS. = InstaGENI Site Installation = == Installing 4.8 Kernel on IG EPC Resource == After an Ubuntu 16 Raw PC was reserved in the GPO IG rack, the following procedure was followed to create the ePC setup: {{{ # Note the Ubuntu 16.04.1l image delivers a GNU/Linux 4.4.0-34-generic sudo apt-get update sudo apt-get -y upgrade # Note the next step requests a conflicting grub change. The procedure kept existing grub sudo apt-get -y dist-upgrade sudo reboot # Note system comes up with Kernel 4.4.0-78-generic sudo apt-get install --install-recommends xserver-xorg-hwe-16.04 sudo reboot # Note system comes up with Kernel 4.8.0-53-generic }}} Next step is optional, disk was resized to make sure there is all possible disk space available: {{{ sudo apt-get install gparted -y # Note resize /dev/sda1 from 16G to 19G and create partition /dev/sda2 from from "unallocated" 900G type=ext4 and named extra # Next add new partition to files system files sudo mkdir /extra sudo vi /etc/fstab # Make file system part of persistent definition by inserting the following to /etc/fstab /dev/sda2 /extra ext4 defaults 0 0 # Mount newly added file system and change ownership sudo mount /extra sudo chown -R lnevers:ch--OpenFlowTuto /extra/ }}} # Enable GTP (GPRS Tunneling Protocol) sudo modprobe gtp }}} == Installing OAI Software == Assuming you have completed the 4.8 Kernel installation, we proceed to install the !OpenAirInterface software as specified in the [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/GetSources OAI Repository]. Follow the instructions on the [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/GetSources OAI Repository] page. The wiki OAI Repository has a wiki page that captures [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/HowToConnectCOTSUEwithOAIeNBNew How to Connect OAI ePC with COTS User Equipment]. Following are installation steps followed: {{{ # Note some prerequisites installation and configured sudo apt-get install i7z cpufrequtils -y sudo vi /etc/default/cpufrequtils # insert the following in the file GOVERNOR="performance" sudo update-rc.d ondemand disable sudo reboot }}} Next the installation of the OAI packages: {{{ sudo apt-get update sudo apt-get install subversion git git config --global user.name "Luisa Nevers" git config --global user.email "luisa.nevers@raytheon.com" echo -n | openssl s_client -showcerts -connect gitlab.eurecom.fr:443 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-certificates.crt git config --global http.sslverify false }}} Put in place links for additional disk space: {{{ cd /extra git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git git clone https://gitlab.eurecom.fr/oai/openair-cn.git git clone https://gitlab.eurecom.fr/oai/xtables-addons-oai.git ln -s /extra/open* ~/. ln -s /extra/xtable* ~/. }}} Build eNB/ePC packages: {{{ # Building eNB. cd ~/openairinterface5g source oaienv cd cmake_targets ./build_oai -I # Building ePC: cd ~/openair-cn/SCRIPTS ./build_mme -i # sudo apt-get install mysql-server --reinstall -y ./build_hss -i ./build_spgw -i }}} == Configurations changes == TBD == Installing the RAN Kernel on InstaGENI Gen8 Hosts == This was the originally suggested approach, which was not used due to issues on older racks (Gen7). If you installation is on an InstaGENI with HP Gen8 hosts, login to the raw-pc that you reserved and and execute these commands for the package version of the Kernel Master branch: {{{ git clone https://gitlab.eurecom.fr/oai/linux-4.7.x.git cd linux-4.7.x sudo dpkg -i linux-headers-4.7.7-oaiepc_4.7.7-oaiepc-10.00.Custom_amd64.deb linux-image-4.7.7-oaiepc_4.7.7-oaiepc-10.00.Custom_amd64.deb }}} The above command is an excerpt from the [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/OpenAirKernelMainSetup Radio Access Network Kernel] wiki page. == Installing the RAN Kernel on InstaGENI Gen7 Hosts == If you installation is on an InstaGENI with HP Gen7 hosts, login to the raw-pc that you reserved and and execute the steps details at the [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/OpenAirKernelMainSetup Radio Access Network Kernel] wiki page. You must follow the instruction for Ubuntu 14 and the Ran Master branch. As a reference the GPO IG Gen7 raw pc installation history was captured in the attached file named install-log-gpo-pc1-gen7.txt. == Hostnames and domain-name configuration == Append the following lines to /etc/hosts: {{{ 127.0.1.1 nano.orbit-lab.org nano 127.0.1.1 hss.orbit-lab.org hss }}} Remove /etc/hostname file {{{ sudo rm /etc/hostname }}} Change the hostname: {{{ sudo hostnamectl set-hostname nano }}} Logout and login again to verify hostname change and verify name resolution: {{{ lnevers@nano:~$ sudo getent hosts nano 127.0.1.1 nano.orbit-lab.org nano }}}