本次演練所要使用的Free5Gmano團隊的專案使用了free5GC,因此在演練之前必須先將free5GC所需元件安裝完畢。
第一步,確認ubuntu的kernel版本
uname -r
請確認kernel的版本為5.0.0-23-generic 或 5.4.0 以後版本,若不符合請進行下方操作。
grep menuentry /boot/grub/grub.cfg #查看當前的kernel列表
若其中有符合的版本,則註解預設0並更改為該版本
vim /etc/default/grub
# GRUB_DEFAULT=0
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu,<linux version> (ex:with Linux 5.4.0-125-generic)"
若沒有符合的版本,則
apt-cache search linux | grep linux-image #從中尋找指定的版本
apt-get install <linux-headers version> (ex:linux-headers-4.15.0-76-generic) <linux-image version> (ex:linux-image-4.15.0-76-generic)
下載完後再更改版本,更改完畢後
update-grub #更新配置
reboot #重開
第二步,確認go
go version
go的版本若大於1.15.7則跳過此階段,若版本小於1.15.7則刪除舊版本的go
rm -rf /usr/local/go(假設下載在/usr/local/go)
刪除舊版本完畢後就要下載新版本了
cd ~
wget https://golang.org/dl/go1.15.7.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.15.7.linux-amd64.tar.gz
mkdir -p ~/go/{bin,pkg,src}
echo 'export GOPATH=$HOME/go' >> ~/.bashrc
echo 'export GOROOT=/usr/local/go' >> ~/.bashrc
echo 'export PATH=$PATH:$GOPATH/bin:$GOROOT/bin' >> ~/.bashrc
echo 'export GO111MODULE=auto' >> ~/.bashrc source ~/.bashrc
輸入以上指令後確認go版本
go version
第三步,下載其他元件
apt -y update
apt -y install mongodb
systemctl start mongodb
apt -y install git gcc g++ cmake autoconf libtool pkg-config libmnl-dev libyaml-dev
go get -u github.com/sirupsen/logrus
cd ~
git clone https://github.com/free5gc/gtp5g.git
cd gtp5g make
make install
完畢後輸入
lsmod | grep gtp
檢查gtp5g是否已下載。