Hydro Contest OS 2026 部署教程
准备安装介质,通过图形安装器或赛站专用自动安装配置部署 2026 赛季环境。
准备安装介质
ISO 包含多个 squashfs 层,每个文件都小于 FAT32 的 4 GB 单文件限制。因此可以解压到可写的 FAT32 U 盘进行 UEFI 部署,也可以写入混合启动镜像以支持 BIOS 与 UEFI。
解压式 UEFI 启动盘(推荐)
- 备份 U 盘中的重要文件,创建一个 FAT32 分区。
- 将 ISO 中的全部文件解压到分区根目录。分区标签可设为
ICPC,但并非必需。 - 使用 UEFI 模式启动目标机器。
解压后的目录包含:
/
├── autoinstall/
│ └── default.yaml
├── casper/
├── EFI/
└── boot/grub/
分区保持可写,可直接修改下文介绍的赛站专用配置。
BIOS 与 UEFI 安装介质
需要 BIOS (Legacy) 启动的机器可使用 Ventoy、Rufus 或 dd。以块镜像方式写入 ISO 会保留混合启动记录,但写入后的 ISO9660 文件系统为只读,仍使用公开的自动安装配置。
若要在只读 ISO 中使用私有配置,需要重新制作 ISO 并替换 /autoinstall/default.yaml。重制后的镜像含有秘密信息,必须作为私有安装介质保管。
安装系统
镜像通过 ubuntu-desktop-bootstrap 和 Subiquity 提供 Live 环境与安装功能。启动菜单包含:
Try or Install Ubuntu:进入 Live 桌面和图形安装器。Ubuntu (safe graphics):使用相同环境,并增加nomodeset参数。Automated Install:读取/autoinstall/default.yaml,执行无人值守安装。
前两个选项仍为交互式安装,只有 Automated Install 会选用自动安装配置。自动安装会根据配置重建目标磁盘,请在部署前核实磁盘选择。
配置自动安装
公开镜像内置的配置使用 icpc / passw0rd 账户,不包含私有密码、WiFi 凭据或 SSH 密钥。
赛场部署时,将 ISO 解压到 FAT32 U 盘,直接编辑 autoinstall/default.yaml。将公开账户信息替换为赛站的主机名、用户名和 SHA-512 密码哈希,按需加入 WiFi 和 SSH 配置。加入私有值后,整个 U 盘都应作为含有秘密信息的安装介质保管。
安装变体
通过 source.id 选择安装的软件集合:
icpc-ubuntu-desktop-minimal:编译器、编辑器和比赛工具。icpc-ubuntu-desktop:minimal 变体加上 IDE。icpc-ubuntu-desktop-full:标准变体加上推流、监控和首次启动配置支持。
公开配置示例
公开镜像包含以下配置。不填写 WiFi 或 SSH 配置时,相应功能保持未配置状态。修改账户名时,请同步更新所有对应的 icpc 值,包括 late-commands 中的内容。
version: 1
source:
id: icpc-ubuntu-desktop-full
search_drivers: false
apt:
fallback: offline-install
geoip: false
locale: en_US.UTF-8
keyboard:
layout: us
timezone: Asia/Shanghai
identity:
realname: ICPC
hostname: icpc
username: icpc
# Public password: passw0rd
password: '$6$rounds=656000$0bffae792a4e9fb5$VgTE6Ko/.d4ZqxVUQvQM1BKgmhPFoylMANIABvSDOGVqy7VneTejUWScDR6.S9zUtw/ShmlZVY3gFkBusQhWP/'
storage:
swap:
size: 0
layout:
name: direct
sizing-policy: all
late-commands:
- echo 'icpc ALL=(ALL) NOPASSWD:ALL' > /target/etc/sudoers.d/icpc-nopasswd
- chmod 440 /target/etc/sudoers.d/icpc-nopasswd
- touch /target/icpc/.machine-setup
此配置控制安装变体、区域、键盘、时区、账户、存储布局及可选网络访问。late-commands 为操作员授予免密 sudo 权限,并启用首次启动的机器配置向导。SSH 授权公钥可通过 user-data.ssh_authorized_keys 提供。
完整配置结构请参考 Subiquity autoinstall 文档。安装后请按管理指南创建选手账户。