Building OpenBSC » History » Version 17
laforge, 02/19/2016 10:47 PM
better formatting
1 | 14 | laforge | [[PageOutline]] |
---|---|---|---|
2 | 1 | ||
3 | == Debian HowTo == |
||
4 | |||
5 | This page will describe the entire installation process of OpenBSC under Debian Linux. |
||
6 | This tutorial is based on Debian Netinstall 5.0 but will work with other Debian versions. |
||
7 | |||
8 | 4 | To be able to access your OpenBSC machine easily from a remote Terminal, install ssh. |
|
9 | 1 | This can be easily done with "apt-get install ssh". |
|
10 | |||
11 | |||
12 | 14 | laforge | === Compiling + running OpenBSC === |
13 | |||
14 | 15 | laforge | ==== Dependencies ==== |
15 | |||
16 | 17 | laforge | Installing software that OpenBSC depends upon is distribution-dependent. On Debian (or Debian-derived) systems, |
17 | you should install the following Debian packages before you start: |
||
18 | 14 | laforge | * libdbi0 |
19 | * libdbi0-dev |
||
20 | * libdbd-sqlite3 |
||
21 | * autoconf |
||
22 | * git-core |
||
23 | 1 | (The list may be incomplete) |
|
24 | |||
25 | 17 | laforge | On Debian, you can install those packages with |
26 | {{{ |
||
27 | apt-get install libdbi0-dev libdbd-sqlite3 autoconf git-core |
||
28 | }}} |
||
29 | 1 | ||
30 | ==== Building libosmocore ==== |
||
31 | 17 | laforge | * Check out libosmocore from git using |
32 | {{{ |
||
33 | git clone git://git.osmocom.org/libosmocore.git |
||
34 | }}} |
||
35 | * Change into the right directory using |
||
36 | {{{ |
||
37 | cd libosmocore |
||
38 | }}} |
||
39 | * Rebuild the configure script using |
||
40 | {{{ |
||
41 | autoreconf -i |
||
42 | }}} |
||
43 | * Run the configure script using |
||
44 | {{{ |
||
45 | ./configure |
||
46 | }}} |
||
47 | * Build the actual software using |
||
48 | {{{ |
||
49 | make |
||
50 | }}} |
||
51 | * Install the library by using |
||
52 | {{{ |
||
53 | make install |
||
54 | }}} |
||
55 | 1 | ||
56 | ==== Building OpenBSC ==== |
||
57 | 17 | laforge | * Check out OpenBSC from git using |
58 | {{{ |
||
59 | git clone git://bs11-abis.gnumonks.org/openbsc.git |
||
60 | }}} |
||
61 | * Change into the right directory using |
||
62 | {{{ |
||
63 | cd openbsc/openbsc |
||
64 | }}} |
||
65 | * Rebuild the configure script using |
||
66 | {{{ |
||
67 | autoreconf -i |
||
68 | }}} |
||
69 | * Run the configure script using |
||
70 | {{{ |
||
71 | ./configure |
||
72 | }}} |
||
73 | * Build the actual software using |
||
74 | {{{ |
||
75 | make |
||
76 | }}} |
||
77 | 1 | ||
78 | Congratulations, you should now have the OpenBSC programs like ''bsc_hack'', ''ipaccess-config'' and others in the 'src/' subdirectory. |
||
79 | |||
80 | ==== mISDN enabled kernel in case of BS-11 ==== |
||
81 | |||
82 | If you want to use a E1-based BTS (like the BS-11), you will need to install mISDN. |
||
83 | |||
84 | '''If you have an IP/Ethernet based BTS (like the ip.access nanoBTS), you don't need this section!''' |
||
85 | |||
86 | Because OpenBSC's E1 support relies on mISDN (named ISDN4Linux before) and hfcmulti as an interface to the BS11, it has to be integrated as a module into the kernel. |
||
87 | |||
88 | First of all you will need to download the 2.6.31 Linux kernel from [http://www.kernel.org/pub/linux/kernel/v2.6/]. |
||
89 | 3 | ||
90 | 1 | Change to '''/usr/src/''' on your OpenBSC machine. |
|
91 | 17 | laforge | Then simply do a {{{wget [http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.tar.bz2]}}} |
92 | 1 | ||
93 | 17 | laforge | Unpack the archive: |
94 | {{{ |
||
95 | tar --bzip2 -xvf linux-2.6.31.tar.bz2 |
||
96 | }}} |
||
97 | and create a symlink to fit the Linux standard conventions: |
||
98 | {{{ |
||
99 | ln -s linux-2.6.30 linux |
||
100 | }}}.[[BR]] |
||
101 | 1 | ||
102 | 17 | laforge | Now change to linux-2.6.30 typing |
103 | {{{ |
||
104 | cd linux-2.6.30 |
||
105 | }}} |
||
106 | 1 | ||
107 | You are ready now to prepare for the main part: |
||
108 | |||
109 | Install some tools needed to build the kernel. |
||
110 | |||
111 | 17 | laforge | {{{ |
112 | apt-get install libncurses5-dev kernel-package |
||
113 | }}} |
||
114 | 1 | ||
115 | 17 | laforge | Now configure the kernel modules with |
116 | {{{ |
||
117 | make menuconfig |
||
118 | }}} |
||
119 | 11 | laforge | |
120 | 17 | laforge | Include the ''mISDN'' modules and ''hfcmulti / hfc e1 drivers''. |
121 | 11 | laforge | |
122 | 3 | Save the new configuration to '''.config''' . |
|
123 | 1 | ||
124 | 17 | laforge | You can now try to build the Debian kernel package: |
125 | {{{ |
||
126 | make-kpkg linux-image --initrd --revision=openbsc01.0 |
||
127 | }}} |
||
128 | 14 | laforge | |
129 | 17 | laforge | Go a directory higher |
130 | {{{ |
||
131 | cd .. |
||
132 | }}} |
||
133 | 11 | laforge | |
134 | and install the new kernel package typing: |
||
135 | |||
136 | 17 | laforge | {{{ |
137 | dpkg -i kernelpackagename.deb |
||
138 | }}} |
||
139 | 11 | laforge | |
140 | 1 | Now you only have to add the dslot=1 parameter for hfcmulti to load with this parameter. |
|
141 | Otherwise OpenBSC will talk on signalling timeslot 15 where BS11 uses 1. |
||
142 | |||
143 | Simply add the following in '''/boot/grub/menu.lst''' : |
||
144 | |||
145 | Add this line to the "Kernel"-line |
||
146 | |||
147 | '''hfcmulti.dslot=1''' |
||
148 | |||
149 | Save changes and reboot your machine with your new kernel. |