跳过正文
  1. 文章列表/

RK3588使用记录

·1514 字·4 分钟·
RayChaux
作者
RayChaux

RK3588使用记录
#

更换系统为ubuntu
#

正点原子RK3588原有系统为buildroot裁剪的,很多命令缺失,像wget这样的命令还存在无法链接到https的问题,对后续的开发造成了很大困扰。遂重新烧录为ubuntu系统。参考教程:Hugo@kkl’s 正点原子论坛-RK3588烧录系统教程

重新编译Buildroot
#

重装后的Ubuntu对RK3588的适配度过低,缺少rknpu.ko这样关键的组件,于是用烧录工具重新烧录为Buildroot系统。 但在部署LLM的过程中,Buildroot系统缺少CMAKE,又不能用apt来安装,于是下载Buildroot_SDK源码(正点原子B盘02、ATK-DLRK3588开发板SDK/06、linux_r8_sdk.zip),进行重新编译。

修改Buildroot配置
#

参考正点原子文档,移植SDK到Ubuntu(我这里使用WSL)虚拟机系统,进入SDK目录下的Buildroot目录(在原有目录直接make menuconfig会进入瑞芯微修改后的图形界面),输入命令

make menuconfig

来调出图形界面,该界面下,一般所需要调整的包都在Target packages目录下,按下/可以进行搜索,显示配置符号是否开启,以及需要的开启前提,同时按在数字键,如1即可前往所需符号的配置位置。

alt text

在该图形界面,做了两件事,一是启用CMAKE,二是将原有的BusyBox的轻量级wget(不支持https访问)换为完整版wget,具体方法如下:

  1. CMAKE启用:CMAKE在Development Tools中为隐藏状态,按下/搜索CMAKE,依次启用所需的配置,最后启用ctest,看到BR2_PACKAGE_CMAKE标识符变为y,说明CMAKE已经成功启用。
  2. wget替换:启用Target packages界面的Show packages that are also provided by busybox,在Target packages-->Networking applications里面选中wget,然后需要禁用BusyBox中的wget,需要在/Buildroot_SDK/buildroot/package/busybox/busybox.config文件中,搜索wget所在行,内容为CONFIG_WGET=y,将其改为# CONFIG_WGET is not set,保存退出即可禁用。

编译Buildroot
#

在SDK目录,执行./build.sh all进行全部编译,为了确保安装过程顺利进行(过程中遇到不合适的库会编译失败,不会自动安装),可将正点原子资料盘中的dl.tgz'文件复制到SDK/buildroot`目录下,并进行解压。

alt text
遇到的问题:

  1. 编译过程中会报出缺失库问题,按照提示安装即可;

  2. 恶性问题:

2025-07-24T17:16:10 can't find package Expect
2025-07-24T17:16:10 while executing
2025-07-24T17:16:10 "package require Expect"
2025-07-24T17:16:10 (file "/usr/bin/unbuffer" line 6)

解决方法:找到’pkgIndex.tcl’文件

$ find /usr -name 'pkgIndex.tcl' 2>/dev/null | grep -i expect
/usr/lib/tcltk/x86_64-linux-gnu/expect5.45.4/pkgIndex.tcl

编辑unbuffer文件

sudo vi /usr/bin/unbuffer
#!/bin/sh
# -*- tcl -*-
# The next line is executed by /bin/sh, but not tcl \
exec tclsh8.6 "$0" ${1+"$@"}

#在此处添加如下路径
lappend auto_path "/usr/lib/tcltk/x86_64-linux-gnu/expect5.45.4"
package require Expect
……

保存退出后,再次使用unbuffer ls 命令验证

$ unbuffer ls
app        common  docs      kernel    prebuilts          README.md
  1. scripts/Kconfig.include:47: Sorry, this assembler is not supported. 解决方法:注释掉linux-rockchip/scripts/gcc-wrapper.py第105行来禁用 interpret_warning 即可解决

        proc = subprocess.Popen(args, stderr=subprocess.PIPE, env=env)
        for line in proc.stderr:
            print (line.decode("utf-8"), end="")
            interpret_warning(line.decode("utf-8"))
           #interpret_warning(line.decode("utf-8"))
        if do_exit:
            sys.exit(1)
    

解决步骤:参考CSDN

编译完成后,在SDK/output/firmware目录下找到需要的固件。

RK3588部署DeepSeek-R1
#

设备:正点原子RK3588开发板ATK-DLRK3588B 参考教程:CSDN 参考教程更新:正点原子RK3588部署大模型教程,先在Ubuntu虚拟机上进行了编译,解决了原有Buildroot系统没有CMAKE的问题。

通过邮件回复