class/오픈소스 free5gc

21/04/22 #006 (free5gc) Build free5gc from source code (mongodb, logrus, free5gc source, webconsole)

tech-lover 2021. 4. 22. 15:15

Prerequisite Packages (mongodb, logrus)

  • Control-plane Supporting Packages
sudo apt -y update 
sudo apt -y install mongodb wget git 
sudo systemctl start mongodb
  • User-plane Supporting Packages
    • Check Linux kernel version 5.0.0-23-generic
uname -r
-   Retrieve the 5G GTP-U kernel module using `git` and build it
git clone -b v0.2.1 https://github.com/PrinzOwO/gtp5g.git 
cd gtp5g 
make 
sudo make install
-  Install build tools
sudo apt -y update 
sudo apt -y install git gcc cmake autoconf libtool pkg-config libmnl-dev libyaml-dev 
go get -u github.com/sirupsen/logrus

Clone the free5GC repository

  • To install the latest stable build (v3.0.5):
cd ~ 
git clone --recursive -b v3.0.5 -j `nproc` https://github.com/free5gc/free5gc.git 
cd free5gc 

NOTE: the root folder name for this repository must be free5gc. If it is changed, compilation will fail.

  • Compile network function services in free5gc
    • To build all network functions:
cd ~/free5gc
make

Install WebConsole

  1. Before building WebConsole, install nodejs and yarn packages first:
sudo apt remove cmdtest sudo apt remove yarn 
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - 
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list 
sudo apt-get update 
sudo apt-get install -y nodejs yarn
  1. Build WebConsole
    • to build using make:
cd ~/free5gc
make webconsole
  • To build free5GC webconsole server
    (In directory: ~/free5gc/webconsole)
cd frontend
yarn install
yarn build
rm -rf ../public
cp -R build ../public
  • To run the free5GC webconsole server
    (In directory: ~/free5gc/webconsole)
go run server.go