首先更新ubuntu到最新版 本篇說明是以10.04為主
更新的好處是......等一下指令可以打短一點
壞處是......我不知道
1. 修改apt-get的來源伺服器
$ sudo vim /etc/apt/sources.list
在裡面加上
deb http://us.archive.ubuntu.com/ubuntu jaunty main restricted universe multiverse
deb http://us.archive.ubuntu.com/ubuntu jaunty-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu jaunty-security main restricted universe multiverse
如果你跟我說你不會用vim
那也可以用gedit
如果沒有vim
請自行找尋安裝的方式
2. 安裝一大堆GNU radio所需要的套件
安裝 GNU RADIO 前要讓 Ubuntu 有下列程式:
* Development Tools (need for compilation)
o g++
o subversion
o make
o autoconf, automake, libtool
o sdcc (from "universe"; 2.4 or newer)
o guile (1.6 or newer)
o ccache (not required, but recommended if you compile frequently)
* Libraries (need for runtime and for compilation)
o python-dev
o FFTW 3.X (fftw3, fftw3-dev)
o cppunit (libcppunit and libcppunit-dev)
o Boost 1.35 (or later)
o libusb and libusb-dev
o wxWidgets (wx-common) and wxPython (python-wxgtk2.8)
o python-numpy (via python-numpy-ext) (for SVN on or after 2007-May-28)
o ALSA (alsa-base, libasound2 and libasound2-dev)
o Qt (libqt3-mt-dev for versions earlier than 8.04; version 4 works for 8.04 and later)
o SDL (libsdl-dev)
o GSL GNU Scientific Library (libgsl0-dev >= 1.10 required for SVN trunk, not in binary repositories for 7.10 and earlier)
* SWIG (1.3.31 or newer required)
o Edgy or previous: requires installation from source
o Feisty or newer: use the standard package install (swig)
* QWT (optional) (5.0.0 or newer required)
o Must be installed from source (as of 2008-01-15).
o qt4 versions should be used for 8.04 and 8.10. DO! : sudo apt-get update and then upgrade for a proper qt4.
* QWT Plot3d Lib
o Must be installed for gr-qtgui to work. qt4 version preferred for Ubuntu 8.04 and 8.10
* Polyphase Filter Bank examples
o for the examples in gnuradio-examples/python/pfb to work you need to install python-scipy, python-matplotlib, and python-tk
* Other useful packages
o doxygen (for creating documentation from source code)
o octave (from "universe")
這樣排版比較清楚
以上說明感謝學長支援
版權沒有 請自行抄襲
然後下面就是一大串指令
在下指令之前先說一下
可以先裝qt4
因為很多套件都跟qt有關
又可以少打幾個字了
安裝qt4 http://wiki.ubuntu.org.cn/index.php?title=Qt&variant=zh-tw
安裝其他哩哩摳摳ㄟ
$ sudo apt-get update
$ sudo apt-get -y install kernel-package fakeroot tofrodos gitweb git git-svn qgit subversion autoconf automake libtool sdcc sdcc-nf octave3.2
$ sudo apt-get -y install python-dev python-numpy-ext python-wxgtk2.8 python-cheetah python-scipy python-matplotlib python-tk python-lxml
$ sudo apt-get -y install qt4-creator libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools doxygen guile-1.8-dev fftw3 fftw3-dev wx-common
$ sudo apt-get -y install libcppunit-dev libcppunit-doc libboost1.35-dev libboost-thread-dev libusb-dev libsdl1.2-dev libsdl-dev libgsl0-dev swig
qt4-creator只是我順便裝來試試寫qt也順便少打幾個字
以上不保證不重複或是不需要裝卻打在上面
之後要記得更改一個東西
$ sudo dpkg-reconfigure dash
選否把 Ubuntu 用的 dash 改為 bash
3. 安裝boost C++ library
以下感謝 http://ubuntuforums.org/showthread.php?t=1180792
我是裝1.44.0版本的
1.37版本的裝法太長了就跳過
步驟a)安裝g++
應該10.04版有裝
請按
$ g++ --version
檢查是否有裝
如果沒裝就照下面指令安裝
$ sudo aptitude install build-essential g++
步驟b)編譯圖書館!?(誤
切到存放boost_1_XX_X.tar.bz2的資料夾
XX跟X都是數字
然後愉悅的解壓縮他
$ sudo tar -jxvf 存放的路徑/boost_1_XX_X.tar.bz2
接著進去解壓縮的資料夾內
就開始了麻煩的工程
$ sudo ./bootstrap.sh --exec-prefix=/usr/local --with-libraries=filesytem,program_options,system --libdir=/usr/lib/boost --includedir=/usr/include/boost --show-libraries
全部的路徑都可以自己爽
只是這樣最方便
之後要用也不需要更改環境變數
步驟c)安裝
終於到達最後一站!
只是boost的最後一站 0rz
$ sudo ./bjam
$ sudo ./bjam install
執行./bjam的時候有很長一段時間你會懷疑電腦是掛了嗎?
毫無反應
只是個沒有訊息的終端機
等一陣子就有反應了
4. 安裝GNU radio
一行KO
$ sudo apt-get install gnuradio
將usrp加入群組,讓非系統管理員也能熱插拔。
$ sudo usermod -G usrp -a openbts # 用你登入 ubuntu 的帳號來替代 open
$ su
$ echo 'ACTION=="add", BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", GROUP:="usrp", MODE:="0660"' > tmpfile
$ exit
$ sudo chown root.root tmpfile
$ sudo mv tmpfile /etc/udev/rules.d/10-usrp.rules
$ sudo /etc/init.d/udev stop
$ sudo /etc/init.d/udev start
$ ls -lR /dev/bus/usb | grep usrp
crw-rw---- 1 root usrp 189, 514 Mar 24 09:46 003
測試usrp
$ cd /usr/src/openBTS/gnuradio/gnuradio-examples/python/usrp
$ ./usrp_benchmark_usb.py
$ cd /usr/src/openBTS/gnuradio/usrp/host/apps
$ ./test_usrp_standard_tx
$ ./test_usrp_standard_rx
5. 安裝osip2
http://www.gnu.org/software/osip/
==============================================
OpenBTS 使用 osip2 的 SIP protocol 建立通話與整合PBX功能,
2.5 版以上需要 osip2 3.3版,早期版本需要 osip2 3.0版。
Ubuntu 9.04可直接安裝 (apt-get install) 3.1版 package,
Ubuntu 9.10 版則可安裝3.3版。若有需要不同版本,可自行取得原始碼編譯。
再度複製貼上
再度感謝學長辛苦的說明
$ cd /usr/src/
$ sudo wget http://ftp.gnu.org/gnu/osip/libosip2-3.3.0.tar.gz
$ sudo tar -zxvf libosip2-3.3.0.tar.gz
$ cd libosip2-3.3.0
$ su
$ ./configure
$ make
$ make install; exit
6. 安裝RTP libary oRTP
RTP libary oRTP
http://savannah.inetbridge.net/linphone/ortp/sources/
==============================================
OpenBTS底層的VoIP 使用 oRTP 的 RTP protocol 進行語音封包傳送,應使用 0.15 版以上。
Ubuntu 9.04版直接安裝 2.1.1 版 package,Ubuntu 9.10 版則可取得 3.1.2 版。
版本與 OpenBTS 描述有出入,建議可以取得原始碼加以編譯並安裝 (make install)。
繼續複製貼上
到http://download.savannah.gnu.org/releases/linphone/ortp/sources/下載
$ sudo tar -zxvf ortp-0.16.1.tar.gz
$ cd ortp-0.16.1
$ sudo ./configure
$ sudo make
$ sudo make install
7. 安裝asterisk
再度一行KO
$ sudo apt-get install asterisk sox asterisk-mysql asterisk-mp3
8. 安裝OpenBTS
$ sudo cd /usr/src/
$ sudo wget http://sourceforge.net/projects/openbts/files/openbts-2.5.3Lacassine.tar.gz/download
$ cd openBTS/
$ sudo tar -zxvf ../openbts-2.5.3Lacassine.tar.gz
$ export LIBS=-lpthread
$ cd /usr/local/include/
$ sudo ln -sf usrp/usrp_bytesex.h
$ sudo ln -sf usrp/usrp_standard.h
$ sudo ln -sf usrp/usrp_prims.h
$ cd /usr/src/openBTS/openbts-2.5.3Lacassine
$ ./configure
$ make
$ sudo make install
$ sudo mv /etc/asterisk/sip.conf /etc/asterisk/sip.ori_conf
$ sudo mv /etc/asterisk/extensions.conf /etc/asterisk/extensions.ori_conf
$ sudo cp AsteriskConfig/sip.conf /etc/asterisk/sip.conf
$ sudo cp AsteriskConfig/extensions.conf /etc/asterisk/extensions.conf
$ cd apps/
結論:我很懶得打安裝記錄