GNU Radio源代码编译安装
文章介绍了如何在 Docker 容器中创建构建环境,从源代码构建安装 GNU Radio。使用的开发环境为:
- 宿主机:Manjaro Linux 24.1.2
- Docker:27.2.1
- GNU Radio:3.10.11.0
GNU Radio 介绍
GNU Radio 是一个开源免费的软件开发工具包,提供信号处理模块来实现软件无线电1。可以与现有的低成本外部RF硬件一起使用,创建软件定义无线电,或者在模拟环境中脱离硬件使用。它广泛用于研究、工业、学术界、政府和业余爱好者环境,支持无线通信研究以及实际的无线电系统。
一般来说,大多数用户使用二进制安装的方式应该是足够的,尤其是对 GNU Radio 新手来说。然而,如果有特殊要求、想要最新版本或者二进制包无法安装到特殊环境,那么就可能想从源代码中安装GNU无线电。
注意:
- 默认配置下,GNU Radio 会被安装到系统的
/usr/local
文件夹下,可以在运行CMake
配置时通过设置-DCMAKE_INSTALL_PREFIX
参数指定安装到其他任意位置。- 运行和开发
out-of-tree
模块,不需要从源代码中安装 GNU Radio。- 本文不适用于 Raspberry Pi。
- 本文不适用于 conda。
基础容器配置
基础容器配置可以参考博文《manjaro安装使用docker》,主要步骤如下:
- 安装Docker,配置Docker国内镜像源。
- 拉取 archlinux 镜像,启动容器。
- 配置容器中的包管理工具使用国内镜像源。
- 创建普通用户并设置其权限。
- 安装终端 zsh,设置 zsh 主题。
启动容器
运行一下命令,以普通用户进入容器。
docker run -it --name gnuradio -u qicz archlinuxbase:1.0 /bin/zsh
进入容器后,最好更新一下包和系统,否则在安装依赖时容易出错。
# 切换到root更新
su
sudo pacman -Syyu
#切换回普通用户
su qicz
依赖安装
包括如下依赖:
- git
- gcc 编译器
- CMake 构建工