Deepseek大语言模型在 GPU ORIN自研板卡部署指导

一、环境搭建

  • 部署过程中需要安装各种工具及下载大语言模型,确保AGX Orin 已经连接到了互联网。查看方法:控制台ping baidu.com
  • 可以使用SSH远程登陆AGX Orin,方便在PC端粘贴长命令。

工具:MobaXterm

连接方法:控制台中输入:ifconfig 获取AGX Orin IP地址,然后使用MobaXterm 的SSH进行远程登陆。

二、硬件准备

SOC:Xilinx XCZU19EG-FFVC1760

内存:

  • PS DDR4:64bit,4GB,2400MT/s
  • PL DDR4:64bit,4GB,2400MT/s

存储:

  • PS eMMC:32GB
  • PS QSPI Flash:128MB
  • PS SD卡:32GB

接口:

  • 光口:2路QSFP28,100Gbps
  • 网络:1路 1000BASE-T
  • 调试:1路 UART(TYPE-C)
  • 显示:1路 DisplayPort
  • FMC:2路 HPC接口,GTH X8
  • USB:1路 USB3.0
  • 塑料光纤收发器:2对
  • J30J:2路CAN,1路UART,TTL,节点信号,JTAG

GPU:NVIDIA Jetson AGX Orin

算力:

  • 64GB: Up to 275 Sparse TOPS (INT8)
  • 32GB: Up to 200 Sparse TOPS (INT8)

接口:

  • 网络:1路 1000BASE-T
  • 调试:1路 UART(TYPE-C)
  • 显示:1路 DisplayPort
  • USB:2路 USB3.2
  • M.2:1路PCIe4.0 x4
  • 互联:1路PCIe3.0 x8
  • 低速接口:2路CAN

三、安装jtop

JTOP是 jetson_stats 工具包中的一个核心组件,提供了一个直观的终端界面来显示和分析Jetson开发板的硬件状态。用户可以通过JTOP查看各种系统资源诸如 CPU、GPU、内存等硬件的实时状态。

  • 安装

sudo apt update

sudo apt install python3 python3-pip

sudo pip3 install -U jetson-stats

  • 启动

控制台输入:jtop

四、安装JetPack

JetPack 是 NVIDIA 为 Jetson 平台提供的 官方 AI 软件栈,为构建由 AI 驱动的边缘应用提供完整的工具和库套件。可以理解为 Jetson 上运行 AI 应用的完整基础环境。

  • 说明

jtop查看"7INFO"时发现"jetpack not detected",左侧Libraries中的内容也无显示。说明没有安装jetpack

  • 安装

sudo apt update

sudo apt install nvidia-jetpack

  • 查看jetpack版本

sudo apt-cache show nvidia-jetpack

  • 查看jetpack安装情况

说明:上图显示Jetpack:MISSING 并不是错误,可能是Jetpack的版本和jtop版本不兼容导致。只要左侧Libraries的内容有显示就说明是正确的。

五、安装docker

  • 检查系统版本(支持 Ubuntu 20.04 或 22.04)

lsb_release -a

  • 卸载旧版本 Docker(如有)

sudo apt-get remove -y docker.io docker-doc docker-compose podman-docker containerd runc

  • 更新系统

sudo apt-get update

sudo apt-get upgrade -y

  • 安装必要依赖

sudo apt-get install -y \

apt-transport-https \

ca-certificates \

curl \

gnupg \

lsb-release

  • 添加 Docker 官方 GPG 密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

说明:此过程中可能网络原因,安装不成功。需要将GPG key下载到本地电脑,然后使用SSH上传到AGX Orin ,执行如下命令,可以将GPG 公钥添加到apt的受信任密钥列表中。

sudo apt-key add gpg路径

  • 添加 ARM64 架构的 Docker 仓库

echo \

"deb arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg https://download.docker.com/linux/ubuntu \

$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

  • 安装 Docker Engine

sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

  • 启动并设置开机自启

sudo systemctl start docker

sudo systemctl enable docker

  • 添加当前用户到 docker 组(免 sudo 运行)

sudo usermod -aG docker $USER

六、安装NVIDIA Container Toolkit

Docker 本身只能管理 CPU、内存、网络和存储等通用资源,它不支持直接将 GPU 设备(如 NVIDIA 显卡)暴露给容器。

NVIDIA Container Toolkit本质上是 Docker 的一个扩展插件,它的核心作用是让 Docker 容器能够访问并使用宿主机的 NVIDIA GPU,

  • 设置 NVIDIA 仓库

