3、Linux系统搭建:Ubuntu安装与配置、双系统与虚拟机方案、常用开发工具安装

好,咱们正式开始搭环境了。

做航空电台开发,Linux是绕不开的。为什么?因为很多底层协议栈、SDR(软件无线电)工具链,甚至一些专用的编译环境,都是基于Linux的。Windows当然也能用,但你会发现在驱动、实时性、以及一些开源库的兼容性上,Linux省心得多。

我个人习惯用Ubuntu。不是因为它最好,而是因为它社区最活跃,遇到问题搜一下基本都有答案。搞航空通信,稳定第一,Ubuntu LTS版本是我的首选。

3.1 双系统还是虚拟机?

这是新手第一个纠结的问题。我直接说结论:

  • 双系统:性能最好,能完全调用硬件资源。适合需要大量计算、或者要直连电台硬件(比如通过USB或PCIe控制SDR设备)的场景。我在调试某型机载电台时,就遇到过虚拟机下USB设备识别不稳定,换双系统后问题消失。
  • 虚拟机:方便,随时切换。适合学习、写代码、跑一些简单的测试。你可以在Windows里开个VMware或VirtualBox,Ubuntu跑在里面,互不影响。

我的建议是:前期学习用虚拟机。等你真的开始做项目,需要接硬件了,再考虑双系统。别一上来就折腾分区,万一搞崩了,学习热情直接减半。

小提示: 虚拟机推荐分配至少4GB内存和2个CPU核心。硬盘给40GB以上,因为后面要装各种工具链和库。

3.2 Ubuntu安装与配置

下载Ubuntu 22.04 LTS,别追新。22.04稳定,支持到2027年,够你学完这门课了。

安装过程很简单,重点说几个配置:

  • 分区:如果你是双系统,建议分三个区——/(根目录,30GB)、/home(用户数据,剩下的空间)、swap(交换分区,等于内存大小即可)。
  • 软件源:安装完第一件事,换国内源。阿里云、清华、中科大都可以。不然下载个包等到天荒地老。
  • 更新系统sudo apt update && sudo apt upgrade -y。嗯,这条命令我几乎每天都会敲一遍。
注意: 双系统安装时,先装Windows,再装Ubuntu。否则Windows的引导会覆盖Linux的,修复起来比较麻烦。我曾经因为顺序搞反,折腾了一下午才把grub救回来。

3.3 常用开发工具安装

环境搭好了,接下来装工具。这些是航空电台开发必备的,缺一不可。

3.4 Git:版本控制

做项目,没有版本控制就是裸奔。Git是标配。

sudo apt install git -y
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

我个人习惯用git statusgit log --oneline,简洁明了。你想想看,每次改完代码,一个git diff就能看到改了啥,心里踏实。

3.5 Vim:终端编辑器

有人说Vim难用,我不同意。你只是没习惯而已。在服务器上、在嵌入式板子上,没有图形界面,Vim就是你的救命稻草。

sudo apt install vim -y

配置一下~/.vimrc,加几行基础设置:

set number          " 显示行号
set tabstop=4       " Tab宽度
set expandtab       " 空格代替Tab
syntax on           " 语法高亮

刚开始别学太多命令,记住i进入编辑,Esc退出,:wq保存退出,就够了。剩下的慢慢来。

3.6 SSH:远程连接

航空电台开发经常要远程登录到开发板或者服务器上。SSH是标配。

sudo apt install openssh-server -y
sudo systemctl enable ssh
sudo systemctl start ssh

然后你就可以从另一台电脑ssh 用户名@IP地址连过来了。我建议你配置密钥登录,省去每次输密码的麻烦:

ssh-keygen -t rsa -b 4096
ssh-copy-id 用户名@IP地址
核心要点: 这三个工具是基础中的基础。Git管代码,Vim写代码,SSH连设备。后面所有章节都会用到它们。

3.7 其他推荐工具

除了上面三个,我还推荐你装:

  • Screen 或 Tmux:终端复用器。SSH断开后,程序不会中断。我在调试电台固件时,经常用Screen挂着编译任务,回家后连上继续看。
  • Build-essential:编译工具链。sudo apt install build-essential,装完就有gcc、g++、make了。
  • Net-tools:网络诊断。sudo apt install net-toolsifconfignetstat这些命令就有了。

好了,环境搭完了。你现在应该有一个能用的Ubuntu系统,Git、Vim、SSH都装好了。下一章,我们开始搭建真正的航空电台开发工具链。

嗯,别急,先把这些基础打牢。后面你会感谢现在的自己。