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
- Check Linux kernel version
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
- 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
- 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