sudo apt-get update

sudo apt-get install -y nvidia-container-toolkit-base

  • 配置 NVIDIA 运行时

sudo nvidia-ctk runtime configure --runtime=docker

  • 重启 Docker 服务

sudo systemctl restart docker

  • 检查 Docker 服务状态

sudo systemctl status docker

  • 查看docker 版本

sudo docker --version

说明:在查看docker状态时出现:"Failed to start docker.service",故查看docker的版本,出现docker: command not found 。于是重新安装docker

sudo apt update

sudo apt install docker.io

Docker常用命令:

七、安装ollama并运行

Ollama 是一个开源、跨平台的本地大语言模型(LLM)运行工具。

  • 安装

sudo docker run --runtime nvidia --rm --network=host -v ~/ollama:/ollama -e OLLAMA_MODELS=/ollama dustynv/ollama:r36.4.0

运行时报错: failed to resolve reference "docker.io/dustynv/ollama:r36.4.0": failed i/o timeout

问题分析:2025年3月,国家网络安全通报中心通报其默认配置存在未授权访问与模型窃取等安全风险,可能被墙了。

解决方法:添加国内镜像源

添加位置:/etc/docker/daemon.json

添加内容:

"registry-mirrors" : ["https://docker.registry.cyou",

"https://docker-cf.registry.cyou",

"https://dockercf.jsdelivr.fyi",

"https://docker.jsdelivr.fyi",

"https://dockertest.jsdelivr.fyi",

"https://mirror.aliyuncs.com",

"https://dockerproxy.com",

"https://mirror.baidubce.com",

"https://docker.m.daocloud.io",

"https://docker.nju.edu.cn",

"https://docker.mirrors.sjtug.sjtu.edu.cn",

"https://docker.mirrors.ustc.edu.cn",

"https://mirror.iscas.ac.cn",

"https://docker.rainbond.cc",

"https://do.nark.eu.org",

"https://dc.j8.work",

"https://dockerproxy.com",

"https://gst6rzl9.mirror.aliyuncs.com",

"https://registry.docker-cn.com",

"http://hub-mirror.c.163.com",

"http://mirrors.ustc.edu.cn/",

"https://mirrors.tuna.tsinghua.edu.cn/",

"http://mirrors.sohu.com/"

],

重新执行:sudo docker run --runtime nvidia --rm --network=host -v ~/ollama:/ollama -e OLLAMA_MODELS=/ollama dustynv/ollama:r36.4.0。就可以下载ollama并安装。

  • 运行ollama

直接运行:ollama ,发现还是不能执行:

执行:sudo docker ps,发现无任何容器运行

原因:之前的命令:打印完 ollama server is now started... 后,就直接退出了,没有让 ollama serve 进程保持在前台运行,Docker 容器只要前台进程退出,就会认为任务完成,直接把容器停掉。

  • 执行新命令

重新启动,强制前台运行 ollama serve

sudo docker run -d \

--runtime nvidia \

--network host \

-v ~/ollama:/ollama \

-e OLLAMA_MODELS=/ollama \

-e OLLAMA_HOST=0.0.0.0 \

--name ollama \

--restart=always \

dustynv/ollama:r36.4.0 \

ollama serve

  • 重新执行sudo docker ps
  • 重新执行ollama 命令
  • 退出容器 ctrl+d

八、安装并运行大模型

  • 安装并运行大模型

sudo docker exec -it ollama ollama run deepseek-r1:7b

九、参考文献

deepseek-r1

Models | Jetson AI Lab

Jetson Orin Nano 刷机、Docker GPU 环境与大语言模型部署实践(Ollama / vLLM) - ejiyuan - 博客园

NVIDIA Jetson Orin 安装 Docker_jetson 安装docker-CSDN博客

Failed to start docker.service --- 完美解决方法详解 ️-腾讯云开发者社区-腾讯云

【Linux报错】添加密钥失败------gpg: no valid OpenPGP data found.-CSDN博客

docker配置镜像Docker pull时报错:https://registry-1.docker.io/v2/-CSDN博客

docker拉取镜像报错:Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp的解决过程_docker_脚本之家

https://www.bilibili.com/video/BV1MMNheqEFk/?spm_id_from=333.1007.top_right_bar_window_default_collection.content.click&vd_source=ef7725ca1f8985e9e1e038110ecf288c