-
Notifications
You must be signed in to change notification settings - Fork 0
/
howto
98 lines (79 loc) · 4.41 KB
/
howto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<<<< TOC >>>>
1.0 How to build FlexRAN from scratch
2.0 How to install oneAPI toolkit
3.0 How to build 22.03 FlexRAN SDK
4.0 How to build FlexRAN based container image
5.0 How to build bench-flexran from based image
6.0 How to build SNO
7.0 How to provision SNO for flexran
8.0 How to run bench-flex-ran
Timer mode s/w FEC mode
Timer mode ACC100 FEC mode
XRAN s/w FEC mode
XRAN ACC100 FEC mode
<<<< /TOC >>>>>>
1.0 How to build FlexRAN from scratch
On a build machine i.e perf154
step 1: install oneAPI Base Toolkit
step 2: download FlexRAN 22.03 parts
step 3: download DPDK 22.03 patch
step 4: build FlexRAN SDK using oneapi-step.sh
2.0 How to install oneAPI Base toolkit
Reference: https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html?operatingsystem=linux&distributions=offline
Note: we build from /opt
step 1: [root@perf154]# mkdir -p /home/oneAPI-OPT && ln -s /home/oneAPI-OPT /opt && cd /opt
Step 2: $ wget https://registrationcenter-download.intel.com/akdlm/irc_nas/18970/l_BaseKit_p_2022.3.1.17310_offline.sh
Step 3: $ chmod +x ./l_BaseKit_p_2022.3.1.17310_offline.sh
Step 3: $ bash l_BaseKit_p_2022.3.1.17310_offline.sh -a -s --eula accept
Note: may need 'yum install kernel-devel'
3.0 How to build 22.03 FlexRAN SDK
step 1: Download FLEXRAN SDK
Download from my Intel Developer account
from: https://www.intel.com/content/www/us/en/developer/topic-technology/edge-5g/tools/flexran-documentation.html?wapkw=flexran&s=Newest
or from my coworker gdrive: https://drive.google.com/drive/folders/xxx
step 2: stage files at STAGE_DIR defined in oneapi-step.sh
[root@perf154 22-03]# mkdir -p /home/user/Intel-FlexRAN/22-03 && cd /home/user/Intel-FlexRAN/22-03
dpdk_patch-22.03.patch.zip
FlexRAN-22.03-L1.tar.gz_part00
FlexRAN-22.03-L1.tar.gz_part01
step 3: populate testmac makefile patch
$ cp testmac.patch /opt
Note: l_BaseKit_p_2022.3.1.17310_offline.sh build may fail when building testmac w/o the above patch.
The patch may need to be adapted with newer compiler versions. This is how to adapt:
step 1: cd /opt/flexran && ./flexran_build.sh -e -r 5gnr -m testmac
step 2: look at the errors and fix the CFLAGS until compilation happy.
step 4: build
[root@perf154 22-03] cd /opt
[root@perf154 22-03] oneapi-step.sh
4.0 How to build FlexRAN based container image
[root@perf154 ]# cd /opt
Step 1: podman build -f Dockerfile -t quay.io/user/flexran:flexran-oneapi-base .
Step 2: podman push quay.io/user/flexran:flexran-oneapi-base
Note: this image is large 12+Gb. The build could fail when runing out of disk space.
Monitor with 'du -xkh --max-depth 1 /var/lib/containers/storage/overlay'. May move
this dir or /var/lib/containers/storage dir to a more roomy FS.
5.0 How to build bench-flexran image from FlexRAN based image
Assumptions:
1. Based image is: quay.io/user/flexran:flexran-oneapi-base
2. Rickshaw
/opt/crucible/repos/https:github.com:perftool-incubator/rickshaw/userenvs/stream8-flexran.json
Step 1: run.sh
During rickshaw builds stream8-flexran userenv pulls in the based image.
Note: on first run.sh of a new image, since the FlexRAn image is big, roadblock may time out and fail. Just rerun run.sh.
6.0 How to build SNO
Can use Jetlag
[root@perf154 new-jetlag-perf198]#
/root/WS/new-jetlag-perf198
step 1: ansible-playbook -i inventory-perf198-sno ansible/setup-bastion.yml
step 2: ansible-playbook -i inventory-perf198-sno ansible/setup-bastion.yml
7.0 How to provision SNO for flexran
After the SNO is ready, begin provisioning
step 1. finalize /opt/crucible/repos/https:github.com:perftool-incubator/bench-flexran/script-dir/settings
step 2: apply each script one of a time, /opt/crucible/repos/https:github.com:perftool-incubator/bench-flexran/script-dir/{03*,09*}
8.0 How to run bench-flexran
Examples: https://github.com/HughNhan/crucible-examples/tree/main/flexran/ACC100
Timer mode s/w FEC mode: ./crucible-examples/flexran/ACC100/TIMER-SW/
Timer mode ACC100 FEC mode: ./crucible-examples/flexran/ACC100/TIMER-FEC/
XRAN s/w FEC mode: ./crucible-examples/flexran/ACC100/XRAN-SW/
XRAN ACC100 FEC mode: .//crucible-examples/flexran/ACC100/XRAN-FEC/
Note: