使用Manjaro制作SDR业余软件无线电LiveDVD发行版

Manjaro 是一款基于 Arch Linux 的滚动发行版操作系统,以用户友好性和稳定性著称。它继承了 Arch Linux 的轻量级、高性能特性,同时通过简化安装和配置流程降低了使用门槛。Manjaro 默认提供多种桌面环境选项(如 KDE Plasma、GNOME、XFCE),适合从新手到高级用户的不同需求。它有很多独特之处:

滚动更新 :定期推送软件更新,无需重装系统即可获取最新功能。
硬件兼容性 :内置硬件检测工具(如 MHWD),支持自动安装显卡驱动和内核管理。
软件管理 :提供图形化工具(Pamac)和命令行工具(pacman),支持 AUR(Arch User Repository)访问海量社区维护的软件。
方便制作LiveDVD:build-iso工具可以轻松协助用户定制自己的LiveDVD。这对发布SDR 0 配置傻瓜包很有意义。

在前文中,笔者已经介绍了如何制作Live镜像。本节接着上一篇文章,叙述如何制作开箱即用的LiveDVD, 作为玩具SDR taskBus的Linux发行版

1. 向Packages-Desktop增补必要的软件包

在iso-profiles/manjaro/xfce/Packages-Desktop文件里,存储了Live系统中预装的软件包。为了支撑taskBus、gqrx等软件的运行,添加软件包如下:

txt 复制代码
qt6
qtcreator
cmake
base-devel
gcc
gdb
git
valgrind
fftw
libuhd
libiio
htop
btop
screen
qwt
librdkafka
libpcap
geany
boost
cpupower
ninja
partitionmanager
vlc
wireshark-qt
putty
remmina
rtl-sdr
postgresql-libs
mariadb-libs
mariadb-clients
intel-ucode
gqrx
python-gnuradio
gnuradio
gnuradio-companion
gnuradio-utils
libvolk
iptux
filezilla
libbacktrace
nmap
vulscan
zenmap
inkscape
gimp
libreoffice-still-zh-cn
jdk-openjdk
npm
python-numpy
python-scipy
python-wheel
python-sqlalchemy
docker
virtualbox
virtualbox-guest-iso
linux617-rt-virtualbox-host-modules
octave
cauchy
postgresql
postgis
qgis
dbeaver
code
vscode-json-languageserver
vscode-css-languageserver
vscode-html-languageserver
codeblocks
fcitx5
fcitx5-chinese-addons
fcitx5-configtool
fcitx5-gtk
fcitx5-qt
fcitx5-pinyin-zhwiki
manjaro-asian-input-support-fcitx5
peek
libuhd-docs
libuhd-utils
python-uhd
soapyuhd
soapyplutosdr
soapyremote
python-simplesoapy
soapyaudio
soapybladerf
soapyhackrf
soapynetsdr
soapyosmo
soapyremote
soapysdr
rtl_433
airspy
inspectrum
qspectrumanalyzer
soapy_power
audacity
tenacity
lame
libosmosdr
soapyosmo

2. 拷贝代码和资源到Live的文件夹

2.1 拷贝代码到LiveDVD home文件夹

在iso-profiles/manjaro/xfce/desktop-overlay/etc/skel/文件夹下的所有内容,都会覆盖到Live的Home目录。

对于本次需求,我们拷贝所有的源代码到这个文件夹下,类似:

2.2 拷贝UHD FPGA Images到LiveDVD share文件夹

包安装器一般只能安装libuhd,我们可以把主机的/usr/share/uhd/images的内容拷贝到发布文件夹:

bash 复制代码
cp -R /usr/share/uhd/images/ ~/iso-profiles/manjaro/xfce/desktop-overlay/usr/share/uhd/

拷贝后,文件夹类似:

这样,在执行 uhd_usrp_probe时,就能直接找到FPGA镜像了。

3. 首次构造iso

执行命令:

bash 复制代码
buildiso -p xfce -k linux617-rt -b stable

这里使用6.17实时内核,可以提高吞吐率。

构造后,出现了iso文件

