LC-X5 配置
LC-X5 刷机后可使用 lzc-thor 命令完成系统初始化和常用配置。所有命令都需要使用 sudo 执行。
快速初始化
sudo lzc-thor allall 会按顺序执行以下配置:
- 安装 JetPack、编译工具和 GPU 监控工具
- 安装 Docker CE,并配置 NVIDIA 容器运行时
- 安装
/usr/bin/docker-compose - 关闭 Ubuntu 自动升级
- 修复克隆母盘后的机器身份和网卡身份
- 配置 MGBE 网络性能参数
- 配置时区、网络时间同步、
jetson_clocks和 Firefox - 安装并启动
lzc-ai-agent
默认会把 nvidia 用户加入 docker 组。如果系统使用其他桌面用户,请指定用户:
sudo lzc-thor all --docker-user ubuntu等价命令:
sudo lzc-thor-init-all --docker-user ubuntu单项命令
| 命令 | 作用 |
|---|---|
sudo lzc-thor help | 查看命令帮助。 |
sudo lzc-thor packages | 安装 nvidia-jetpack、build-essential、nvitop、gpustat、nvtop。 |
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,单独修复现场设备时可以执行:
sudo lzc-thor clone-identity
sudo reboot该命令会重新生成 /etc/machine-id,删除克隆带来的 /var/lib/NetworkManager/secret_key,并让 NetworkManager 为以太网口生成每台机器稳定但不同的本地管理 MAC。对于 T5000,如果暴露出来的硬件 MAC 本身重复,也会被这个本地管理 MAC 覆盖。
如果在本机控制台操作,并且可以接受网络立即断开,也可以直接应用网络配置:
sudo lzc-thor clone-identity --apply-nowMGBE 带宽测试
sudo lzc-thor mgbe 是 MGBE 性能参数配置命令;mgbe serve|client|clean 是单独的测试辅助命令,不包含在 all 中。测试前建议先在服务端和客户端都执行一次:
sudo lzc-thor mgbe
sudo apt install -y iperf3服务端执行:
sudo lzc-thor mgbe clean
sudo lzc-thor mgbe serve config --base-ip 192.168.38.10
sudo lzc-thor mgbe serve run客户端执行:
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.10、192.168.39.10、192.168.40.10、192.168.41.10。客户端使用相同网段,并把本机地址的最后一段设置为 20,例如 192.168.38.20、192.168.39.20。
client run 默认使用 10 秒测试时长和 24 条并发流,也可以按需调整:
sudo lzc-thor mgbe client run --duration 30 --parallel 32
sudo lzc-thor mgbe client run --udp测试结束后,服务端和客户端都执行下面的命令清理测试配置:
sudo lzc-thor mgbe cleanclean 会删除 /etc/netplan/99-mgbe-test.yaml、/var/lib/lzc-thor/mgbe-test 下的测试状态,并停止已记录的 iperf3 服务端进程。
参数
--docker-user USER
用于 all、lzc-thor-init-all 和 docker 命令。执行后会把 USER 加入 docker 组,使该用户可以不加 sudo 使用 Docker。
sudo lzc-thor docker --docker-user ubuntu
sudo lzc-thor all --docker-user ubuntu也可以使用等价写法:
sudo lzc-thor docker --user ubuntu
sudo lzc-thor docker ubuntu
sudo lzc-thor all ubuntu如果不指定,all 和 lzc-thor-init-all 默认使用 nvidia;单独执行 docker 时默认不添加用户。
VNC 参数
vnc 不包含在 all 中,需要单独执行。
sudo lzc-thor vnc --user ubuntu --password '<密码>'| 参数 | 说明 |
|---|---|
--user USER | 配置哪个桌面用户的 VNC。默认读取 LZC_THOR_VNC_USER,未设置时为 nvidia。 |
--password PASSWORD | VNC 密码。必填,也可以通过 LZC_THOR_VNC_PASSWORD 设置。 |
示例:
sudo LZC_THOR_VNC_PASSWORD='<密码>' lzc-thor vncVNC 配置后通常需要重启;未配置自动登录时,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清理。