A new installation of SVXlink – the Do It Yourself method. Part 1 of 3

Whilst some portions of this article are still current, I would refer you to the later version in which I describe the whole installation using Raspbian Buster/Stretch and version 19.09.1.


A PC with imagewriter installed, internet access and an sdcard slot.

A downloaded image of Raspbian Jessie, obtainable from several sources, and an SD card of at least 8gb.

A Raspberry of any flavour, or Orange PI or Banana PI, but we will refer to the Raspberry in this instance.

HDMI Monitor, keyboard and mouse. Time, patience and coffee!

Please let’s not be tempted to use a preprepared image as we will not learn anything and we will most certainly get lost.

The instructions.

1. Lets follow the instructions in imagewriter to upload the image from the PC to the sdcard.

2. Now we transfer the card to the Raspberry. Before turning on we ensure that we have a supply of 5 Volts of at least 2 Amps.

3. Attach the keyboard mouse and monitor, and network cable and start it up. On a PI B+ you will see a single Raspberry on the screen, and for on a PI 2 and PI 3. On first boot both systems will display a working desktop. First time start up will require access to the setup menu, where you will need to expand the operating system into the full size of the card. The option is clearly marked. Reboot the raspberry from the menu. Never turn the raspberry off without a shutdown command, you risk corrupting the filing system.

4. After reboot from the same menu we set our region, keyboard, language and time zone, and in the advanced settings the name of your device and password, and if you want to run headless then you can turn off the desktop at this stage and reboot. Don’t forget to note the name and password!

I am now going to talk about running in a terminal screen, which is the default screen with the desktop turned off, or if we prefer to run with the desktop then a terminal is always available from the apps menu. The same instructions from here will still apply. If

5. In the terminal window we will signing in as pi and the default password raspberry if we have not elected to change it earlier.

6. You are now running raspbian Debian a form of Linux. And it’s easy! The first thing you need to do is to is firstly update the firmware ,sudo apt-get dist-upgrade, if it is a device that has not been used before. The chances are that if it is a new device then this will be unnecessary. Wait for all updates and a screen prompt before continuing.

7. Now we update the operating system by typing sudo apt-get update to update the internal directory structure, followed by sudo apt-get upgrade, to get all the updates installed and upgraded. The instruction sudo must be used prior to all coding, to ensure proper permissions are given to the folders that will be created. This will apply to the following installations. Again wait for all the updates to occur and a prompt before continuing.

8. Now we begin to install what we need for the new SVXlink. First we need to create a new user so, sudo accuser svxlink where you will be prompted for a password and other information. By all means go fill it in, but only the software uses this parameter. Yes of course note the password.

9. The next part will be tedious but necessary for a clean installation.

The following software is installed by sudo apt-get install name_of_package.

  • gcc/g+\+: The GNU C/C++ compiler (Required)
  • make: The Make build tool (Required)
  • cmake: Version 2.8 or later. A makefile generator (Required)
  • groff: Needed to build manual pages (Recommended)
  • gzip: Needed to compress manual pages (Recommended)
  • doxygen: Used to build developer documentation (Optional)
  • tar: Needed to unpack downloaded source archives (Recommended)
  • git: Needed to download bleeding edge/experimental source code (Optional)

SvxLink depend on some third party libraries. Since packages are named differently indifferent distributions you need to do some research to find out exactly what the packages are called in your distribution. Packages usually are devided in two parts, a runtime part and a development part. Both are needed to compile SvxLink. The development packages usually have a name ending in “-dev” or “-devel”. So type sudo apt-get install package-dev. You may be prompted for a different package name or development number.

  • libsigc++: Version 2. A callback handling framework (Required)
  • libpopt: Parse command line options (Required)
  • tcl: The TCL scripting language (Required) try sudo apt-get install tcl8.4-dev here.
  • libgcrypt: Cryptographic functions (Required)
  • libasound: Alsa sound system support (Recommended)
  • libgsm: GSM audio codec (Required)
  • libspeex: The Speex audio codec (Optional)
  • librtlsdr: Support for RTL2832U DVB-T/SDR USB dongles (Optional)
  • libqt: Version 4. Framework for graphical applications ( libqt4-dev )

There also are some runtime dependencies which normally is needed to run a SvxLink system.

  • alsa-utils: Alsa tools for configuring sound levels etc (sudo apt-get install alsa-utils)
  • opus-tools: Encode/decode Opus sound files (Optional – you can omit this.)

This is quite time consuming and you may not find the app first time or an equivalent is prompted.

Now sudo adduser svxlink, and a suitable password and rest of the information. It is not used except by the software.

Once you have all these we can proceed to the next step.

10. sudo git clone https://github.com/sm0svx/svxlink.git . This will download the latest version of svxlink from the source. It creates a folder of its own in the home directory of our user name.

11. cd svxlink/src is the next command to change directory where we will then create a new directory: sudo mkdir build and change to this directory cd build.

12. The next instructions will start the install that will take some time, so lets have a coffee as it does its business. Each instruction needs to be typed exactly as we see it, including the two .. at the end of instruction 1.

      -DLOCAL_STATE_DIR=/var ..
sudo make
sudo make doc 
sudo make install 
sudo ldconfig

That’s the install, now for the configuration. Things are getting exciting!

Published by


Radio Amateur and Professional Radio Operator and IT professional for over 40 years so don't say I know little of what I say.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.