0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

手把手教你在RK3588上部署Deepseek:从编译到排错全指南

jf_44130326 来源:Linux1024 2026-02-03 15:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

嵌入式AI开发中,将Deepseek大模型部署到RK3588瑞芯微高性能SoC)是实现边缘端智能应用的关键需求。但很多开发者会卡在编译配置、依赖冲突等环节。本文基于实际操作流程,详细讲解直接在RK3588板子上编译Deepseek可执行程序的完整步骤,包含CMake配置、代码上传、常见报错解决,帮你避开所有

wKgZPGkam2qAf6CtAADas1qFFh4871.png

本文将围绕以下4部分展开:

1.部署前必备准备(硬件/软件/工具)

2.核心配置:CMakeLists.txt解析与修改

3.分步操作:代码上传编译报错解决

4.编译成功验证与总结

一、部署前准备:确认这些必需品

在开始操作前,先确保你的环境满足以下条件,避免后续反复返工:

类型

具体要求

硬件

RK3588开发板(已刷入Linux系统,如Linaro-Alip),确保有SSH连接或串口访问权限

软件源码

Deepseek部署可执行程序源码包(含main.ccCMakeLists.txtlib库目录)

依赖库

内置librkllmrt.soRKLLM推理库)、libgomp.soOpenMP支持库)

编译工具

