Instructions for System Setup and Configuration
Contents
- 1 Author
- 2 Introduction
- 3 Step 1: Install Xubuntu 24.04.3
- 4 Step 2: Installation Settings
- 5 Step 3: Apply Updates
- 6 Step 4: Install Dependencies
- 7 Step 5: Create a folder for GIT repositories=
- 8 Step 6: Create a work area folder
- 9 Step 7: Download the slides and materials
- 10 Step 8: Unzip the materials
- 11 Step 9: Install UHD 4.9
- 12 Step 10: Install VOLK
- 13 Step 11: Install GNU Radio
- 14 Step 12: Update the Bash shell file
Author
Neel Pandeya
Introduction
This document provides instructions for attendees to setup and configure their laptop or desktop computer system for use with the hands-on exercises and labs for the "USRP Open-Source Toolchain: UHD and GNU Radio" Workshop/Tutorial.
This document assumes that you are using a USRP B200/B210 radio, although the USRP X300/X310, N300, N310, N320, N321, X410 may also be used as well.
In some sessions, the radio will be provided to you, but in other sessions you will need to provide your own radio. Check this with the organizer of your session.
Your laptop or desktop computer should be no more than about seven years old, with an Intel i5, i7, or i9 CPU, or AMD equivalent, running at a 3.5 GHz clock speed or higher, with 8 GB memory, and at least one USB 3.0 port (for USRP B200/B210 radios) and one RJ-45 Ethernet port (for other USRP radios). You will need about 30 GB of free disk space for the Linux installation. You will need to have internet access during the entire installation, set-up, and configuration process.
Also note that all of this is optional. You only have to do this if you want to use the USRP in the workshop to do the hands-on exercises, and actually use the USRP radio. If you do not want to do this, and if you simply want to sit back and watch the instructor's presentation, then you can skip all of this, and just come to the workshop with a cup of coffee.
Step 1: Install Xubuntu 24.04.3
Install Xubuntu 24.04.3. You may also install Ubuntu itself, or any other Ubuntu flavor, such as Kubuntu, Lubuntu, Cinnamon, MATE, or Linux Mint. We recommend using Xubuntu because it is very light-weight, and the user-interface is easy-to-use and intuitive, and it runs fast on older or resource-constrained hardware.
https://ubuntu.com/desktop/flavors
Please install on-the-metal, not in a Virtual Machine (VM). Please install specifically version 24.04.3.
If you already have an existing Windows or Linux installation on your computer, then you can install Ubuntu or Xubuntu alongside your already-existing operating system, in a dual-boot configuration. The installer will ask you about this, and it supports installing in a dual-boot configuration. However, note that there can be some challenges when dual-booting with Windows 11, and this may not be easy to set up and may not work well.
You can download the ISO images for Xubuntu from the links below. Write the ISO image to a USB 3.0 drive, and boot from it, and install Xubuntu.
https://cdimage.ubuntu.com/xubuntu/releases/noble/release/
Step 2: Installation Settings
During the Ubuntu/Xubuntu installation process, set the username to be "ettus". This is not strictly necessary, but if you do this, then it will make all the commands in the installation instructions and in the exercises work more easily. The hostname does not matter. Do not use any disk encryption. Do not enable any volume management.
Step 3: Apply Updates
Once the installation is complete, boot into it, and open a terminal window, and apply updates. Run the commands listed below, in a terminal window.
sudo apt update sudo apt upgrade
Step 4: Install Dependencies
Install the package dependencies for UHD, GNU Radio, and other tools. Run the commands listed below, in a terminal window.
sudo apt install openssh-server htop tree lshw meld libfftw3-bin ncurses-bin libncurses6 libncursesw6
sudo apt-get install autoconf automake build-essential ccache cmake cpufrequtils doxygen ethtool g++ git inetutils-tools libboost-all-dev libncurses6 libncurses-dev libusb-1.0-0 libusb-1.0-0-dev libusb-dev python3-dev python3-mako python3-numpy python3-requests python3-scipy python3-setuptools python3-ruamel.yaml
sudo apt install git cmake g++ libboost-all-dev libgmp-dev swig python3-numpy python3-mako python3-sphinx python3-lxml doxygen libfftw3-dev libsdl1.2-dev libgsl-dev libqwt-qt5-dev libqt5opengl5-dev python3-pyqt5 liblog4cpp5-dev libzmq3-dev python3-yaml python3-click python3-click-plugins python3-zmq python3-scipy python3-gi python3-gi-cairo gir1.2-gtk-3.0 libcodec2-dev libgsm1-dev libusb-1.0-0 libusb-1.0-0-dev libudev-dev python3-setuptools python3-pygccxml python3-thrift libqwt-qt5-6 libqwt-qt5-dev python3-pyqt5.qwt python3-qwt3d-qt5 libspdlog-dev libspdlog1.12 pybind11-dev python3-cppimport python3-pybind11 python3-pybindgen
Step 5: Create a folder for GIT repositories=
Create a folder to hold all the GIT repositories. Run the commands listed below, in a terminal window.
mkdir $HOME/git
Step 6: Create a work area folder
Create a folder to hold workshop materials and for running exercises. Run the commands listed below, in a terminal window.
mkdir $HOME/workarea
Step 7: Download the slides and materials
Download the slides and materials for the workshop. Run the commands listed below, in a terminal window.
wget -P $HOME/workarea https://kb.ettus.com/images/a/ab/Workshop_GnuRadio_Materials_20171212.tar.gz wget -P $HOME/workarea https://kb.ettus.com/images/f/fd/Workshop_GnuRadio_Slides_20250802.pdf
Step 8: Unzip the materials
Unzip the workshop materials file. Run the commands listed below, in a terminal window.
cd $HOME/workarea tar zxvf Workshop_GnuRadio_Materials_20171212.tar.gz
Step 9: Install UHD 4.9
Install UHD version 4.9, and download all the USRP FPGA image files. Run the commands listed below, in a terminal window.
cd $HOME/git git clone http://github.com/EttusResearch/uhd.git cd uhd/host mkdir build cd build git checkout v4.9.0.0 cmake ../ make -j4 sudo make install sudo ldconfig sudo uhd_images_downloader
Step 10: Install VOLK
Install the VOLK library. This used to be bundled with GNU Radio, but now it's broken out as a separate library. Run the commands listed below, in a terminal window.
git clone --recursive https://github.com/gnuradio/volk.git cd volk mkdir build cd build git checkout v3.2.0 cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ../ make -j4 sudo make install sudo ldconfig
Step 11: Install GNU Radio
Install GNU Radio version 3.10.12. Run the commands listed below, in a terminal window.
cd $HOME/git git clone http://github.com/gnuradio/gnuradio.git cd gnuradio mkdir build cd build git checkout v3.10.12.0 cmake ../ make -j4 sudo make install sudo ldconfig
Step 12: Update the Bash shell file
Add the following lines the end of your $HOME/.bashrc file. You can use a graphical text editor such as Gedit or Mousepad.
First, open the file using either the Gedit or Mousepad text editor.
mousepad $HOME/.bashrc gedit $HOME/.bashrc
Next, add the two lines listed below to the very end of the file, and save it.
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH export PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/local/lib/python3.12/site-packages:$PYTHONPATH
Then, exit and close the text editor, and exit and close the terminal window, and open a brand-new terminal window.