/var/cache/manjaro-tools/iso/manjaro/xfce/X.X/*.iso

4. 启动iso进行试运行

使用VMWare随便构造一个虚拟机,启动ISO,这样可以避免烧录。我们只有在虚拟机里运行妥帖了,才烧录。

4.1 启动并选择中文环境

启动虚拟机后,在lang里选择中文:

而后,选择开源驱动或者商用驱动选项进入系统。

4.2 编译运行并同步配置

在虚拟机中启动LiveDVD,打开编译环境,编译源码后,在桌面创建快捷方式。这一步里,很可能会发现缺包或者缺文件。利用VMWare的共享文件夹,在root账户下(sudo su root)进行拷贝。在普通账户下,可以挂载文件夹,但是看不到文件(LiveDVD没有权限)。

复制代码
sudo su root
cp /path/to/host/file ~/file

当全部测试完毕后,用共享文件夹一股脑把虚拟机的home文件夹刷回iso-profiles/manjaro/xfce/desktop-overlay/etc/skel/下。这样,编译后的文件、桌面快捷方式啥的就全有了。当然,如果在此之间还pacman -S 了包,别忘记增补在第一节Packages-Desktop里

5. 二次编译ISO

此刻,在步骤4里已经测试并同步了修改。再次执行命令:

bash 复制代码
rm -rf /var/cache/manjaro-tools/iso/manjaro/xfce/*
buildiso -p xfce -k linux617-rt -b stable

构造后,出现了iso文件

/var/cache/manjaro-tools/iso/manjaro/xfce/X.X/*.iso

6. 从ISO制作 U盘镜像

如此操作后,ISO里塞入了太多的额外软件,必然超过4.7GB,DVD其实是装不下了。当然,你可以选择购买 DVD-R+DL 8.5GB光盘,但是不推荐------因为光盘读取速度太慢了,安装速度也慢。这里,使用软件 rufus 直接制作启动U盘。

插入U盘后,选取镜像,直接开始即可:

7. rock & roll

好了!拿着这个U盘,直接引导物理机,F12选取UEFI或者传统的启动方式,就可以跑了!在不重装系统的情况下,比windows性能翻倍!

最后,别忘了用AI生成一个光盘封面:

附件. Live 光盘的额外软件包功能介绍

开发工具与框架

软件包 用途
qt6 Qt 6跨平台应用开发框架
qtcreator Qt官方集成开发环境(IDE)
cmake 跨平台构建系统生成工具
base-devel 基础开发工具链(包含make/gcc等)
gcc GNU编译器集合
gdb GNU调试器
ninja 小型快速构建系统
libbacktrace 用于生成程序崩溃时的调用栈信息

版本控制与协作

软件包 用途
git 分布式版本控制系统

性能分析工具

软件包 用途
valgrind 内存调试与性能分析工具
cpupower CPU频率调节与监控工具

系统监控

软件包 用途
htop 交互式进程查看器
btop 现代化资源监控工具

终端工具

软件包 用途
screen 终端多路复用管理器

数学与科学计算

软件包 用途
fftw 快速傅里叶变换库
python-numpy Python科学计算基础库
python-scipy Python科学计算工具集
octave GNU科学计算语言(类似MATLAB)

数据库相关

软件包 用途
postgresql PostgreSQL关系型数据库
postgis PostgreSQL地理信息系统扩展
mariadb-libs MariaDB数据库客户端库
mariadb-clients MariaDB命令行客户端
dbeaver 通用数据库管理工具

通信与网络

软件包 用途
libpcap 网络数据包捕获库

无线电与SDR

软件包 用途
libuhd USRP硬件驱动库
rtl-sdr RTL2832U软件定义无线电支持
gqrx SDR接收机软件
gnuradio 软件定义无线电开发框架
soapyuhd SoapySDR的USRP支持模块
inspectrum 无线电信号分析工具

图形与多媒体

软件包 用途
vlc 跨平台媒体播放器
inkscape 矢量图形编辑器
gimp GNU图像处理程序
peek GIF屏幕录制工具
audacity 音频编辑软件
tenacity Audacity分支版本

办公与文档

软件包 用途
libreoffice-still-zh-cn LibreOffice中文稳定版
code Visual Studio Code编辑器

虚拟化与容器

软件包 用途
docker 容器化平台
virtualbox 虚拟机软件
virtualbox-guest-iso VirtualBox客户机增强工具

语言支持

软件包 用途
fcitx5 新一代输入法框架
fcitx5-chinese-addons 中文输入法支持

其他工具

软件包 用途
filezilla FTP客户端
putty SSH/Telnet客户端
remmina 远程桌面客户端
partitionmanager 磁盘分区管理工具

表格按功能领域分组,每个软件包用途描述简明扼要。实际使用时可根据需要调整表格结构或添加版本号等附加信息。

相关推荐
被遗忘的旋律.2 小时前
Linux驱动开发笔记(十五)——MISC驱动实验
linux·驱动开发·笔记
大聪明-PLUS2 小时前
深入 initrd
linux·嵌入式·arm·smarc
AI+程序员在路上2 小时前
linux下网络IP、网关及路由设置详解
linux·网络·tcp/ip
wabil2 小时前
VSCode远程调试Linux的GUI程序
linux·ide·vscode
lbb 小魔仙2 小时前
【Linux】Linux 安全实战:防火墙配置 + 漏洞修复,符合企业合规标准
linux·运维·安全
oMcLin2 小时前
如何在 Linux 上打开和编辑 Apple iWork 文件(增强版)
linux·运维·服务器
艾莉丝努力练剑2 小时前
【Linux进程(七)】进程虚拟地址空间详解:从概念到实现与设计哲学
java·linux·运维·服务器·人工智能·安全·进程
五阿哥永琪2 小时前
Linux 常用命令
linux·服务器·网络
日更嵌入式的打工仔2 小时前
linux内核查看网口负荷的指令
linux·服务器·笔记