板子自带aarch64-linux-gnu-gcc/g++(需确认路径与版本,本文用GNU 10.2.1

先通过以下命令验证系统编译工具是否可用(若有输出则正常):

# 查看GCC版本gcc --version# 查看G++版本g++ --version# 确认工具链路径(本文默认路径为/usr/bin/)whichaarch64-linux-gnu-gcc

二、核心配置:修改CMakeLists.txt

CMakeLists.txt是编译的指挥文件,需根据RK3588环境调整工具链路径、依赖库引用与安装配置。以下是完整配置代码及关键参数解析:

wKgZPGkam2qAHhmSAAFekJ35HLA905.png

# 1. 最低CMake版本要求(需≥3.8,避免语法不兼容)cmake_minimum_required(VERSION 3.8)# 2. 项目名称(自定义,建议含硬件标识)project(xsc_deepseek_rkllm_demo)# 3. C++标准配置(固定C++11,适配多数嵌入式环境)set(CMAKE_CXX_STANDARD 11)set(CMAKE_CXX_STANDARD_REQUIRED ON)# 4. 工具链路径配置(关键!需与RK3588实际路径匹配)set(TOOLCHAIN_DIR /usr) # 工具链根目录set(CMAKE_CXX_COMPILER${TOOLCHAIN_DIR}/bin/aarch64-linux-gnu-g++) # C++编译器set(CMAKE_C_COMPILER${TOOLCHAIN_DIR}/bin/aarch64-linux-gnu-gcc)  # C编译器# 5. 源码目录与头文件路径(指定Deepseek源码根目录,引入RKLLM头文件)set(CMAKE_SOURCE_DIR /data/xsc_deepseek)include_directories(${CMAKE_SOURCE_DIR}/lib/librkllm_api/include/)# 6. 依赖库配置(链接RKLLM推理库与OpenMP库)set(RKLLM_RT_LIB${CMAKE_SOURCE_DIR}/lib/librkllm_api/librkllmrt.so) # RKLLM核心库set(GOMP_LIB${CMAKE_SOURCE_DIR}/lib/libgomp/libgomp.so)       # OpenMP并行库# 7. 生成可执行程序(指定源码文件main.cc,输出程序名xsc_deepseek_demo)add_executable(xsc_deepseek_demo main.cc)# 8. 链接依赖库(将程序与RKLLM、OpenMP库关联,缺一不可)target_link_libraries(xsc_deepseek_demo${RKLLM_RT_LIB}${GOMP_LIB})# 9. 安装配置(指定编译产物的输出目录,方便后续调用)set(CMAKE_INSTALL_PREFIX${CMAKE_SOURCE_DIR}/install/xsc_deepseek_rkllm_demo)install(TARGETS xsc_deepseek_demo DESTINATION ./) # 安装可执行程序install(DIRECTORY rkllm_model DESTINATION ./)   # 安装模型文件夹

关键提醒:若你的工具链路径、源码目录与本文不同,需同步修改第4569行的路径参数,这是后续编译成功的基础!

三、分步操作:从代码上传到编译排错

这部分是实操核心,我们按上传编译解决报错的顺序逐步推进,所有命令均来自实际RK3588终端操作。

步骤1:将代码上传到RK3588/data路径

先通过SSHU盘将Deepseek源码压缩包(xsc_deepseek.zip)传到RK3588/data目录,然后执行解压命令,查看目录结构是否完整:

# 进入/data目录cd/data# 解压源码包unzip xsc_deepseek.zip# 进入解压后的目录,查看文件列表cdxsc_deepseekls

正常情况下,ls会输出以下文件/目录(确认无缺失):

build-linux.sh CMakeLists.txt lib main.cc rkllm_model

其中:

lib/:存放librkllmrt.solibgomp.so依赖库

rkllm_model/Deepseek模型文件目录

build-linux.sh:编译脚本

main.cc:核心业务代码

步骤2:执行编译脚本,解决3类常见报错

直接运行编译脚本可能会遇到权限、时间戳、依赖库3类问题,我们逐个解决:

报错1“bash: ./build-linux.sh:权限不够

原因:编译脚本没有可执行权限

解决命令:给脚本赋最高权限(777表示读//执行权限全开)

chmod777 ./build-linux.sh# 重新执行编译脚本./build-linux.sh

报错2警告:文件"../../main.cc"的修改时间在未来14665332秒后

原因RK3588系统时间与文件修改时间不匹配(可能是板子断网后时间错乱)

解决命令:手动同步系统时间(本文示例时间为2025090218:28,可根据实际修改)

# 设置系统时间(格式:年-月-日 时秒)date-s"20250902 1800"# 重新执行编译脚本./build-linux.sh

报错3“undefined reference to pthread_getaffinity_np@GLIBC_2.32”

原因:自带的libgomp.so版本与RK3588GLIBC2.32版本)不兼容

解决步骤

1.先找到系统中兼容的libgomp.so路径(RK3588默认在/usr/lib/gcc/aarch64-linux-gnu/10/

2.替换源码目录中旧的libgomp.so

具体命令:

# 1. 查找系统中所有libgomp.so路径find .././ -name libgomp.so# 输出会包含:../../usr/lib/gcc/aarch64-linux-gnu/10/libgomp.so(这是兼容版本)# 2. 替换源码lib目录下的旧库(覆盖两个路径,确保编译时引用正确)cp../../usr/lib/gcc/aarch64-linux-gnu/10/libgomp.so ../../usr/lib/libgomp/libgomp.socp../../usr/lib/gcc/aarch64-linux-gnu/10/libgomp.so ../../userdata/xsc_deepseek/lib/libgomp/libgomp.so# 3. 再次执行编译脚本,此时无报错./build-linux.sh

步骤3:确认编译成功

当终端输出以下信息时,说明编译与安装完成:

--Configuringdone--Generatingdone--Buildfiles have been written to:/userdata/xsc_deepseek/build/build_linux_aarch64[50%]LinkingCXXexecutable xsc_deepseek_demo[100%]Builttarget xsc_deepseek_demoInstallthe project...--Installconfiguration:""--Installing:/data/xsc_deepseek/install/xsc_deepseek_rkllm_demo/./xsc_deepseek_demo--Setruntime path of"/data/xsc_deepseek/install/xsc_deepseek_rkllm_demo/./xsc_deepseek_demo"to""--Installing:/data/xsc_deepseek/install/xsc_deepseek_rkllm_demo/./rkllm_model

可通过以下命令验证产物:

# 进入安装目录cd/data/xsc_deepseek/install/xsc_deepseek_rkllm_demo# 查看文件(应包含可执行程序和模型目录)ls输出如下即正常:xsc_deepseek_demo rkllm_model

四、总结:部署关键要点与后续建议

本次在RK3588上部署Deepseek的核心是本地编译+依赖适配,总结3个关键注意点,帮你避免重复踩坑:

1.CMake配置是基础:工具链路径、头文件目录、依赖库必须与RK3588实际环境匹配,尤其是TOOLCHAIN_DIRRKLLM_RT_LIB的路径不能错;

2.报错解决有规律:权限问题用chmod,时间问题用date -s,依赖库问题用查找系统兼容库+替换的思路;

3.验证步骤不能少:编译后一定要到install目录确认可执行程序和模型目录是否存在,为后续运行模型做好准备。

如果后续需要运行Deepseek模型,只需在安装目录执行./xsc_deepseek_demo即可(需确保模型配置正确)。若你在操作中遇到其他问题,欢迎在评论区留言讨论!

wKgZPGkam2qAGVptAABfl6oqU1U653.png  


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5209

    文章

    20645

    浏览量

    336908
  • 大模型
    +关注

    关注

    2

    文章

    3765

    浏览量

    5269
  • DeepSeek
    +关注

    关注

    2

    文章

    837

    浏览量

    3396
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    分享 |迅为基于RK3588开发板部署测试DeepSeek模型

    分享 |迅为基于RK3588开发板部署测试DeepSeek模型
    的头像 发表于 02-18 14:26 2626次阅读
    分享 |迅为基于<b class='flag-5'>RK3588</b>开发板<b class='flag-5'>部署</b>测试<b class='flag-5'>DeepSeek</b>模型

    ATK-DLRK3588开发板deepseek-r1-1.5b/7b部署指南

    DeepSeek这样的国产大模型部署RK3588上时,由于RK3588的强大性能支持,同样的模型规模可以得到更强大的推理能力、实时性能以及
    发表于 02-14 16:33

    添越智创基于 RK3588 开发板部署测试 DeepSeek 模型全攻略

    实践筑牢了硬件根基。 DeepSeek 模型部署:两种路径,各显神通 RK3588 开发板上部署
    发表于 02-14 17:42

    RK3588开发板上部署DeepSeek-R1大模型的完整指南

    扩展规划、嵌入式适配等技术维度的突破。 RK3588作为瑞芯微推出的旗舰级芯片,凭借多核异构计算能力以及强大的CPU、GPU和NPU性能,成为嵌入式AI应用的理想平台。DeepSeek
    发表于 02-27 16:45

    手把手教你写批处理-批处理的介绍

    手把手教你写批处理-批处理的介绍
    发表于 10-25 15:02 69次下载

    美女手把手教你如何装机(下)

    美女手把手教你如何装机(下) 接著下来就是今天的重头戏,开核萝!~
    发表于 01-27 11:16 3178次阅读

    手把手教你安装Quartus II

    本章手把手把教你如何安装 Quartus II 软件 ,并将它激活 。此外 还有USB -Blaster下载器的驱动安装步骤 。
    发表于 09-18 14:55 9次下载

    手把手教你如何开始DSP编程

    手把手教你如何开始DSP编程。
    发表于 04-09 11:54 13次下载
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>如何开始DSP编程

    手把手教你学LabVIEW视觉设计

    手把手教你学LabVIEW视觉设计手把手教你学LabVIEW视觉设计手把手教你学LabVIEW视
    发表于 03-06 01:41 3572次阅读

    手把手教你移植openharmony3.0stm32(liteos_m)

    手把手教你移植openharmony3.0stm32(liteos_m)
    发表于 12-05 20:21 47次下载
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>移植openharmony3.0<b class='flag-5'>到</b>stm32(liteos_m)

    手把手教你学FPGA仿真

    电子发烧友网站提供《手把手教你学FPGA仿真.pdf》资料免费下载
    发表于 10-19 09:17 2次下载
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>学FPGA仿真

    RK3588开发板上部署并测试DeepSeek模型

    DeepSeek免费向全球开发者开放,加速了AI技术普及。   RK3588性能优势 RK3588作为一款高性能AI芯片,采用了8nm LP 制程,搭载八核处理器,四核GPU以及6TOPS算力的NPU,依靠
    的头像 发表于 02-09 09:36 3815次阅读
    <b class='flag-5'>在</b><b class='flag-5'>RK3588</b>开发板<b class='flag-5'>上部署</b>并测试<b class='flag-5'>DeepSeek</b>模型

    实战案例 | 眺望RK3588 RKLLM部署DeepSeek-R1流程

    前言:RK3588上部署Deepseek有两种方法,分别是使用Ollama工具部署和使用瑞芯微官方的RKLLM量化
    的头像 发表于 02-12 08:31 8124次阅读
    实战案例 | 眺望<b class='flag-5'>RK3588</b> RKLLM<b class='flag-5'>部署</b><b class='flag-5'>DeepSeek</b>-R1<b class='flag-5'>全</b>流程

    瑞芯微RKNPU开发指南环境搭建性能优化,一文搞定边缘AI部署

    的轻量化 NPU,都需要通过RKNN SDK实现模型部署。今天这篇文章,我们就从 SDK 核心组件、开发流程、进阶优化避坑指南手把手
    的头像 发表于 02-06 16:35 3607次阅读
    瑞芯微RKNPU开发<b class='flag-5'>全</b><b class='flag-5'>指南</b>:<b class='flag-5'>从</b>环境搭建<b class='flag-5'>到</b>性能优化,一文搞定边缘AI<b class='flag-5'>部署</b>

    RK3588 CPU 隔离:AB/非 AB 系统双方案适配实战

    方案 ,两套方案代码均完整可直接套用,核心差异仅在于 代码集成路径与函数调用时机 ,且均支持通过vendor_storage动态配置隔离核心,无需反复编译固件,重启即可生效。下文将从隔离原理、适用场景、双方案实现、动态配置、效果验证维度展开,
    的头像 发表于 02-09 07:12 531次阅读
    <b class='flag-5'>RK3588</b> CPU 隔离:AB/非 AB 系统双方案适配实战