[[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). == Expand Disk Space for IG Raw PC == InstaGENI Raw PCs have 1 TB drives, but by default the disk space allocation is for 16 GBytes, you must test steps to allocate more disk space, as the RAN kernel installation requires ~ 13GB of disk space. First check to see how available disk resources: {{{ lnevers@ltebase:~$ sudo fdisk -l /dev/sda* Disk /dev/sda: 1000.2 GB, 1000171331584 bytes 255 heads, 63 sectors/track, 121597 cylinders, total 1953459632 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x90909090 Device Boot Start End Blocks Id System /dev/sda1 * 2048 33556479 16777216 83 Linux /dev/sda2 33556480 39847935 3145728 0 Empty /dev/sda3 39847936 46139391 3145728 82 Linux swap / Solaris /dev/sda4 46139392 1953455039 953657824 0 Empty Disk /dev/sda1: 17.2 GB, 17179869184 bytes 255 heads, 63 sectors/track, 2088 cylinders, total 33554432 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System Disk /dev/sda2: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders, total 6291456 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00000000 Disk /dev/sda2 doesn't contain a valid partition table Disk /dev/sda3: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders, total 6291456 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00000000 Disk /dev/sda3 doesn't contain a valid partition table Disk /dev/sda4: 976.5 GB, 976545611776 bytes 255 heads, 63 sectors/track, 118724 cylinders, total 1907315648 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00000000 Disk /dev/sda4 doesn't contain a valid partition table lnevers@ltebase:~$ }}} The above shows that ''/dev/dsa4'' is space available, we will create a partition on /dev/sda4, note that your disk may differ. {{{ lnevers@ltebase:~$ sudo mkfs -t ext3 /dev/sda4 mke2fs 1.42.9 (4-Feb-2014) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 59604992 inodes, 238414456 blocks 11920722 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 7276 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done lnevers@ltebase:~$ }}} Now we can mount the disk partition to use for the installation: {{{ lnevers@ltebase:~$ sudo mkdir /space lnevers@ltebase:~$ sudo mount /dev/sda4 /space lnevers@ltebase:~$ df -kh Filesystem Size Used Avail Use% Mounted on /dev/sda1 16G 1.8G 14G 12% / none 4.0K 0 4.0K 0% /sys/fs/cgroup udev 24G 4.0K 24G 1% /dev tmpfs 4.8G 860K 4.8G 1% /run none 5.0M 0 5.0M 0% /run/lock none 24G 0 24G 0% /run/shm none 100M 0 100M 0% /run/user ops.instageni.gpolab.bbn.com:/q/proj/ch-geni-net 119G 102G 8.0G 93% /proj/ch-geni-net /dev/sda4 896G 72M 850G 1% /space lnevers@ltebase:~$ }}} Note the kernel installation steps below will download files in the "/space" directory. = 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 Raw PC Required BIOS Settings == Following is a list of setting modified on IG Raw PCs: - TO ADD ITEMS from Pics - = InstaGENI Site Installation = == Installing the RAN Kernel on InstaGENI Gen8 Hosts == 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 }}} = !OpenAirInterface = ==Installing OAI Software == Assuming you have completed the RAN Kernel installation and the BIOS have been modified as specified in earlier section. We can now proceed to install the OpenAirInterface software. Software '''must''' be installed 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. == Setting up the OAI ePC environment == 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]. Instruction on the page are followed as stated, with some minor deviations for the GENI hostnames as described in earlier section.