Установка SVXLINK из исходников

создан в 2018 / обновлено в 2026

Инструкция по сборке и установке SvxLink из исходных кодов, на Raspberry_Pi c SD-картой не менее 8Гб, для подготовленных радиолюбителей.


Подготовка

Скачиваем свежий Raspberry Pi Imager, выбираем образ Lite, для вашей платы и создаём загрузочную SD-карту. Нужно будет указать логин и пароль, подключение к wifi (если нужно) и включить sshd.

На платы Raspberry_Pi, выпущенные до 2017 года (версия B без плюса) лучше устанавливать 32-х битную версию Raspberry Pi OS. Скорость работы и стабильность будет выше.

Вставляем SD-карту в плату, подаём питание, подключаемся к локальной сети, ждём пару минут, В роутере смотрим на присвоенный IP.

Подключаем интерфейс для радиостанции или звуковую карту с гарнитурой (для тестирования и предварительной настройки).

####


Установка

Заходим в консоль программой PuTTY (вводим IP платы и юзер/пароль тот который вы указали). Приведённые ниже команды, нужно по очереди копировать в консоль и смотреть на результат!

Обновляемся
sudo apt update
sudo apt upgrade -y
Добавляем необходимые библиотеки и программы
sudo apt-get -yq install gcc g++ make cmake tcl-dev git git-core mc curl rtl-sdr groff
sudo apt-get -yq install libgcrypt-dev libgcrypt20-dev libgsm1-dev libsigc++-2.0-dev
sudo apt-get -yq install libspeex-dev libasound2-dev libpopt-dev libssl-dev libopus-dev
sudo apt-get -yq install libjsoncpp-dev libgpiod-dev gpiod librtlsdr-dev libogg-dev
sudo apt-get -yq install ca-certificates doxygen alsa-utils vorbis-tools
sudo apt-get -yq install libcurl4-openssl-dev libcurl4-openssl-dev ladspa-sdk
Создаём пользователя svxlink, с нужными правами
sudo useradd -rG audio,plugdev,dialout svxlink
sudo gpasswd -a svxlink gpio
sudo gpasswd -a svxlink tty
Скачиваем исходный код в домашнюю папку текущего пользователя
cd ~
git clone https://github.com/sm0svx/svxlink.git
mkdir svxlink/src/build
cd svxlink/src/build
Проверяем конфигурацию, смотрим чего не хватает
cmake -DUSE_QT=OFF -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var -DWITH_SYSTEMD=ON ..
Если Systemd не нужен, пишем так
cmake -DUSE_QT=OFF -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var -DCMAKE_BUILD_TYPE=Release ..
Если ошибок нет, компилируем и устанавливаем (время компиляции длится 10-30 минут).
make
make doc
sudo make install
sudo ldconfig
Теперь, устанавливаем два набора звуков (в одном файле), русскоязычный комплект, как основной и дополнительный англоязычный (спасибо ua6hjq):
wget http://ua6hjq.qrz.ru/files/svxlink-sounds-ru-16k.tgz
sudo tar xvf svxlink-sounds-ru-16k.tgz -C /
sudo chown -R svxlink:svxlink /usr/share/svxlink/sounds

Как показала практика, svxlink иногда, использует звуки из англоязычного комплекта, даже если в настройках указан другой набор звуков. Поэтому в архиве два языка, такая комбинация будет оптимальной.

Откройте конфигурационный файл и установите русскоязычные звуки

sudo mcedit /etc/svxlink/svxlink.conf

DEFAULT_LANG=ru вместо DEFAULT_LANG=en_US


Настройка

Итак, у нас есть собранный и установленный svxlink, который нужно настроить путём редактирования этих файлов

sudo mcedit /etc/svxlink/svxlink.conf
sudo mcedit /etc/svxlink/gpio.conf
Настройка описана в другой статье, а здесь примеры минимальных настроек svxlink.conf и gpio.conf для первого запуска svxlink.


Запуск

Если ранее вы выбрали ...SYSTEMD=ON, будет правильно запустить svxlink в режиме демона и включить автозапуск, чтобы он стартовал самостоятельно. Делаем так:

sudo systemctl enable --now svxlink

Запуск, остановка и перезапуск (в режиме демона) делается так

sudo systemctl start svxlink
sudo systemctl stop svxlink
sudo systemctl restart svxlink

Чтобы запустить svxlink в консоли (если вы его собрали без Systemd), набираем

sudo -u svxlink svxlink

Увидеть что делает svxlink, в реальном времени, посмотреть ошибки, можно так

tail -f /var/log/svxlink

для выхода нажмите Ctrl+C


Обновление

Чтобы иметь всегда свежую версию svxlink, обновите исходный код так:

sudo systemctl stop svxlink
cd ~/svxlink/src/build
git pull
make clean
........

и далее повторяем компиляцию (как описано выше) начиная со строки cmake .... Ваша рабочая конфигурация в /etc/svxlink/ останется не тронутой. После обновления, вы можете запустить svxlink и работать.


Удаление

Если вы зашли в тупик! Линк не работает! Всё пропало ;-), проще удалить svxlink и поставить заново. Для этого остановим его:

sudo systemctl stop svxlink
sudo systemctl stop remotetrx
sudo systemctl stop svxreflector
sudo systemctl stop svxlink_gpio_setup
sudo killall svxlink
sudo pkill -u svxlink

Теперь, удаляем папки и файлы

sudo rm -f /usr/lib/arm-linux-gnueabihf/libasynccor* /usr/lib/arm-linux-gnueabihf/libasynccpp* /usr/lib/arm-linux-gnueabihf/libecholib*
sudo rm -f /usr/lib/arm-linux-gnueabihf/libasyncaudio* /usr/lib/arm-linux-gnueabihf/libsvxmisc.a
sudo rm -rf /usr/lib/arm-linux-gnueabihf/svxlink /usr/share/svxlink /usr/share/doc/svxlink /usr/include/svxlink
sudo rm -f /usr/sbin/svxlink* /usr/bin/svx* /usr/bin/remotetrx /usr/bin/siglevdetcal /usr/bin/devcal
sudo rm -rf /etc/svxlink /etc/default/svx* /etc/default/remotetrx /etc/systemd/system/svx*

Удаляем сервисы (если вы их ставили)

sudo rm -f /lib/systemd/system/svxlink_gpio_setup.service /lib/systemd/system/svxlink.service
sudo rm -f /lib/systemd/system/remotetrx.service /lib/systemd/system/svxreflector.service

Перезагружаемся

sudo reboot


Особенности 32 bit

Если у вас установлена 32-х битная версия Raspberry Pi OS, то, после установки, нужно вручную создать каталоги и скопировать в них файлы:

sudo mkdir /usr/lib/aarch64-linux-gnu
sudo mkdir /usr/lib/aarch64-linux-gnu/svxlink
sudo cp /usr/lib/arm-linux-gnueabihf/svxlink/* /usr/lib/aarch64-linux-gnu/svxlink/
После этого, проверьте соответствие номеров GPIO:
cat /sys/kernel/debug/gpio
Если GPIO изменились, для активации PTT и COS, выполняем команды:
# PTT GPIO 9
echo 521 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio521/direction

# COS GPIO 18
echo 530 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio530/direction


Статьи

Installation Instructions
InstallSrcHwRpi
Using a USB Audio Device with the Raspberry Pi
Установка SvxLink из репозитория
Настройка SvxLink
Возможности SvxLink

UA6HJQ