Build: GNU Radio3.5.X Ubuntu

如何在 Ubuntu 9.04 之后的版本上安装 GNU Radio 3.5.X

Ubuntu9.04版本以后,此安装流程可行

****************************************************************************
注意:命令带有#的可以不做,不必重复做

first,you should:
tar xvf archives.tar.gz -C /var/cache/apt
tar xvf source.tar.bz2 ~

以普通用户身份登录
磁盘需要有500M 的空余空间

sudo vim /etc/sudoers
添加:
Defaults  timestamp_timeout = 90
****************************************************************************
#export LC_LANG=C

#PATH=$PATH:/usr/libexec/sdcc
#export PATH

清除之前的安装记录:
#sudo apt-get -y purge 'gnuradio-*'
#sudo apt-get -y purge 'libgruel-*'
#sudo apt-get -y purge 'libgruel*'
#sudo apt-get -y purge 'libgruel0*'
#sudo apt-get -y purge 'libgnuradio*'
#sudo apt-get -y purge 'python-gnuradio*'

依赖文件:
sudo apt-get -y --ignore-missing install libfontconfig1-dev libxrender-dev libpulse-dev swig g++ \
automake autoconf libtool python-dev libfftw3-dev \
libcppunit-dev libboost-all-dev libusb-dev libusb-1.0-0-dev fort77 sdcc sdcc-libraries \
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 sdcc libxi-dev python-docutils gtk2-engines-pixbuf r-base-dev python-tk \
liborc-0.4-0 libasound2-dev

#PATH=$PATH:/usr/libexec/sdcc
#export PATH

check系统命令(看有没有版本记录)
sdcc --version
guile --version
git --version
cmake --version

看在/lib /usr/lib /usr/lib64 /lib64 几个目录下是否存在 libusb.*so libboost.*so libcppunit*.so libguile.*so libfftw*.so libgsl*.so
sudo find / -name 依次查找后边的动态库文件( libusb*.so libboost*.so libcppunit*.so libguile*.so libfftw*.so libgsl*.so
)
****************************************************************************

源码准备:(为了方便源码管理,请把所有下载的源码放在一个目录下边)

{
前边已经做过这两条可以不做
tar xf source.tar.bz2 ~
touch -R source
}

or you can get the source codes using git-tool,like this:

#mkdir ~/source    <<<<<<<<<<<<<<<
#cd ~/source    <<<<<<<<<<<<<<<

在当前目录下边下载gnuradio和UHD源码
#git clone --progress http://gnuradio.org/git/gnuradio.git
并保证下载后的gnuradio/gnuradio-core目录存在
#git clone --progress git://code.ettus.com/ettus/uhd.git
并保证下载后的uhd/host目录存在

在当前目录下边下载RTL-SDR源码
#git clone --progress git://git.osmocom.org/rtl-sdr
#git clone --progress git://git.osmocom.org/gr-osmosdr

****************************************************************************

编译:
-------------------------------------------
UHD build:

cd ~/source/uhd/host
创建编译目录    mkdir build
cd build
cmake ../
make clean
make
成功后 安装
sudo make install
重载配置
sudo ldconfig
--------------------------------------------
Firmware/FPGA images:
cd ~/source
mkdir wget-tmp
cd wget-tmp
下载文件   
#wget http://files.ettus.com/binaries/master_images/auto/current.tar.gz

#tar xf current.tar.gz
cd uhd-images_003.004.000-32-g51c81a39/share/uhd/images/

sudo mkdir -p /usr/local/share/uhd/images
sudo cp usrp*.* *.tag /usr/local/share/uhd/images
sudo chmod 644 /usr/local/share/uhd/images/*
-------------------------------------------
Gnuradio build:(注意:必须在UHD安装完成之后才能编译)

sudo ldconfig

#PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
#export PKG_CONFIG_PATH

cd ~/source/gnuradio
mkdir build
cd build
make clean
cmake ../
make clean
make
成功后 安装
sudo make install
重载配置
sudo ldconfig

sudo chmod 755 /usr/local/libexec/gnuradio/grc_setup_freedesktop
sudo /usr/local/libexec/gnuradio/grc_setup_freedesktop install (/usr/local/share/gnuradio/grc/freedesktop) 注意:这个路径是你安装gnuradio的路径中的grc/freedesktop文件的路径   ????????????????????????读
-------------------------------------------

RTL build:

cd ~/source/rtl-sdr
cmake .
make clean
make
成功后 安装
sudo make install
重载配置
sudo ldconfig

cd ~/source/gr-osmosdr
cmake .
make clean
make
sudo make install
sudo ldconfig

****************************************************************************

后配置:

sudo /usr/sbin/groupadd usrp
sudo /usr/sbin/usermod -a -G usrp USER(你所用的用户名)    注意:需要重新登录后此操作才生效

sudo cp ~/source/uhd/host/utils/uhd-usrp.rules /etc/udev/rules.d/10-usrp.rules
sodu vim /etc/udev/rules.d/10-usrp.rules
添加两行:
#SUBSYSTEMS=="usb", ATTRS{idVendor}=="fffe", ATTRS{idProduct}=="0002", MODE:="0666"
#SUBSYSTEMS=="usb", ATTRS{idVendor}=="2500", ATTRS{idProduct}=="0002", MODE:="0666"
#chmod 644 /etc/udev/rules.d/10-usrp.rules
重启HUP
#sudo killall -HUP udevd
#sudo udevadm control --reload-rules

sudo cp ~/source/rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/15-rtl-sdr.rules
重启HUP
#sudo killall -HUP udevd
#sudo udevadm control --reload-rules

修改/etc/sysctl.conf文件

# Updates for Gnu Radio
net.core.rmem_max = 1000000
net.core.wmem_max = 1000000
kernel.shmmax = 2147483648

sudo sysctl -w net.core.rmem_max=1000000
sudo sysctl -w net.core.wmem_max=1000000
sudo sysctl -w kernel.shmmax=2147483648 

sudo vim /etc/security/limits.conf
添加一行
@usrp  - rtprio 50
-------------------------------------------

添加系统环境变量

vim ~/.bashrc添加一句
export PYTHONPATH=/usr/local/lib/python2.7/dist-packages/ 注意:不同版本的python名字会有差异,请自己确定python目录

重新启动系统


****************************************************************************


Comments