Project

General

Profile

Building OpenBSC » History » Revision 39

Revision 38 (wirelesss, 12/01/2016 06:20 PM) → Revision 39/46 (wirelesss, 12/07/2016 01:31 PM)

{{>toc}} 

 bq. *Before you consider building from source, be aware that there are [[Nightly Builds]] 
 available for Debian + Ubuntu platforms. These are recommended for normal users.* 


 h2. [[OpenBSC]] build guide 


 This page will describe the entire installation process of [[OpenBSC]] under GNU/Linux. 

 This tutorial is based on Debian Netinstall 5.0 but will work more or less the same with other GNU/Linux 
 distributions. 


 h3. Compiling + running [[OpenBSC]] 



 h4. Dependencies 


 Installing software that [[OpenBSC]] depends upon is distribution-dependent.    On Debian (or Debian-derived) systems, 
 you should install the following Debian packages before you start: 
 * libdbi0 
 * libdbi0-dev 
 * libdbd-sqlite3 
 * libortp-dev 
 * build-essential 
 * libtool 
 * autoconf 
 * automake 
 * git-core 
 * pkg-config 
 (The list may be incomplete) 

 On Debian, you can install those packages with 
 <pre> 
 sudo apt install libdbi-dev libdbd-sqlite3 libortp-dev build-essential libtool autoconf automake git-core pkg-config libtalloc-dev libpcsclite-dev libpcap-dev 
 </pre> 

 h4. Installation via packages 

 It is always better to use your distribution's package management system for installing stuff. Only use "make install" as a last resort. For example, almost all Osmocom projects include metadata required for building .deb packages (contributions for other package systems are more than welcomed). So if you're installing OpenBSC on .deb based system (Debian, Ubuntu, Mint etc) the right way to do it is: 
 <pre> 
 git clone git://git.osmocom.org/XXX 
 cd XXX 
 dpkg-buildpackage -uc -us -tc 
 cd .. 
 sudo dpkg -i *.deb 
 </pre> 

 h4. Building  

 Please follow instructions as per [https://osmocom.org/projects/cellular-infrastructure/wiki/Build_from_Source] to build following projects: 

 * libosmocore 
 * libosmo-abis 
 * libosmo-netif 
 * openbsc 


 Congratulations, you should now have the [[OpenBSC]] programs like _[[osmo-nitb]]_, _ipaccess-config_ and others in the subdirectories of 'src/', 
 like 
 * src/ipaccess/ipaccess-config (see [[ipaccess-config]]) 
 * src/ipaccess/ipaccess-find (see [[ipaccess-find]]) 
 * src/osmo-nitb/osmo-nitb (see [[osmo-nitb]]) 

 To proceed from here, you typically would 
 * set-up your BTS (see [[BS11Getting_Started]] or [[nanoBTSGetting_Started]]) 
 * configure and start [[osmo-nitb]] 


 h4. mISDN enabled kernel in case of E1 based BTS like BS-11 


 If you want to use a E1-based BTS (like the BS-11), you will need to install mISDN (or DAHDI). 

 *If you have an IP/Ethernet based BTS (like the ip.access nanoBTS), you don't need this section!* 

 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. 

 First of all you will need to download the 2.6.31 Linux kernel from "Change to */usr/src/* on your [[OpenBSC]] machine. 
 <pre> 

 Unpack the archive: 

 
 <pre> 
 tar --bzip2 -xvf linux-2.6.31.tar.bz2 
 </pre> 
 and create a symlink to fit the Linux standard conventions:  
 <pre> 
 ln -s linux-2.6.30 linux 
 </pre> 

 Now change to linux-2.6.30 typing 
 <pre> 
 cd linux-2.6.30 
 </pre> 

 You are ready now to prepare for the main part: 

 Install some tools needed to build the kernel. 

 <pre> 
 apt-get install libncurses5-dev kernel-package 
 </pre> 

 Now configure the kernel modules with 
 <pre> 
 make menuconfig 
 </pre> 

 Include the _mISDN_ modules and _hfcmulti / hfc e1 drivers_. 

 Save the new configuration to *.config* . 

 You can now try to build the Debian kernel package: 
 <pre> 
 make-kpkg linux-image --initrd --revision=openbsc01.0 
 </pre> 

 Go a directory higher 
 <pre> 
 cd .. 
 </pre> 

 and install the new kernel package typing: 

 <pre> 
 dpkg -i    kernelpackagename.deb 
 </pre> 

 Now you only have to add the dslot=1 parameter for hfcmulti to load with this parameter. 
 Otherwise [[OpenBSC]] will talk on signalling timeslot 15 where BS11 uses 1. 

 Simply add the following in */boot/grub/menu.lst* : 

 Add this line to the "Kernel"-line 

 *hfcmulti.dslot=1* 

 Save changes and reboot your machine with your new kernel. 


 h4. DAHDI kernel in case of E1 based BTS like BS-11 


 This is an alternative to the mISDN drivers.    For DAHDI installation, please check with the Asterisk / DAHDI homepage. 

 <pre> 
 <pre> 
 dchan=1 
 bchan=2-30 
 </pre> 

 <pre> 
 <pre> 
 e1_input 
  e1_line 0 driver dahdi 
 </pre>
Add picture from clipboard (Maximum size: 48.8 MB)