Difference between revisions of "Open5gs: Compile"

From OnnoWiki
Jump to navigation Jump to search
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Install Dependencies
+
Sistem Operasi Ubuntu 22.04
  
sudo apt install python3-pip python3-setuptools python3-wheel ninja-build build-essential flex bison git libsctp-dev libgnutls28-dev
+
==Install MongoDB==
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
 
  
Clone Dari Source
+
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 & Compile==
 +
 
 +
Clone source code dari github
 +
 
 +
rm -Rf /usr/local/src/open5gs
 +
cd /usr/local/src
 
  git clone https://github.com/open5gs/open5gs
 
  git clone https://github.com/open5gs/open5gs
  
Compile pakai Meson
+
Compile menggunakan Meson
  cd open5gs
+
 
 +
  cd /usr/local/src/open5gs
 
  meson build --prefix=`pwd`/install
 
  meson build --prefix=`pwd`/install
 
  ninja -C build
 
  ninja -C build
  
Cek apakah Compile Sudah Benar
+
==Test==
 +
 
 +
Cek EPC (4G)
 +
 
 +
./build/tests/attach/attach
 +
 
 +
Hasilnya,
 +
 
 +
s1setup-test        : SUCCESS
 +
simple-test        : SUCCESS
 +
guti-test          : SUCCESS
 +
auth-test          : SUCCESS
 +
idle-test          : SUCCESS
 +
emm-status-test    : SUCCESS
 +
ue-context-test    : SUCCESS
 +
reset-test          : SUCCESS
 +
issues-test        : SUCCESS
 +
All tests passed.
 +
 
 +
Cek Core (5G)
 +
 
 
  ./build/tests/registration/registration
 
  ./build/tests/registration/registration
  
 +
Hasilnya,
 +
 +
simple-test        : SUCCESS
 +
guti-test          : SUCCESS
 +
auth-test          : SUCCESS
 +
ecc-test            : SUCCESS
 +
idle-test          : SUCCESS
 +
dereg-test          : SUCCESS
 +
paging-test        : SUCCESS
 +
identity-test      : SUCCESS
 +
gmm-status-test    : SUCCESS
 +
ue-context-test    : SUCCESS
 +
reset-test          : SUCCESS
 +
multi-ue-test      : SUCCESS
 +
All tests passed.
 +
 +
Lakukan Full Test
 +
 
  cd build
 
  cd build
 
  meson test -v
 
  meson test -v
  
  cd build
+
Pastikan tidak ada Error,
 +
 
 +
ninja: Entering directory `/usr/local/src/open5gs/build'
 +
ninja: no work to do.
 +
  1/13 open5gs:unit / core        RUNNING     
 +
>>> MALLOC_PERTURB_=59 /usr/local/src/open5gs/build/tests/core/core
 +
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― ✀ 
 +
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 +
list-test          : SUCCESS
 +
pool-test          : SUCCESS
 +
strings-test        : SUCCESS
 +
time-test          : SUCCESS
 +
conv-test          : SUCCESS
 +
log-test            : SUCCESS
 +
....
 +
....
 +
....
 +
12/13 open5gs:app / handover    OK            13.56s
 +
 +
13/13 open5gs:epc / non3gpp      RUNNING     
 +
>>> MALLOC_PERTURB_=75 /usr/local/src/open5gs/build/tests/non3gpp/non3gpp
 +
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― ✀ 
 +
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 +
epdg-test          : SUCCESS
 +
All tests passed.
 +
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 +
13/13 open5gs:epc / non3gpp      OK              7.63s
 +
 +
Ok:                13 
 +
Expected Fail:      0 
 +
Fail:              0 
 +
Unexpected Pass:    0 
 +
Skipped:            0 
 +
Timeout:            0 
 +
Full log written to /usr/local/src/open5gs/build/meson-logs/testlog.txt
 +
 
 +
Pastikan tidak ada yang Fail.
 +
 
 +
==Install Open5gs==
 +
 
 +
  cd /usr/local/src/open5gs/build
 
  ninja install
 
  ninja install
 
  cd ../
 
  cd ../
 +
 +
==Pranala Menarik==
 +
 +
* [[5G]]

Latest revision as of 08:59, 22 July 2023

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 & Compile

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

Test

Cek EPC (4G)

./build/tests/attach/attach

Hasilnya,

s1setup-test        : SUCCESS
simple-test         : SUCCESS
guti-test           : SUCCESS
auth-test           : SUCCESS
idle-test           : SUCCESS
emm-status-test     : SUCCESS
ue-context-test     : SUCCESS
reset-test          : SUCCESS
issues-test         : SUCCESS
All tests passed.

Cek Core (5G)

./build/tests/registration/registration

Hasilnya,

simple-test         : SUCCESS
guti-test           : SUCCESS
auth-test           : SUCCESS
ecc-test            : SUCCESS
idle-test           : SUCCESS
dereg-test          : SUCCESS
paging-test         : SUCCESS
identity-test       : SUCCESS
gmm-status-test     : SUCCESS
ue-context-test     : SUCCESS
reset-test          : SUCCESS
multi-ue-test       : SUCCESS
All tests passed.

Lakukan Full Test

cd build
meson test -v

Pastikan tidak ada Error,

ninja: Entering directory `/usr/local/src/open5gs/build'
ninja: no work to do.
 1/13 open5gs:unit / core        RUNNING       
>>> MALLOC_PERTURB_=59 /usr/local/src/open5gs/build/tests/core/core
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― ✀  
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
list-test           : SUCCESS
pool-test           : SUCCESS
strings-test        : SUCCESS
time-test           : SUCCESS
conv-test           : SUCCESS
log-test            : SUCCESS
....
....
....
12/13 open5gs:app / handover     OK             13.56s

13/13 open5gs:epc / non3gpp      RUNNING       
>>> MALLOC_PERTURB_=75 /usr/local/src/open5gs/build/tests/non3gpp/non3gpp
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― ✀  
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
epdg-test           : SUCCESS
All tests passed.
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
13/13 open5gs:epc / non3gpp      OK              7.63s

Ok:                 13  
Expected Fail:      0   
Fail:               0   
Unexpected Pass:    0   
Skipped:            0   
Timeout:            0   
Full log written to /usr/local/src/open5gs/build/meson-logs/testlog.txt

Pastikan tidak ada yang Fail.

Install Open5gs

cd /usr/local/src/open5gs/build
ninja install
cd ../

Pranala Menarik