环境安装以及烧录
- 一、简介
- [二、 环境搭建](#二、 环境搭建)
- [三、 SDK编译](#三、 SDK编译)
-
- [3.1 Docker安装](#3.1 Docker安装)
- [3.2 创建镜像](#3.2 创建镜像)
- [3.3 基于镜像创建容器](#3.3 基于镜像创建容器)
- [3.4 列出所有的容器(再次进入Docker)](#3.4 列出所有的容器(再次进入Docker))
- [3.5 启动容器并进入(名字)](#3.5 启动容器并进入(名字))
- [3.6 启动容器并进入(ID)](#3.6 启动容器并进入(ID))
- [3.7 在容器里面在安装一下环境](#3.7 在容器里面在安装一下环境)
- [3.8 可以开始编译了](#3.8 可以开始编译了)
- [四、 烧录](#四、 烧录)
-
- [4.1 打开工具](#4.1 打开工具)
- 4.2下载分散镜像(4.2与4.3选一)
- [4.3 下载update.img(4.2与4.3选一)](#4.3 下载update.img(4.2与4.3选一))
一、简介
本人是Linux环境下开发,所以搭建环境都是Linux所需要的。买的是泰山派的开发板。目标是直接做项目的。
跟着视频一步一步去做,这里只记录视频和文档有出入的地方。离线的资料他们视频下面就有。
二、 环境搭建
这个没什么要讲的,我在3588的时候搭建过了(Samba没搞因为已经安装了相同的东西了,我已经可以文件互传了)。
(正常不会遇到下面问题,可以跳过)
问题1: 在这里遇到了一个问题,就是我在虚拟机点了挂起,结果就出问题了,VMware弹出错误提示,后面我再打开就连不上网络了。
问题1解决方法:
- 将虚拟机网络适配器改为主机模式;
- 在Ubuntu指令窗口中依次输入以下指令:
sudo service network-manager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start- 将网络适配器换回NAT/桥接/其他模式
目前修改后就是如下:


问题1参考:
https://juejin.cn/post/7057497897910140936
https://blog.csdn.net/CHYabc123456hh/article/details/112890125
三、 SDK编译
SDK网页文档和视频都比较详细,但是跟着视频去搭建环境的时候需要搭建Docker,跟着文档没有说(搭建Docker有单独的文档),虽然没有搭建我也成功了,但是我还是觉得有必要搭建。
在线路径为:https://wiki.lckfb.com/zh-hans/tspi-rk3566/project-case/fat-little-cell-phone/sdk-compile.html
在线路径为:https://wiki.lckfb.com/zh-hans/tspi-rk3566/sdk-compilation/docker-compiling-environment.html
离线路径为:立创·泰山派开发板资料→第03章.【立创·泰山派】文档手册→【Docker】编译环境搭建.pdf
3.1 Docker安装
问题2: 我自己安装的时候没有看到在线文档,有些指令加了换行,结果导致后面在更新的时候报了E: 文件 list 第 1 行的记录格式有误 /etc/apt/sources.list.d/docker.list (Suite)

问题2解决方法:
- 打开这个文件看一下里面写的什么
sudo vi /etc/apt/sources.list.d/docker.list- 发现里面写了5行数据,而我刚好echo了5行,第一行明显和其他格式不对,因为我只有第一次输入这个命令有换行,所以我直接修改第一行,并删除其余4行
问题3: 创建镜像的时候出现ERROR: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http://%2Fvar%2Frun%2Fdocker.sock/_ping": dial unix /var/run/docker.sock: connect: permission denied

问题3解决方法:
- 将当前用户加入到docker用户组
sudo groupadd docker #添加用户组
sudo gpasswd -a ${USER} docker #将当前用户添加至用户组
newgrp docker #更新用户组

3.2 创建镜像
问题4: 文档讲的错,我这里出现了ERROR [internal] load metadata for docker.io/library/ubuntu:18.04。

问题4解决方法:
- 照着在线文档写
sudo vi /etc/docker/daemon.json
这个对我来说是个新文件,写入如下,写完保存退出
cpp
{
"registry-mirrors": ["https://ccr.ccs.tencentyun.com/"]
}
- 重启
sudo systemctl restart docker- 重新运行
docker build -t lckfb_android11_sdk_cmp .- 可以在前面加上sudo,如果不报错就不加
3.3 基于镜像创建容器
cpp
docker run --privileged --mount type=bind,source=/home/bjp/rk3566/sdk,target=/home/lckfb --name="lckfb_android11_sdk" -h lckfb -it lckfb_android11_sdk_cmp
这里就不一一介绍了,重点是要把指令里面的目录和镜像换成自己的,这里我的目录不一样,镜像啥的在Dockerfile里面和人家的一样,构建名字都一样,所以我这里只要改一下sdk的目录。
cpp
--mount type=bind,source=/home/bjp/rk3566/sdk,target=/home/lckfb:
创建绑定类型的挂载点,将宿主机上的 /home/bjp/rk3566/sdk 目录挂载到容器内的 /home/lckfb 目录。这使得容器内的应用程序可以访问并操作宿主机上的该目录。


这2个就是共享目录

3.4 列出所有的容器(再次进入Docker)
cpp
docker ps -a

这里记住他的ID号或者名字,就可以启动了
3.5 启动容器并进入(名字)
3.5 和 3.6两者选其一
cpp
docker start lckfb_android11_sdk //启动容器
docker attach lckfb_android11_sdk //附加到正在运行的名为lckfb_android11_sdk的容器的终端上,以便与容器进行交互

3.6 启动容器并进入(ID)
3.5 和 3.6两者选其一
cpp
docker start 454536b61a6c
docker attach 454536b61a6c

3.7 在容器里面在安装一下环境
cpp
sudo apt-get install git ssh make gcc libssl-dev liblz4-tool expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib unzip device-tree-compiler ncurses-dev

3.8 可以开始编译了
这里开始之前,建议先把自己的环境clean一下,并且第一次有可能不会选择电源,这个要执行一下命令,因为我以前编译过,不清除会有很多问题,就比如5和6
cpp
./build.sh cleanall
电源选择,选择不对会编译报错,这里大家记住除了VCCIO4和6选1.8V其他都选3V3,如果没有弹电源选择框则需要安装sudo apt install whiptail后在重新编译。
cpp
sudo apt install whiptail
这里可以跟着详细文档接着走了。
在线路径为:https://wiki.lckfb.com/zh-hans/tspi-rk3566/project-case/fat-little-cell-phone/sdk-compile.html
在线路径为(详细):https://wiki.lckfb.com/zh-hans/tspi-rk3566/sdk-compilation/linux-compilation.html

我选择全编译

这里注意一下,我是编译过一次的,我现在在容器重编,不是第一次编译,所以不用选择电源。下面关于电源的选择做个笔记。
问题5: 我这里出现了undefined symbol: g_task_set_name。

问题5解决方法:
思路:先看一下报的什么错,然后搜索一下,虽然搜索不到和我一样的错误,但是有类似的,我直接去执行make clean是不行的,因为我不在报错的目录下,而且当前目录也没有makefile,那么找一下这个报错的makefile的目录就好了,刚好上面有打印出来,cd进去就行了
- 打开makefile的所在目录
- 执行
make clean- 重新选择开发板编译
问题5参考:
问题6: 我这里出现了ERROR: Running build_recovery failed! ERROR: exit code 142 from line 858:。

问题6解决方法:
- 到当前目录下面
./build.sh cleanall- 重新编译

问题6参考:
这里根本就百度不到,直接deepseek了,根据他说的,自己判断一下只能是编译狗的东西对重新编译产生了影响,重新clean一下,就可以了,非常好用
四、 烧录
4.1 打开工具
工具都一样 我就打开3588的

2中方式升级
4.2下载分散镜像(4.2与4.3选一)
把文件下载到本地,勾选配置,并且替换路径升级

4.3 下载update.img(4.2与4.3选一)
选择固件点升级

参考
https://wiki.lckfb.com/zh-hans/tspi-rk3566/sdk-compilation/linux-compilation.html
• 由 青梅煮久 写于 2025 年 12 月 9 日