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即可前往所需符号的配置位置。

在该图形界面,做了两件事,一是启用CMAKE,二是将原有的BusyBox的轻量级wget(不支持https访问)换为完整版wget,具体方法如下:
- CMAKE启用:CMAKE在Development Tools中为隐藏状态,按下
/搜索CMAKE,依次启用所需的配置,最后启用ctest,看到BR2_PACKAGE_CMAKE标识符变为y,说明CMAKE已经成功启用。 - 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`目录下,并进行解压。

-
编译过程中会报出缺失库问题,按照提示安装即可;
-
恶性问题:
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
-
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的问题。
通过邮件回复