声明:本文优快云作者原创投稿文章,未经许可禁止任何形式的转载,原文链接
文章目录
一、系统概述
OAI开源代码分为两部分:核心网EPC(openair-cn)+基站eNB(openairinterface5g)。EPC中包括HSS/MME/SPGW等核心网的功能模块;eNB中实现了基站处理的逻辑模块,基站的射频发射模块由USRP B210完成。
本文EPC搭建在Ubuntu 16.04.2 TLS上,通过手动部署的方式运行;eNB搭建在Ubuntu 14.04.3 LTS上,通过启动Docker镜像直接运行。EPC可以使用虚拟机,但是eNB必须使用物理机,因为eNB对时序要求非常严格,虚拟机无法做到实时,即使是物理机,也是不能百分之百满足实时需要的,真正的基站要依赖物理芯片保证实时性。
二、搭建核心网EPC(openair-cn)
前排提示:如果你不想手动搭建,可以下载我已经搭好的虚拟机直接使用。
链接: https://pan.baidu.com/s/1BsG5dpORoLzLZWxGusJO9A 提取码: swmh
2.1 准备主机
安装Ubuntu 16.04.2 TLS系统,注意主机的命名,因为oai中大多使用的是nano,建议主机和用户名都设置为nano。
通过sudo vim /etc/apt/sources.list进入源文件,替换源。推荐使用阿里源(国内速度较快,也可根据实际情更换其他源)。
修改完之后使用 sudo apt-get update更新软件包列表。
2.2 更换内核
Ubuntu 16.04.2 TLS本身自带generic内核,EPC对内核非常敏感,我们在这里把内核换成4.7.7-oaiepc内核。有博客说generic可以直接使用,反而不推荐4.7.7-oaiepc内核,会出现问题。如果后面出现编译问题,可以尝试更换一下内核。
注:如果linux-4.7.x克隆不下来,可以直接下载我上传的资源
先使用sudo apt-get install git vim net-tools 安装git、vim和net-tools
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
# 重启
sudo reboot
# 查看内核是否更换完成
uname -a
uname -a查看当前的内核版本,出现4.7.7-oaiepc,方可进行下一步操作。
2.3 获取openair-cn源码
注:如果openair-cn克隆不下来,可以直接下载我上传的资源
cd ~
git clone https://gitlab.eurecom.fr/oai/openair-cn.git
克隆完成源码后,执行
cd ~/openair-cn
git checkout -b v0.5.0
2.4 编辑host
先使用hostname查询主机名,如果你得到的是ubuntu
执行:
sudo vim /etc/hosts
观察前几行,把自带的127.0.1.1 ubuntu(这里是你的主机名)这行前面加上#注释掉,然后在下面加上新的两行
127.0.1.1 ubuntu.openair4G.eur ubuntu #这一行的两个ubuntu都要改成你的主机名
127.0.1.1 hss.openair4G.eur hss
编辑完之后执行hostname -f,看到输出为你的主机名.openair4G.eur,说明更改成功。
2.5 安装必要的软件
2.5.1 安装Mysql
sudo apt-get install mysql-server mysql-client
密码自己设置,但是要记住,笔者将其设置为了Linux
2.5.2 安装Apache2
sudo apt-get install apache2
测试Apache2,浏览器访问虚拟机的IP会出现apache2主页 (注:不可开VPN,否则不会出现)
2.5.3 安装PHP
sudo apt-get install php7.0
sudo apt-get install libapache2-mod-php7.0
sudo service apache2 restart
测试PHP,创建新文件info.php
sudo vim /var/www/html/info.php
在该文件里添加php语句:
<?php
echo "<P>Hello World!</P> "?>
保存退出,然后浏览器访问 虚拟机ip/info.php,浏览器会显示hello world页面(不可挂VPN!)
2.5.4 安装 phpmyadmin
sudo apt-get install phpmyadmin
sudo ln -s /usr/share/phpmyadmin /var/www/html
测试phpmyadmin:
浏览器访问虚拟机ip/phpmyadmin,浏览器会显示数据库登录页面。
如果报错:mbstringextension is missing.Please check your PHP configuration.
解决办法:
sudo vim /etc/php/7.0/mods-available/json.ini
把文件里第二行的分号去掉,保存退出,重启网络
# 重启网络
sudo service apache2 restart
在数据库登录页面输入用户名root,密码Linux(你自己设置的密码),即可进入数据库,后面会进来修改一个值。
2.6 编译EPC
cd ~/openair-cn
git checkout develop
git pull
cd ~/openair-cn/scripts
./build_mme -i
./build_hss -i
./build_spgw -i
无红色报错说明安装成功,一般来说比较容易,不是出错的地方。
注1:以上命令只需跑一次就行了,命令的意思是补充未安装到的包(Need to run only once to install missing packages)
注2:build的时候请不要挂机。如果网速很差,中间很可能遇到EOF(因为安装freeDiameter的时候要从外网把freeDiameter源码克隆过来编译安装)
2.7 配置EPC
2.7.1 文件拷贝

本文详细介绍了如何手动搭建LTE核心网EPC及基站eNB,包括所需软件安装、配置步骤及注意事项。
最低0.47元/天 解锁文章
1172

被折叠的 条评论
为什么被折叠?



