Skip to content

LC-X5 配置

LC-X5 刷机后可使用 lzc-thor 命令完成系统初始化和常用配置。所有命令都需要使用 sudo 执行。

快速初始化

bash
sudo lzc-thor all

all 会按顺序执行以下配置:

  1. 安装 JetPack、编译工具和 GPU 监控工具
  2. 安装 Docker CE,并配置 NVIDIA 容器运行时
  3. 安装 /usr/bin/docker-compose
  4. 关闭 Ubuntu 自动升级
  5. 修复克隆母盘后的机器身份和网卡身份
  6. 配置 MGBE 网络性能参数
  7. 配置时区、网络时间同步、jetson_clocks 和 Firefox
  8. 安装并启动 lzc-ai-agent

默认会把 nvidia 用户加入 docker 组。如果系统使用其他桌面用户,请指定用户:

bash
sudo lzc-thor all --docker-user ubuntu

等价命令:

bash
sudo lzc-thor-init-all --docker-user ubuntu

单项命令

命令作用
sudo lzc-thor help查看命令帮助。
sudo lzc-thor packages安装 nvidia-jetpackbuild-essentialnvitopgpustatnvtop
sudo lzc-thor docker安装 Docker CE、Docker Buildx、Compose 插件和 NVIDIA Container Toolkit。
sudo lzc-thor docker-compose下载并安装最新版 Linux aarch64 docker-compose/usr/bin/docker-compose
sudo lzc-thor disable-upgrades关闭 apt 自动更新和 unattended-upgrades。
sudo lzc-thor clone-identity修复克隆母盘后的机器身份和网卡身份重复问题。
sudo lzc-thor mgbe自动发现 MGBE 网卡,开启 threaded mode、运行 jetson_clocks,并设置 IOMMU DMA-FQ。
sudo lzc-thor mgbe serve config --base-ip IP配置本机 MGBE 测试服务端地址,并保存测试分配。
sudo lzc-thor mgbe serve run按已保存的服务端分配启动 MGBE iperf3 服务端。
sudo lzc-thor mgbe client config --server-base-ip IP --local-suffix HOST_OCTET配置本机 MGBE 测试客户端地址,并保存测试分配。
sudo lzc-thor mgbe client run按已保存的客户端分配运行 MGBE iperf3 带宽测试。
sudo lzc-thor mgbe clean停止 MGBE 测试进程,并删除测试 netplan 和状态文件。
sudo lzc-thor startup设置时区、启用网络时间同步、配置开机运行 jetson_clocks,并安装 Firefox。
sudo lzc-thor agent安装并启动 lzc-ai-agent
sudo lzc-thor vnc --password '<密码>'为默认用户配置 Vino VNC。
sudo lzc-thor resizefs将当前 ext4 根分区扩容到所在磁盘剩余空间。

克隆母盘身份修复

使用克隆母盘批量刷机后,多台设备可能带有相同的 /etc/machine-id 和 NetworkManager 密钥,导致系统身份、网络连接或 DHCP 识别异常。sudo lzc-thor all 会自动执行 clone-identity,单独修复现场设备时可以执行:

bash
sudo lzc-thor clone-identity
sudo reboot

该命令会重新生成 /etc/machine-id,删除克隆带来的 /var/lib/NetworkManager/secret_key,并让 NetworkManager 为以太网口生成每台机器稳定但不同的本地管理 MAC。对于 T5000,如果暴露出来的硬件 MAC 本身重复,也会被这个本地管理 MAC 覆盖。

如果在本机控制台操作,并且可以接受网络立即断开,也可以直接应用网络配置:

bash
sudo lzc-thor clone-identity --apply-now

MGBE 带宽测试

sudo lzc-thor mgbe 是 MGBE 性能参数配置命令;mgbe serve|client|clean 是单独的测试辅助命令,不包含在 all 中。测试前建议先在服务端和客户端都执行一次:

bash
sudo lzc-thor mgbe
sudo apt install -y iperf3

服务端执行:

bash
sudo lzc-thor mgbe clean
sudo lzc-thor mgbe serve config --base-ip 192.168.38.10
sudo lzc-thor mgbe serve run

客户端执行:

bash
sudo lzc-thor mgbe clean
sudo lzc-thor mgbe client config --server-base-ip 192.168.38.10 --local-suffix 20
sudo lzc-thor mgbe client run

上面的示例中,服务端从 192.168.38.10 开始为各 MGBE 接口分配地址,例如 192.168.38.10192.168.39.10192.168.40.10192.168.41.10。客户端使用相同网段,并把本机地址的最后一段设置为 20,例如 192.168.38.20192.168.39.20

client run 默认使用 10 秒测试时长和 24 条并发流,也可以按需调整:

bash
sudo lzc-thor mgbe client run --duration 30 --parallel 32
sudo lzc-thor mgbe client run --udp

测试结束后,服务端和客户端都执行下面的命令清理测试配置:

bash
sudo lzc-thor mgbe clean

clean 会删除 /etc/netplan/99-mgbe-test.yaml/var/lib/lzc-thor/mgbe-test 下的测试状态,并停止已记录的 iperf3 服务端进程。

参数

--docker-user USER

用于 alllzc-thor-init-alldocker 命令。执行后会把 USER 加入 docker 组,使该用户可以不加 sudo 使用 Docker。

bash
sudo lzc-thor docker --docker-user ubuntu
sudo lzc-thor all --docker-user ubuntu

也可以使用等价写法:

bash
sudo lzc-thor docker --user ubuntu
sudo lzc-thor docker ubuntu
sudo lzc-thor all ubuntu

如果不指定,alllzc-thor-init-all 默认使用 nvidia;单独执行 docker 时默认不添加用户。

VNC 参数

vnc 不包含在 all 中,需要单独执行。

bash
sudo lzc-thor vnc --user ubuntu --password '<密码>'
参数说明
--user USER配置哪个桌面用户的 VNC。默认读取 LZC_THOR_VNC_USER,未设置时为 nvidia
--password PASSWORDVNC 密码。必填,也可以通过 LZC_THOR_VNC_PASSWORD 设置。

示例:

bash
sudo LZC_THOR_VNC_PASSWORD='<密码>' lzc-thor vnc

VNC 配置后通常需要重启;未配置自动登录时,VNC 可能需要本地用户先登录桌面后才可连接。

注意事项

  • docker-compose 命令会从 Docker Compose GitHub release 下载 aarch64 二进制文件,需要网络可访问 GitHub。
  • startup 会根据当前公网位置设置时区,失败时使用 Asia/Shanghai
  • resizefs 只支持普通 ext4 根分区,例如 /dev/nvme0n1p1;不支持 LVM、加密盘、整盘根文件系统或非 ext4 文件系统。
  • docker 修改用户组后,已有登录会话可能需要退出并重新登录,才能不加 sudo 使用 Docker。
  • MGBE 测试命令会写入临时 netplan 配置;测试结束后请使用 sudo lzc-thor mgbe clean 清理。