文档更新说明
| 版本号 | 日期 | 更新内容 |
|---|---|---|
| v1.0 | 2026-04-02 | 初始版本,支持 Buildroot/Debian/Ubuntu |
免责声明
本文档虽力求准确,但可能存在错误或遗漏,用户需谨慎评估适用性;我们保留随时修订的权利,且不保证旧版本内容的有效性,为了得到最新版本的产品信息,请定时访问立创开发板官网进行资料的更新下载。本文档版权及最终解释权归深圳嘉立创科技集团股份有限公司所有。请务必注意以上声明,自行评估风险并决策,我们对使用本文档产生的任何问题概不负责。感谢您的包容与支持。
前言
本教程介绍基于 Linux 6.1 内核的 RK3566 开发板系统编译方法,支持 Buildroot、Debian 和 Ubuntu 三种主流 Linux 发行版。
与传统的 Linux 4.19 内核 SDK 不同,Linux 6.1 SDK 采用了更新的构建脚本和工具链,特别适合需要最新内核特性和硬件支持的项目。
参考资料
新手建议
如果您是第一次接触 RK3566 开发,建议先参考训练营的【胖妞手机】教程,了解基础的开发流程后再进行系统编译。
SDK 环境搭建
准备工作
硬件要求
编译 Linux 6.1 系统对电脑配置要求较高,建议配置如下:
| 组件 | 最低配置 | 推荐配置 |
|---|---|---|
| CPU | 4 核 2.0GHz+ | 8 核 3.0GHz+ |
| 内存 | 8GB | 16GB+ |
| 硬盘 | 100GB 可用空间 | 200GB+ SSD |
| 网络 | 稳定网络连接 | 100Mbps+ 有线网络 |
虚拟机配置
如果您使用虚拟机编译,建议配置:
| 项目 | 配置 |
|---|---|
| CPU | 4-8 核心 |
| 内存 | 8GB-16GB |
| 硬盘 | 100GB+ 动态分配 SSD |
| 网络 | 桥接模式或 NAT 模式 |
Ubuntu 版本要求
Linux 6.1 SDK 推荐使用 Ubuntu 22.04 LTS 主机环境,不建议使用过旧的 Ubuntu 版本。
NAME="Ubuntu"
VERSION="22.04.5 LTS (Jammy Jellyfish)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 22.04.5 LTS"
VERSION_ID="22.04"
VERSION_CODENAME=jammy
UBUNTU_CODENAME=jammy2
3
4
5
6
7
8
下载 SDK
获取 SDK
开发板资料我们通过网盘提供,其中 SDK 资料目录如下大家自行下载:
下载
📌 在 下载中心->百度网盘->第05章.【立创·泰山派】系统SDK->【SDK】Linux-kernel6.1->tspi_1m_linux_kernel6.1_sdk_xxxxxxxx
由于 SDK 压缩包体积较大,我们将一个完整的 SDK 分割成多个分卷(00, 01, 02...),在下载或传输过程中任何一个分卷损坏都会导致解压失败。
将 tspi_1m_linux_kernel6.1_sdk_xxxxxxxx 整个文件夹都下载下来即可。
分割多个分卷的好处
- 突破文件大小限制: 某些云存储的单个文件限制 2-5GB,不方便上传、下载、备份。
- 便于传输和存储:分批次上传到云存储网盘,避免因网络中断重传整个大文件。
- 容错性:如果某个分卷损坏,只需要重新下载损坏的那个分卷而不需要重新下载整个 SDK
xxxxxxxx表示 SDK 发布日期- SDK 会不定期更新,建议每次下载最新版本
- Linux 6.1 SDK 体积较大(编译后约 80GB),请确保有足够的存储空间
文件介绍
百度网盘中的文件介绍。
README.md
SDK 介绍:有什么,怎么快速开始使用,怎么校验验证。
extract_sdk.sh
自动解压脚本,一键执行分卷校验、内存检查、分卷合并、SDK解压、SDK文件校验等功能。
rk3566_linux_sdk_xxxxxxxx.tar.xz.part.xx
完整SDK分卷后的分卷压缩包,后期需要使用他们合并再解压。自动解压脚本使用,解压完成前不建议删除。
file_checksums.sha256
用于校验解压完成后的文件完整性。自动解压脚本使用,解压完成前不建议删除。
sdk_parts_checksums.sha256
使用 sha256 验证分卷文件的完整性。自动解压脚本使用,解压完成前不建议删除。
sdk_parts_checksums.md5
使用 md5 验证分卷文件的完整性,用户可自行校验。
SDK 解压
确保系统有足够的磁盘空间
我们提供了自动解压脚本 extract_sdk.sh ,其与 SDK 分卷同处一个文件夹下。它会自动执行分卷校验、内存检查、分卷合并、SDK解压、SDK文件校验等功能。
如果要在当前目录解压则输入命令:
不建议直接解压到当前文件夹;另外如果无法执行命令则需要给脚本权限:
chmod +x extract_sdk.sh
./extract_sdk.sh如果要解压到指定目录,则输入命令格式:
./extract_sdk.sh 要解压的目录例如解压到 /home/liguoyi/Desktop 下,则运行 ./extract_sdk.sh /home/liguoyi/Desktop。
本文章将解压到上一层目录的 tspi_1m_linux_kernel6.1_sdk。如果没有这个文件夹就会自动创建。
../表示返回上一层文件夹,./表示当前文件夹。
./extract_sdk.sh ../tspi_1m_linux_kernel6.1_sdk在脚本执行时,会进行文件校验,校验时所有文件都显示 OK,则说明文件完整,可以安全解压。如果有文件校验失败,需要重新下载对应的压缩包。
同步 SDK 源码
解压完成后只有 .repo 目录我们还需要通过 repo 命令把代码同步出来,运行 repo 命令需要我们 ubuntu 安装有 git 和 python 否则会报错。
更新软件包
sudo apt-get update安装git
sudo apt-get install git -y安装repo
sudo apt install repo -y安装python2
sudo apt-get install python2.7安装python3
sudo apt-get install python3python版本切换设置,为什么要切换呢因为有时候我们会用python2有时候会用python3
$设置 python2.7
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
$设置 python3.6
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 22
3
4
切换
sudo update-alternatives --config python切换到python2.7
$ sudo update-alternatives --config python
There are 2 choices for the alternative python (providing /usr/bin/python).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/python3.6 2 auto mode
1 /usr/bin/python2.7 1 manual mode
2 /usr/bin/python3.6 2 manual mode
Press <enter> to keep the current choice[*], or type selection number: 12
3
4
5
6
7
8
9
10
同步
.repo/repo/repo sync -l -j88同步成功
SDK 目录结构解读
进入解压后的 SDK 目录:
cd tspi_linux_sdk_xxxxxxxx查看目录结构:
ls输出:
app build.sh debian docs hal kernel-6.1 prebuilts rkflash.sh tools yocto
buildroot Copyright_Statement.md device external kernel Makefile rkbin rtos u-boot2
| 目录 | 说明 |
|---|---|
app | 上层应用程序(qcamera/qfm/qplayer/settings 等) |
buildroot | 基于 Buildroot 的根文件系统 |
debian | 基于 Debian 的根文件系统 |
device/rockchip | 芯片板级配置、Parameter 文件、编译脚本 |
external | 第三方仓库(音频、视频、网络、recovery 等) |
kernel | Linux 4.19 内核代码(旧版) |
kernel-6.1 | Linux 6.1 内核代码(新版) |
prebuilts | 交叉编译工具链 |
rkbin | Rockchip 相关 Binary 和工具 |
rockdev | 编译输出固件目录,如果没有进行过编译则不会存在 |
tools | Linux/Windows 工具 |
u-boot | U-Boot 引导程序代码 |
yocto | Yocto 根文件系统 |
注意
Linux 6.1 SDK 与传统 SDK 的主要区别在于:
- 内核目录从
kernel变为kernel-6.1 - Ubuntu 构建脚本位于独立的
ubuntu目录 - 构建命令和环境变量有所不同
编译环境配置
在 Ubuntu 22.04 主机上安装编译所需依赖:
sudo apt update && sudo apt full-upgrade安装基础编译工具:
sudo apt-get install git ssh make gcc libssl-dev liblz4-tool expect \
g++ patchelf chrpath gawk texinfo diffstat binfmt-support \
qemu-user-static bison flex fakeroot cmake gcc-multilib \
g++-multilib unzip device-tree-compiler ncurses-dev \
libgucharmap-2-90-dev bzip2 expat gpgv2 cpp-aarch64-linux-gnu \
libgmp-dev libmpc-dev bc python3 python3-setuptools \
swig python3-dev gettext libc6-dev libncurses-dev rsync \
python-is-python32
3
4
5
6
7
8
Buildroot 系统编译
一键编译
./build.sh lunch:rockchip_rk3566_taishanpi_1m_v10_defconfig && ./build.sh默认是编译 Buildroot 系统
固件会输出到 rockdev 目录:
rockdev/
├── MiniLoaderAll.bin
├── boot.img
├── misc.img
├── parameter.txt
├── recovery.img
├── rootfs.img
├── uboot.img
├── userdata.img
├── oem.img
└── update.img2
3
4
5
6
7
8
9
10
11
update.img 即为最终的系统固件文件。
常见问题
host-make 4.3 下载 404
报错信息:
2026-04-02T15:47:58 >>> host-make 4.3 Downloading
2026-04-02T15:47:58 wget --passive-ftp -nd -t 3 --no-check-certificate -O '/home/liguoyi/tspi-1m-linux-sdk/rk3566_rk3568_linux6.1_release/buildroot/output/rockchip_rk3566_taishanpi_1m_v10/rockchip_rk3566/build/.make-4.3.tar.lz.LnaaQP/output' 'https://sources.buildroot.net/make/make-4.3.tar.lz'
2026-04-02T15:47:58 --2026-04-02 15:47:58-- https://sources.buildroot.net/make/make-4.3.tar.lz
2026-04-02T15:47:58 Resolving sources.buildroot.net (sources.buildroot.net)... 172.67.72.56, 104.26.0.37, 104.26.1.37, ...
2026-04-02T15:47:58 Connecting to sources.buildroot.net (sources.buildroot.net)|172.67.72.56|:443... connected.
2026-04-02T15:47:59 HTTP request sent, awaiting response... 404 Not Found
2026-04-02T15:47:59 2026-04-02 15:47:59 ERROR 404: Not Found.
2026-04-02T15:47:59
2026-04-02T15:47:59 wget --passive-ftp -nd -t 3 --no-check-certificate -O '/home/liguoyi/tspi-1m-linux-sdk/rk3566_rk3568_linux6.1_release/buildroot/output/rockchip_rk3566_taishanpi_1m_v10/rockchip_rk3566/build/.make-4.3.tar.lz.yZ5XA6/output' 'https://sources.buildroot.net/make-4.3.tar.lz'
2026-04-02T15:47:59 --2026-04-02 15:47:59-- https://sources.buildroot.net/make-4.3.tar.lz
2026-04-02T15:47:59 Resolving sources.buildroot.net (sources.buildroot.net)... 104.26.0.37, 104.26.1.37, 172.67.72.56, ...
2026-04-02T15:47:59 Connecting to sources.buildroot.net (sources.buildroot.net)|104.26.0.37|:443... connected.
2026-04-02T15:47:59 HTTP request sent, awaiting response... 404 Not Found
2026-04-02T15:47:59 2026-04-02 15:47:59 ERROR 404: Not Found.2
3
4
5
6
7
8
9
10
11
12
13
14
解决办法:手动下载并放置
# 1. 去到dl库下的make目录
cd buildroot/dl/make/
# 2. 手动下载(找一个可用的镜像)
# 可以尝试其他镜像源,例如:
wget -O make-4.3.tar.lz https://ftp.gnu.org/gnu/make/make-4.3.tar.lz
# 或者使用 GitHub 镜像
#wget -O make-4.3.tar.lz https://github.com/mirror/make/releases/download/make-4.3/make-4.3.tar.lz
# 3. 回到SDK根目录下
cd ../../../
# 4. 重新编译
./build.sh lunch:rockchip_rk3566_taishanpi_1m_v10_defconfig && ./build.sh2
3
4
5
6
7
8
9
10
11
12
13
14
Debian 系统编译
./build.sh lunch:rockchip_rk3566_taishanpi_1m_v10_defconfig && RK_ROOTFS_SYSTEM=debian ./build.shUbuntu 系统编译
环境要求
- 主机环境:Ubuntu 22.04 LTS
- 网络环境:确保可以访问 Ubuntu 官方源
- 存储空间:至少 50GB 可用空间
- SDK 至少编译成功过 Buildroot 或者 Debian 系统一次
构建方式一:通过 SDK 构建系统(推荐)
拉取Ubuntu文件
在 SDK 根目录下执行:
git clone .repo/projects/ubuntu22.04-rootfs.git ubuntu设置编译环境
去到ubuntu目录下
cd /path/to/tspi_linux_sdk_xxxxxxxx/ubuntu配置环境(一次性)
sudo apt update && sudo apt full-upgrade && sudo ./host_check.sh && sudo pip3 install pyelftools && sudo ln -sf /usr/bin/python3 /usr/bin/python && sudo sed -i -e '/\%sudo/ c \%sudo ALL=(ALL) NOPASSWD: ALL' /etc/sudoers && sudo usermod -a -G sudo $USER && exec su - $USER如果在运行时出现
sudo: ./host_check.sh:找不到命令,那就执行chmod +x host_check.sh来添加执行权限 如果在运行期间存在未通过的检测项, 请根据提示修复后重新执行
生成 deb 包
去到 SDK 内核下
cd /path/to/tspi_linux_sdk_xxxxxxxx/kernel-6.1生成 deb 包
make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 LOCALVERSION="" bindeb-pkg -j$(nproc)编译完成后会在 SDK 根目录生成:
- linux-headers-6.1.141_6.1.141-1_arm64.deb
- linux-image-6.1.141_6.1.141-1_arm64.deb
- linux-libc-dev_6.1.141-1_arm64.deb
桌面版构建
去到ubuntu目录下
cd /path/to/tspi_linux_sdk_xxxxxxxx/ubuntu构建桌面版 ubuntu
GUI=desktop ./mk-base-ubuntu.sh && GUI=desktop ./mk-ubuntu-rootfs.sh && ./mk-image.sh如果遇到权限不够,去给予权限:
bashsudo chmod +x ./mk-base-ubuntu.sh sudo chmod +x ./mk-ubuntu-rootfs.sh sudo chmod +x ./mk-image.sh1
2
3
服务器版构建
GUI=console ./mk-base-ubuntu.sh && GUI=console ./mk-ubuntu-rootfs.sh && ./mk-image.sh如果遇到权限不够,去给予权限:
bashsudo chmod +x ./mk-base-ubuntu.sh sudo chmod +x ./mk-ubuntu-rootfs.sh sudo chmod +x ./mk-image.sh1
2
3
构建输出
构建完成后会在 ubuntu 目录下生成:
ubuntu-jammy.img- 可直接烧录的镜像文件binary/- 未打包的 rootfs 目录
烧录时将 ubuntu-jammy.img 烧录到 rootfs 分区即可。