Open5gs: Compile

From OnnoWiki
Jump to navigation Jump to search

Sistem Operasi Ubuntu 22.04

Install MongoDB

Import public key

sudo apt update
sudo apt install gnupg
curl -fsSL https://pgp.mongodb.com/server-6.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg --dearmor

Buat file /etc/apt/sources.list.d/mongodb-org-6.0.list

Di Ubuntu 22.04 (Jammy)

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

Install MongoDB

sudo apt update
sudo apt install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod

Tip: MongoDB digunakan sebagai database untuk NRF/PCF/UDR dan PCRF/HSS.

Setup TUN device (not persistent)

Buat TUN device dengan nama interface ogstun.

sudo ip tuntap add name ogstun mode tun
sudo ip addr add 10.45.0.1/16 dev ogstun
sudo ip addr add 2001:db8:cafe::1/48 dev ogstun
sudo ip link set ogstun up

Tip: script ini tersedia di $GIT_REPO/misc/netconf.sh yang akan memudahkan kita dapat mengkonfigurasi TUN device:

sudo ./misc/netconf.sh

Install Pendukung

Install Dependency

sudo apt update
sudo apt y install python3-pip python3-setuptools python3-wheel ninja-build build-essential flex bison \
git cmake libsctp-dev libgnutls28-dev libgcrypt-dev libssl-dev libidn11-dev libmongoc-dev libbson-dev \
libyaml-dev libnghttp2-dev libmicrohttpd-dev libcurl4-gnutls-dev libnghttp2-dev libtins-dev \
libtalloc-dev meson

Git clone

Clone source code dari github

rm -Rf /usr/local/src/open5gs
cd /usr/local/src
git clone https://github.com/open5gs/open5gs

Compile menggunakan Meson

cd /usr/local/src/open5gs
meson build --prefix=`pwd`/install
ninja -C build

Cek apakah hasil compile Sudah Benar

./build/tests/attach/attach # Untuk EPC
./build/tests/registration/registration  #untuk core 5g

cd build
meson test -v

Install

cd build
ninja install
cd ../

Pranala Menarik