[[PageOutline]] = !OpenAirInterface ePC GENI Site Deployment = GENI !OpenAirInterface Evolved Packet Core (ePC) software deployment is captured in this page. See the [wiki:GENILTE/LTEDeployment/Sites 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.