3、操作系统搭建:Ubuntu 20.04 LTS 安装、系统配置、SSH远程连接

做座舱测试,操作系统是地基。我见过不少团队,一上来就急着装工具链,结果系统没配好,后面各种踩坑。说实话,Ubuntu 20.04 LTS 是我个人最推荐的一个版本——稳定、兼容性好,座舱相关的 SDK 基本都支持它。

这一章,咱们就把地基打牢。从安装到配置,再到远程连接,一步不落。

3.1 为什么选 Ubuntu 20.04 LTS?

你可能要问:22.04 都出了,为啥还用 20.04?

嗯,这里有个现实问题。很多座舱芯片厂商(比如高通、瑞萨、NXP)的官方 SDK,至今仍以 20.04 作为首选验证环境。我在项目中遇到过,用 22.04 编译某个老版本 QNX 工具链,直接报 glibc 版本不兼容。折腾了两天,最后乖乖换回 20.04。

说白了,做测试环境,稳定比新潮重要。

Ubuntu 20.04 LTS 的优势:

  • 长期支持:到 2025 年 4 月,企业级安全更新
  • 兼容性好:座舱行业主流工具链都验证过
  • 社区活跃:遇到问题,网上基本能找到答案
  • 资源占用低:虚拟机里跑也不卡

3.2 安装 Ubuntu 20.04 LTS

安装过程其实不复杂,但有几个细节我建议你留意。

3.2.1 准备工作

  • 下载 ISO:从 Ubuntu 官网或国内镜像站(如清华、阿里云)下载 ubuntu-20.04.6-desktop-amd64.iso
  • 制作启动盘:用 Rufus(Windows)或 balenaEtcher(macOS/Linux)写入 U 盘
  • 硬件要求:至少 4GB 内存、25GB 磁盘空间(我建议给 60GB,后面装工具链够用)
我的习惯: 制作启动盘时,文件系统选 FAT32,分区类型选 GPT。UEFI 模式下启动更稳定。

3.2.2 安装步骤

  1. 插入 U 盘,开机按 F2/F12/Del 进入 BIOS,设置 U 盘为第一启动项
  2. 选择 "Install Ubuntu"
  3. 语言选 "English"(我建议用英文,终端报错时更容易搜索)
  4. 键盘布局选 "English (US)"
  5. 安装类型选 "Normal installation",勾选 "Download updates while installing Ubuntu"
  6. 磁盘分区:选 "Erase disk and install Ubuntu"(如果是虚拟机或专用测试机)
  7. 设置用户名和密码,建议用简单好记的,比如 test / 123456(测试环境无所谓)
注意: 如果你是在物理机上装,千万别选 "Erase disk" 除非你确定这块盘没重要数据。我曾经手滑过一次,教训深刻。

3.2.3 安装后的第一件事

装完系统,先别急着装软件。我建议你先把系统更新到最新:

sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y

然后重启一下:

sudo reboot

为什么要先更新?因为 Ubuntu 20.04 的初始 ISO 里有些包版本比较老,直接装工具链可能报依赖错误。我遇到过好几次,更新完就解决了。

3.3 系统基础配置

系统装好了,接下来做几项关键配置。这些配置直接影响你后续的工作效率。

3.3.1 配置网络

座舱测试环境通常需要固定 IP,方便远程连接。我个人习惯用 Netplan 来配:

sudo nano /etc/netplan/01-network-manager-all.yaml

内容如下:

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp0s3:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 114.114.114.114]

然后应用配置:

sudo netplan apply

验证一下:

ip addr show enp0s3
小技巧: 网卡名称不一定是 enp0s3,可以用 ip link show 查看实际名称。我习惯先看一眼再改配置,省得配错了连不上。

3.3.2 配置主机名

给测试机起个有意义的名字,方便识别:

sudo hostnamectl set-hostname cockpit-test-01

然后编辑 hosts 文件:

sudo nano /etc/hosts

添加一行:

192.168.1.100 cockpit-test-01

3.3.3 配置时区

座舱测试经常要打时间戳,时区不对会出乱子:

sudo timedatectl set-timezone Asia/Shanghai
timedatectl status

3.3.4 安装常用工具

我每次装完系统都会先装这几个:

sudo apt install -y vim git curl wget net-tools htop tree build-essential

这些工具后面都会用到。尤其是 build-essential,编译很多座舱 SDK 都依赖它。

3.4 SSH 远程连接配置

做座舱测试,你不可能每次都跑到测试机前操作。SSH 是标配。

3.4.1 安装并启动 SSH 服务

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

看到 active (running) 就对了。

3.4.2 配置 SSH 安全

测试环境虽然不用太严格,但基本的防护还是要的。我建议你改两个地方:

sudo nano /etc/ssh/sshd_config

找到并修改:

Port 2222          # 改掉默认的 22 端口,减少被扫描的概率
PermitRootLogin no  # 禁止 root 直接登录
PasswordAuthentication yes  # 测试环境用密码登录方便,生产环境建议用密钥

然后重启 SSH:

sudo systemctl restart ssh
注意: 改完端口后,记得在防火墙里放行新端口。不然你连不上,别问我怎么知道的。

3.4.3 配置防火墙

sudo ufw allow 2222/tcp
sudo ufw enable
sudo ufw status

3.4.4 从客户端连接

在 Windows 上用 PowerShell 或 MobaXterm,在 macOS/Linux 上直接用终端:

ssh -p 2222 test@192.168.1.100

输入密码,搞定。

我的习惯: 我会在客户端配一个 SSH config 文件,省得每次敲 IP 和端口。比如在 ~/.ssh/config 里写:
Host cockpit-test
    HostName 192.168.1.100
    Port 2222
    User test
然后直接 ssh cockpit-test 就能连上,方便多了。

3.5 验证环境是否就绪

最后,跑几个命令确认一下:

检查项 命令 预期结果
系统版本 lsb_release -a Ubuntu 20.04.6 LTS
网络连通 ping -c 4 8.8.8.8 有回复,无丢包
SSH 服务 systemctl is-active ssh active
磁盘空间 df -h 可用空间 > 20GB

都通过了?恭喜你,操作系统这关过了。下一章咱们开始装座舱测试的核心工具链。

本章小结:
  • Ubuntu 20.04 LTS 是座舱测试的稳定之选
  • 安装后先更新系统,再配网络和主机名
  • SSH 配置要改端口、禁 root、开防火墙
  • 验证环境就绪,为后续工具链安装打好基础