-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathinstall
executable file
·135 lines (111 loc) · 3.89 KB
/
install
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#!/bin/bash
set -e
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
if [ $# -ne 2 ]
then
echo "Use: install <serial-of-first-LimeSDR> <serial-of-second-LimeSDR>"
exit 1
fi
LimeSDR1Serial="$1"
LimeSDR2Serial="$2"
echo "Started"
chmod 777 ./install_*
# install dependencies
./install_deps
INSTALL_DIR=$(pwd)
BUILD_DIR="$INSTALL_DIR"/tmp
mkdir -p "$BUILD_DIR"
git clone https://github.com/osmocom/osmo-dev "$BUILD_DIR"/osmo-dev
git clone https://github.com/osmocom/osmo-trx "$BUILD_DIR"/osmo-trx
git clone https://github.com/osmocom/osmo-msc "$BUILD_DIR"/osmo-msc
git clone https://github.com/osmocom/osmo-bts "$BUILD_DIR"/osmo-bts
git clone https://github.com/osmocom/osmo-bsc "$BUILD_DIR"/osmo-bsc
# osmocom stack
cd "$BUILD_DIR"/osmo-dev
git checkout b3ae4b60ffe6d3b9066566fe7ad4aebe93aac86d
cp -r "$INSTALL_DIR"/src/osmo-dev/ ../
python3 ./gen_makefile.py 2G.deps default.opts prefix_usr.opts -m make_2g -I
cd ./make_2g
make
# osmo-trx
cd "$BUILD_DIR"/osmo-trx
git checkout c7930b0b2248df9c5b9ec2315c14c9c7c2633446
# patch
cp "$INSTALL_DIR"/src/osmo-trx/LMSDevice.cpp ./Transceiver52M/device/lms/LMSDevice.cpp
cp "$INSTALL_DIR"/src/osmo-trx/LMSDevice.h ./Transceiver52M/device/lms/LMSDevice.h
cp "$INSTALL_DIR"/src/osmo-trx/osmo-trx.cpp ./Transceiver52M/osmo-trx.cpp
cp "$INSTALL_DIR"/src/osmo-trx/config_defs.h ./CommonLibs/config_defs.h
autoreconf -fi
./configure --prefix=/usr --without-uhd --with-lms
make
make install
ldconfig
# osmo-msc
cd "$BUILD_DIR"/osmo-msc
git checkout 5a44e5f46ec64d6c18abbda17a4905d9fd677e27
# patch
cp "$INSTALL_DIR"/src/osmo-msc/msc_vty.c ./src/libmsc/msc_vty.c
cp "$INSTALL_DIR"/src/osmo-msc/db.c ./src/libmsc/db.c
cp "$INSTALL_DIR"/src/osmo-msc/sms_queue.c ./src/libmsc/sms_queue.c
cp "$INSTALL_DIR"/src/osmo-msc/gsm_04_08.c ./src/libmsc/gsm_04_08.c
cp "$INSTALL_DIR"/src/osmo-msc/paging.c ./src/libmsc/paging.c
cp "$INSTALL_DIR"/src/osmo-msc/paging.h ./include/osmocom/msc/paging.h
cp "$INSTALL_DIR"/src/osmo-msc/msc_main.c ./src/osmo-msc/msc_main.c
cp "$INSTALL_DIR"/src/osmo-msc/db.h ./include/osmocom/msc/db.h
cp "$INSTALL_DIR"/src/osmo-msc/gsm_04_11.c ./src/libmsc/gsm_04_11.c
cp "$INSTALL_DIR"/src/osmo-msc/msc_a.c ./src/libmsc/msc_a.c
cp "$INSTALL_DIR"/src/osmo-msc/vlr.h ./include/osmocom/msc/vlr.h
autoreconf -fi
./configure --prefix=/usr --enable-smpp
make
make install
ldconfig
# osmo-bsc
cd "$BUILD_DIR"/osmo-bsc
git checkout 3ac1278dcfba946c67329060341385854ddd31a5
# patch
cp "$INSTALL_DIR"/src/osmo-bsc/paging.c ./src/osmo-bsc/paging.c
cp "$INSTALL_DIR"/src/osmo-bsc/handover_decision_2.c ./src/osmo-bsc/handover_decision_2.c
cp "$INSTALL_DIR"/src/osmo-bsc/abis_rsl.c ./src/osmo-bsc/abis_rsl.c
cp "$INSTALL_DIR"/src/osmo-bsc/bsc_vty.c ./src/osmo-bsc/bsc_vty.c
cp "$INSTALL_DIR"/src/osmo-bsc/net_init.c ./src/osmo-bsc/net_init.c
cp "$INSTALL_DIR"/src/osmo-bsc/gsm_data.h ./include/osmocom/bsc/gsm_data.h
cp "$INSTALL_DIR"/src/osmo-bsc/timeslot_fsm.c ./src/osmo-bsc/timeslot_fsm.c
cp "$INSTALL_DIR"/src/osmo-bsc/timeslot_fsm.h ./include/osmocom/bsc/timeslot_fsm.h
autoreconf -fi
./configure --prefix=/usr
make
make install
ldconfig
# osmo-bts
cd "$BUILD_DIR"/osmo-bts
git checkout ca1628fb7ab9e71023ad5d554883b347be955adf
# patch
cp "$INSTALL_DIR"/src/osmo-bts/main.c ./src/common/main.c
autoreconf -fi
./configure --prefix=/usr --enable-trx
make
make install
ldconfig
cd "$INSTALL_DIR"
./install_asterisk
# set LimeSDR serials
sed -i -e "s/dev-args serial=.*/dev-args serial=$LimeSDR1Serial/" ./configs/osmocom/osmo-trx-lms.cfg
sed -i -e "s/dev-args serial=.*/dev-args serial=$LimeSDR2Serial/" ./configs/osmocom/osmo-trx-lms2.cfg
sed -i -e "s/dev-args serial=.*/dev-args serial=$LimeSDR2Serial/" ./configs/osmocom/osmo-trx-lms3.cfg
./install_configs
# change system settings
./install_system_configs
./install_services
# hlr base location
mkdir -p /var/lib/osmocom
chmod 777 ./bin/*
# set services enable
./bin/max_enable
# restart
./bin/max_stop
./bin/max_start
echo "Ended"