OpenBTS: Build OpenBTS 4.0

From OnnoWiki
Revision as of 06:57, 27 March 2014 by Onnowpurbo (talk | contribs) (New page: Sumber: https://github.com/RangeNetworks/dev/wiki Development Environment Use this section to setup a development environment that is identical to those used internally at Range Networ...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Sumber: https://github.com/RangeNetworks/dev/wiki


Development Environment

Use this section to setup a development environment that is identical to those used internally at Range Networks. We are working to support other development environments setups in the future but this one is guaranteed to work. Install Base Operating System

If you're already running Ubuntu Desktop or Server 32-bit 12.04, you can skip this section.

   download Ubuntu Server 32-bit 12.04.4 LTS from here
   boot the .iso on a fresh machine (VMWare virtual machines are also often used)
   select "English" for language
   press F4
   select "Install a minimal system" from install type
   select "Install Ubuntu Server" from main menu
   select your language
   select your country
   use keyboard layout auto-detection or select the country and layout
   enter a hostname
   enter "openbts" for "full name for the new user"
   enter "openbts" for "username for your account"
   enter and confirm a password for the openbts account
   select "no" to "Encrypt your home directory?"
   select "Guided - Use Entire Disk" for "Partitioning method"
   select/confirm the disk you'd like to use
   select "yes" to "Write the changes to disks?"
   enter nothing for "HTTP Proxy" and select continue
   select "No automatic updates"
   toggle OpenSSH on in "Software selection"
   select "continue"
   select "yes" to "Install the GRUB boot loader on a hard disk"
   select "continue" to "Finish the installation"

Update Git

The OpenBTS project utilizes several new features in Git. To make sure your client is compatible (e.g. newer than 1.8.2), perform the following.

$ sudo add-apt-repository ppa:git-core/ppa

(press enter to continue)

$ sudo apt-get update
$ sudo apt-get install git

Once you have git installed, most of the remaining installation process is automated via scripts. Downloading

Several software components are needed to actually create a usable mobile network. To efficiently manage them, we've prepared some scripts to automate the clone, pull, branch and build operations. Tools

From the command line in your fresh development environment, execute the following to download the most recent set of tools:

$ git clone https://github.com/RangeNetworks/dev.git

Before proceeding, these tools require that you are using a modern version of Git (>1.8.2). Check now if you are:

$ git --version
git version 1.9.1

Components

This development scripts assume that you have SSH keys set up for GitHub. If you do not, please follow these instructions to set them up before proceeding.

Now, to download all of the components simply run the clone.sh script.

$ cd dev
$ ./clone.sh

Selecting a Branch or Tag

Before building, you should choose which branch or tag you'd like to compile using switchto.sh.

$ ./switchto.sh master
(or)
$ ./switchto.sh 4.0
(or)
$ ./switchto.sh v4.0.0

Building

The build.sh script will automatically install any build dependencies (building them manually when required). After dependencies are taken care of, each component is compiled into an installable package.

$ ./build.sh

Compiled packages are now in a new directory named BUILD-sometimestamp. Installing

Use dpkg to install the fresh packages (this will complain about dependencies):

$ sudo dpkg -i BUILD-timestamp/*.deb

To have Aptitude resolve the dependencies, execute the following:

$ sudo apt-get -f install

When prompted about overwriting existing configuration files, use your own judgement. It is recommended to overwrite all files to make sure things work out of the box. However, overwriting /etc/network/interfaces will set your system to a static IP instead of whatever you had configured previously. Running

Each component has an Upstart service definition for Ubuntu. To start all the required services, execute the following:

$ sudo start sipauthserve
$ sudo start smqueue
$ sudo start openbts
$ sudo start asterisk

Conversely, to stop them:

$ sudo stop sipauthserve
$ sudo stop smqueue
$ sudo stop openbts
$ sudo stop asterisk

Exploring

placeholder




Referensi