3. 测试平台概述

好了,到了真正动手的时候了。前面我们搞定了硬件和启动盘,现在要把 Ubuntu 20.04 LTS 请进机器里。这一章我尽量把每个步骤拆细,尤其是分区那一段——很多人在这栽跟头,包括我刚开始的时候。

3.1 安装前的最后检查

插上 U 盘,开机按 F2/F10/Del 进 BIOS。我个人习惯先把下面几项确认好:

  • 启动顺序:U 盘调到第一位,硬盘第二位
  • Secure Boot:关闭(Disable),否则 nvidia 驱动装不上
  • SATA Mode:设为 AHCI,别用 RAID 或 Intel RST
  • UEFI 还是 Legacy:现在新机器基本都是 UEFI,选 UEFI
我的经验:有次在一台 Dell 工作站上装系统,死活进不去安装界面。折腾半天发现是 Secure Boot 没关。你想想看,一个选项卡了你半小时,多冤。

保存退出,机器重启后应该能看到 GRUB 菜单,选 "Install Ubuntu" 回车。

3.2 安装流程概览

安装过程其实很傻瓜化,选语言、选键盘布局、连 Wi-Fi(建议插网线,省事)。真正需要你动脑子的就两步:分区和用户创建。下面这张图帮你理清整个流程:

Ubuntu 20.04 LTS 安装流程 启动安装介质 语言 / 键盘 / 网络 分区策略(关键步骤) 用户创建 / 主机名 安装进行中(约 15-30 分钟) 重启 & 拔掉 U 盘 建议插网线安装 避免无线断连 分区方案见 3.3 节 建议手动分区

3.3 分区策略——这是重点

安装类型界面,选「Something else」(其他选项)。别选「Erase disk and install Ubuntu」,那是给普通用户用的。我们做座舱测试,系统要稳定,分区必须合理。

我建议的分区方案(以 512GB SSD 为例):

分区 大小 类型 挂载点 说明
EFI System Partition 512 MB EFI /boot/efi UEFI 启动必需
/boot 1 GB ext4 /boot 内核和引导文件
swap 16 GB swap — 内存不够时顶上去
/ 100 GB ext4 / 系统和软件
/home 剩余全部 ext4 /home 用户数据、测试脚本
注意:如果你的机器内存 ≥ 32GB,swap 可以设小一点(8GB 够用)。但座舱测试有时会跑多个虚拟机,swap 留大点没坏处。我曾经因为 swap 设太小,编译 AOSP 时直接 OOM 崩了,血的教训。

分区操作步骤:

  1. 选中硬盘,点「New Partition Table」,确认
  2. 先建 EFI 分区:大小 512MB,类型选「EFI System Partition」
  3. 建 /boot:大小 1024MB,文件系统 ext4,挂载点 /boot
  4. 建 swap:大小 16384MB,类型选「swap area」
  5. 建 /:大小 100GB,ext4,挂载点 /
  6. 建 /home:用剩余空间,ext4,挂载点 /home
  7. 确认「Device for boot loader installation」选对硬盘(不是分区)
小技巧:分区时把 /home 单独拎出来,以后重装系统数据还在。我每次重装都只格式化 /,/home 不动,测试脚本和配置文件全保留。

3.4 用户创建与基本设置

分区完点「Install Now」,系统开始复制文件。中间会弹窗让你创建用户:

  • Your name:随便填,比如 cockpit
  • Computer's name:主机名,我习惯用 cockpit-test-01
  • Username:登录名,建议全小写,比如 cockpit
  • Password:设一个你记得住的,别太复杂
  • Log in automatically:座舱测试机建议勾上,省得每次输密码

剩下的就是等进度条走完。去泡杯咖啡,大概 15-20 分钟。

3.5 驱动安装与验证

系统装完重启,拔掉 U 盘。进系统后第一件事——装驱动。座舱测试最怕显卡驱动不对,画面撕裂、分辨率不对,那还测个啥?

3.5.1 NVIDIA 显卡驱动

如果你的机器有独立显卡(很多座舱测试台配的是 NVIDIA Quadro 或 GTX 系列),别用系统自带的 nouveau 驱动,性能差还容易出问题。

# 添加显卡驱动 PPA
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

# 查看推荐驱动版本
ubuntu-drivers devices

# 安装推荐版本(比如 nvidia-driver-535)
sudo apt install nvidia-driver-535

# 重启
sudo reboot

重启后验证:

nvidia-smi

如果看到类似下面的输出,说明驱动装好了:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 535.86.05    Driver Version: 535.86.05    CUDA Version: 12.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
| 30%   45C    P0    30W / 120W |    123MiB /  6144MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
避坑:我曾经在安装驱动时忘了关 Secure Boot,重启后系统提示「MOK management」,必须手动注册密钥。如果你遇到这个,选「Enroll MOK」→「Continue」→ 输入密码 → 重启。或者干脆装驱动前就把 Secure Boot 关了,一劳永逸。

3.5.2 网卡驱动

大部分有线网卡 Ubuntu 20.04 能自动识别。如果没网,先查网卡型号:

lspci | grep -i ethernet
lshw -class network

常见情况:Realtek 8125 2.5G 网卡需要手动装驱动。去 Realtek 官网下载驱动包,按 README 编译安装。步骤不复杂,就是需要先找个有网的机器下载好,用 U 盘拷过来。

3.5.3 声卡与 USB 音频设备

座舱测试经常用到 USB 麦克风或外接声卡。插上设备后,用下面命令检查:

# 查看音频设备
arecord -l
aplay -l

# 测试录音(按 Ctrl+C 停止)
arecord -d 5 test.wav

# 测试播放
aplay test.wav

如果没声音,检查 PulseAudio 是否在运行:

pulseaudio --start
pavucontrol   # 图形化音量控制,没装的话 sudo apt install pavucontrol

3.6 安装后的系统验证清单

驱动装完,别急着跑。花 5 分钟做个快速验证,确保系统状态正常:

检查项 命令 期望结果
内核版本 uname -r 5.4.0-xxx-generic 或更高
磁盘分区 lsblk 分区表与规划一致
内存 free -h 总内存 & swap 正确
显卡驱动 nvidia-smi 驱动版本 & GPU 温度正常
网络连通 ping -c 4 8.8.8.8 0% packet loss
音频设备 arecord -l 列出 USB 声卡设备
系统更新 sudo apt update && sudo apt upgrade -y 无报错

我的习惯:每次装完系统,我会把上面这些命令的执行结果截图保存。以后出问题方便对比。尤其是 nvidia-smi 的输出,驱动版本和 CUDA 版本记下来,后面装 Docker 和测试工具要用到。