2. Kria开发环境搭建与工具链配置
Kria SOM(System-on-Module)虽然出厂即带可启动的 Ubuntu 桌面镜像,但要真正进入“工业 AI 推理系统开发”的状态,必须先把主机侧工具链和板卡侧运行环境打通。本节围绕 Vitis Unified Software Platform、Vivado、PetaLinux、Kria App Store 以及 Ubuntu 桌面镜像烧录与远程开发环境配置展开,目标是让读者理解各工具在整条开发链路中的位置,并能独立完成一次可用的环境搭建。
一、先厘清工具链的分工
Kria 的开发不是单一工具能覆盖的,它由几个层次组成。最底层是硬件平台:KV260、KR260 等载板与 K26 SOM 的组合,其可编程逻辑(PL)部分需要 Vivado 来设计、综合、实现并导出 XSA(Xilinx Support Archive)。中间层是嵌入式 Linux 系统:PetaLinux 负责生成包含设备树、内核、根文件系统的启动镜像,也可以基于官方 BSP 做定制。上层是应用与加速:Vitis Unified Software Platform 把 Vivado 导出的 XSA 作为平台,在其上开发 DPU(深度学习处理单元)等加速 IP 的驱动、运行时和主机程序。最上层则是 Kria App Store 提供的预构建应用,让开发者不必从零搭建即可验证功能。
理解这条“Vivado → XSA → Vitis 平台 → 应用”的主线,是配置环境的前提。很多初学者卡住,往往不是命令写错,而是没分清某个操作属于哪一层。
二、主机侧工具安装要点
AMD 官方推荐使用 Ubuntu 20.04 LTS 作为主机系统,Vivado、Vitis、PetaLinux 对内核版本和依赖库有明确要求。安装时建议统一版本号,例如全部使用 2022.2,避免 XSA 与 Vitis 平台版本不匹配导致导入失败。
Vivado 安装时勾选“Vitis Unified Software Platform”和“Kria KV260 / KR260”相关器件支持。安装完成后,需要把工具加入环境变量,典型做法是在 ~/.bashrc 中追加:
source /tools/Xilinx/Vivado/2022.2/settings64.sh
source /tools/Xilinx/Vitis/2022.2/settings64.sh
source /tools/Xilinx/PetaLinux/2022.2/settings.sh
PetaLinux 还需要额外安装依赖包,例如 tofrodos、iproute2、gcc-8、net-tools、libncurses5-dev 等。若缺少这些包,petalinux-create 或 petalinux-build 会在中途报错。安装完成后可用 petalinux-util --webtalk off 关闭联网统计,避免构建时因网络问题卡住。
三、Ubuntu 桌面镜像烧录
Kria 官方提供 Ubuntu 22.04 桌面镜像,适用于 KV260 和 KR260。烧录流程如下:
- 从 AMD 官网下载对应板卡的
.img.xz镜像文件,并校验 SHA256。 - 准备一张 16GB 以上 microSD 卡,用读卡器接入主机。
- 使用
xz -dk kria-ubuntu-22.04.img.xz解压,再用dd或 balenaEtcher 写入。 - 写入完成后,将 microSD 插入板卡,设置启动模式拨码为 SD 启动,上电。
首次启动约需 2~3 分钟。系统默认用户名 ubuntu,密码 ubuntu,首次登录会强制修改密码。若使用 eMMC 启动,可先在 SD 卡系统内执行 sudo kria-config 或参考官方脚本把镜像写入 eMMC。
四、远程开发环境配置
板卡通常放在实验台或机柜中,直接接显示器键盘并不方便。推荐配置 SSH 与 VNC 两条通道。
SSH 配置:板卡通过网线接入与主机同一交换机,或通过 USB-C 转以太网。在板卡上执行 ip addr 查看 IP,例如 192.168.1.50。主机侧执行:
ssh ubuntu@192.168.1.50
# 首次连接输入 yes,然后输入密码
为方便免密登录,可在主机生成密钥并推送:
ssh-keygen -t ed25519
ssh-copy-id ubuntu@192.168.1.50
VNC 配置:在板卡上安装 tigervnc-standalone-server,设置密码后启动 vncserver :1 -geometry 1920x1080。主机用 VNC Viewer 连接 192.168.1.50:5901,即可获得桌面环境。若需要运行 Jupyter Notebook 做 AI 推理验证,可在板卡上执行 jupyter notebook --ip=0.0.0.0 --port=8888,主机浏览器访问 http://192.168.1.50:8888。
五、用 Kria App Store 快速验证
环境搭好后,建议先用 Kria App Store 中的一个预构建应用做端到端验证,例如 Smart Camera 或 Defect Detection。在板卡上执行:
sudo snap install xlnx-config --classic
xlnx-config.sysinit
sudo snap install kria-app-store
随后通过 kria-app-store 命令或 Web 界面选择应用并安装。安装完成后,应用会自动加载对应的 DPU 固件和模型,可通过 HDMI 输出或 RTSP 流观察推理结果。这一步能确认 PL 配置、DPU 驱动、模型文件和摄像头通路都正常,为后续自研应用打下基线。
dmesg | grep dpu 是否有 DPU 加载日志,以及 xmutil listapps 是否显示应用已激活。多数问题出在固件未正确加载或 PL 时钟未使能。六、环境检查清单
| 检查项 | 命令 / 方法 | 预期结果 |
|---|---|---|
| Vivado 版本 | vivado -version | 显示 2022.2 |
| Vitis 环境 | vitis -version | 显示 2022.2 |
| PetaLinux | petalinux-util --version | 显示 2022.2 |
| 板卡网络 | ping 192.168.1.50 | 有回包 |
| SSH 登录 | ssh ubuntu@192.168.1.50 | 成功进入 shell |
| DPU 固件 | dmesg | grep dpu | 显示 DPU 加载成功 |
| App Store | xmutil listapps | 列出已安装应用 |
完成以上配置后,主机侧具备 Vivado、Vitis、PetaLinux 三件套,板卡侧运行 Ubuntu 桌面系统并可通过 SSH/VNC 远程访问,Kria App Store 也能正常安装和运行预构建应用。这套环境就是后续 DPU 模型部署、性能剖析和工业 AI 推理优化的基础平台。