= Installation procedure for UHD 003.005.002 and GNU Radio v3.6.4.1 on Ubuntu v12.04 = 1. Load baseline ubuntu 12.04 image onto node 2. Build UHD from source code (http://code.ettus.com/redmine/ettus/projects/uhd/wiki/UHD_Build) a. From the root directory download the source tar ball: {{{ root@node1-1:~# wget https://github.com/EttusResearch/UHD-Mirror/archive/release_003_005_002.tar.gz root@node1-1:~# tar -zxvf release_003_005_002.tar.gz root@node1-1:~# mv UHD-Mirror-release_003_005_002/ uhd }}} b. Download prerequisites for UHD {{{ root@node1-1:~# apt-get update root@node1-1:~# apt-get -y install emacs libboost1.48-all-dev libusb-1.0-0-dev python-cheetah doxygen python-docutils git cmake libncurses5-dev libfftw3-3 libfftw3-dev }}} c. Build UHD (http://files.ettus.com/uhd_docs/manual/html/build.html#build-dependencies) {{{ root@node1-1:~# cd uhd/host root@node1-1:~/uhd/host# mkdir build root@node1-1:~/uhd/host# cd build root@node1-1:~/uhd/host/build# cmake ../ root@node1-1:~/uhd/host/build# make root@node1-1:~/uhd/host/build# make test root@node1-1:~/uhd/host/build# make install }}} d. Set up library path {{{ root@node1-1:~# echo "include /root/uhd/host/build/lib" >> /etc/ld.so.conf root@node1-1:~# ldconfig }}} e. Update network interfaces to enable eth2. Add following line to /etc/network/interfaces {{{ auto eth2 iface eth2 inet static address 192.168.10.1 netmask 255.255.255.0 broadcast 192.168.10.255 }}} f. Add following lines to /etc/sysctl.conf {{{ net.core.rmem_max=50000000 net.core.wmem_max=1048576 }}} 3. Build GNU from source code (http://gnuradio.org/redmine/projects/gnuradio/wiki/BuildGuide) a. From the root directory get source code in tarball {{{ root@node1-1:~# wget http://gnuradio.org/releases/gnuradio/gnuradio-3.6.4.1.tar.gz root@node1-1:~# tar -zxvf gnuradio-3.6.4.1.tar.gz root@node1-1:~# mv gnuradio-3.6.4.1 gnuradio }}} b. Download pre-reqs (http://gnuradio.org/redmine/projects/gnuradio/wiki/UbuntuInstall) {{{ root@node1-1:~# apt-get -y install libfontconfig1-dev libxrender-dev libpulse-dev swig g++ automake autoconf libtool python-dev libfftw3-dev libcppunit-dev libboost1.48-all-dev libusb-dev libusb-1.0-0-dev fort77 libsdl1.2-dev python-wxgtk2.8 git-core guile-1.8-dev libqt4-dev python-numpy ccache python-opengl libgsl0-dev python-cheetah python-lxml doxygen qt4-dev-tools libusb-1.0-0-dev libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools python-qwt5-qt4 cmake git-core wget libxi-dev python-docutils gtk2-engines-pixbuf r-base-dev python-tk liborc-0.4-0 libasound2-dev python-gtk2 }}} c. Build GNU Radio (http://gnuradio.org/redmine/projects/gnuradio/wiki/BuildGuide#III-Start-the-build-process) {{{ root@node1-1:~# cd gnuradio root@node1-1:~/gnuradio# mkdir build root@node1-1:~/gnuradio/build# cd build root@node1-1:~/gnuradio/build# cmake ../ root@node1-1:~/gnuradio/build# make root@node1-1:~/gnuradio/build# make test root@node1-1:~/gnuradio/build# make install }}} d. Set up Python path variable {{{ root@node1-1:~# PYTHONPATH=/usr/local/lib/python2.7/dist-packages/ root@node1-1:~# export PYTHONPATH root@node1-1:~# ldconfig }}} 4. Finally reboot the node and then ssh back in. {{{ root@node1-1:~# reboot }}} 5. To test out the UHD install {{{ root@node1-1:~# uhd_find_devices }}} and {{{ root@node1-1:~# uhd_usrp_probe }}} 6. To test out gnu radio install {{{ root@node1-1:~# gnuradio-config-info -v }}}