关于离线安装GNURadio官方已经有教程了,安装过程中根据自己实际操作记录下一些坑:
https://kb.ettus.com/Building_and_Installing_UHD_and_GNU_Radio_in_an_Offline_Environment
安装虚拟机VMware和操作系统
VMware是15.0.4版本,网上有一堆教程就不说了,安装完随便找一个激活码即可。
安装Ununtu 16.04.6的教程也有很多,不过安装的时候也出现了一些问题,总结一下:
- 中间有个新建虚拟机向导环节,此时如果直接选择中间那一项,安装过程会直接将VMwareTools安装,但是这种安装方法结束后是无法选择语言的,也不能播放音乐,感觉有很多弊端。所以还是选择第三项。
可参考以下链接: - 安装完之后要进行VMwareTools的安装,参考教程:
-
记得安装完之后重启才能正常复制粘贴。 - 安装完随便粘贴一个音频文件到Ubuntu中测试声音,发现没有声音,需要进行以下设置才行:
安装GNURadio和UHD版本
操作系统:Ununtu 16.04.6
UHD新版本:3.14.0.HEAD-0-g6875d061(查看指令:uhd_usrp_probe --version)
GNURadio新版本:3.7.13.5(查看指令:gnuradio-config-info -v)
安装依赖包
首先安装依赖包,找一个上网机,最好也是新装的ubuntu系统,通过以下指令:
sudo apt-get update
将系统的软件包进行更新,这也是进行下面步骤的前提。
sudo apt-get install下载好的软件存放位置:/var/cache/apt/archives
如果有变动,则用aptitude download XXXX命令,此命令不需要 root 权限,下载的软件包就放在当前目录下。我在Ubuntu 16.04系统上,则可以新建一个文件夹并用以下命令:
aptitude download git swig cmake doxygen build-essential libboost-all-dev libtool libusb-1.0-0 libusb-1.0-0-dev libudev-dev libncurses5-dev libfftw3-bin libfftw3-dev libfftw3-doc libcppunit-1.13-0v5 libcppunit-dev libcppunit-doc ncurses-bin cpufrequtils python-numpy python-numpy-doc python-numpy-dbg python-scipy python-docutils qt4-bin-dbg qt4-default qt4-doc libqt4-dev libqt4-dev-bin python-qt4 python-qt4-dbg python-qt4-dev python-qt4-doc python-qt4-doc libqwt6abi1 libfftw3-bin libfftw3-dev libfftw3-doc ncurses-bin libncurses5 libncurses5-dev libncurses5-dbg 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 libsdl1.2-dev python-wxgtk3.0 git-core libqt4-dev python-numpy ccache python-opengl libgsl-dev python-cheetah python-mako python-lxml doxygen qt4-default 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 gtk2-engines-pixbuf r-base-dev python-tk liborc-0.4-0 liborc-0.4-dev libasound2-dev python-gtk2 libzmq-dev libzmq1 python-requests python-sphinx libcomedi-dev python-zmq python-setuptools
这样依赖包deb文件就会下载到当前文件夹下,下载完毕后可以将所有deb文件拷贝至非上网机上,所有deb包都在/var/cache/apt/archives中。
但是为了保险起见,最好在上网机上完成一次依赖包的安装,确保所有的包都能安装,注意这一步一定要确定所有的软件包都已被正确安装,不然一会在离线机上安装的时候会出现各种各样的错误。
sudo apt-get -y install git swig cmake doxygen build-essential libboost-all-dev libtool libusb-1.0-0 libusb-1.0-0-dev libudev-dev libncurses5-dev libfftw3-bin libfftw3-dev libfftw3-doc libcppunit-1.13-0v5 libcppunit-dev libcppunit-doc ncurses-bin cpufrequtils python-numpy python-numpy-doc python-numpy-dbg python-scipy python-docutils qt4-bin-dbg qt4-default qt4-doc libqt4-dev libqt4-dev-bin python-qt4 python-qt4-dbg python-qt4-dev python-qt4-doc python-qt4-doc libqwt6abi1 libfftw3-bin libfftw3-dev libfftw3-doc ncurses-bin libncurses5 libncurses5-dev libncurses5-dbg 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 libsdl1.2-dev python-wxgtk3.0 git-core libqt4-dev python-numpy ccache python-opengl libgsl-dev python-cheetah python-mako python-lxml doxygen qt4-default 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 gtk2-engines-pixbuf r-base-dev python-tk liborc-0.4-0 liborc-0.4-dev libasound2-dev python-gtk2 libzmq-dev libzmq1 python-requests python-sphinx libcomedi-dev python-zmq python-setuptools
在离线机上进入deb包存放文件夹打开终端,用如下指令进行安装:
sudo dpkg -i *.deb
此指令将会把文件夹中所有的deb文件都安装,安装完之后一定要检查是否所有deb包都已经安装成功,如果无法安装一般是缺少相应的依赖包或者版本冲突,此时最好查找相应的依赖包进行安装或者卸载冲突的依赖包,这也是强调最好用新的系统进行安装的原因,比较纯净。一开始忽略了部分deb包的安装,结果UHD安装没问题,但在gnuradio安装的时候(make的时候)总是报错,还得回过头来找问题,即使解决了重新安装gnuradio的时候还是报错,因为有些配置已经固定了,所以不要侥幸。
UHD安装
同在我前面文章说过的一样,在地址为:http://files.ettus.com/binaries/uhd_stable/src/ 下载的UHD3.14,在cmake …/的时候总是会报错。此处可下载 https://github.com/EttusResearch/uhd中UHD安装包拷贝至非上网机上,在uhd/host文件夹下打开终端,输入以下指令:
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig
由于我在这里没有装USRP,所以UHD安装先到此结束。
GNURadio安装
下载地址:https://github.com/gnuradio/gnuradio,可以选择安装版本,我的是v3.7.13.5,下载完之后拷贝至非上网机上。
解压后在本文件夹下打开终端,可以进行安装:
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig
与UHD安装步骤一样,此安装过程较长。
但要注意的是:通过上述连接下载的安装包volk文件夹内可能没有文件,需要到GitHub上单独下载(就在原目录),否则会导致cmake …/的时候出现错误提示。至此就完成了安装。
测试
可通过以下指令查看UHD版本:uhd_usrp_probe --version
可通过以下指令查看Gnuradio版本:gnuradio-config-info -v