第四章 RK3568 Linux SDK软件包

本章向用户介绍正点原子ATK-DLRK3568硬件平台Linux SDK软件包的安装以及使用方法,该SDK适用于正点原子ATK-DLRK3568开发板以及基于此开发板进行二次开发的所有Linux产品;基于本SDK,可以有效实现系统定制和应用移植开发,帮助用户快速开发、提高开发效率! Linux SDK支持buildroot、Yocto以及Debian三种根文件系统,Linux内核版本为4.19、U-Boot版本为2017.09。 本章将分为如下几个小节: 4.1 安装RK3568 Linux SDK 4.2 SDK软件架构介绍 4.3 SDK全自动编译 4.4 单独编译 4.5 SDK清理 4.6 镜像介绍

RK官方参考文档: /docs/Rockchip_Developer_Guide_Linux_Software_CN.pdf

开发板光盘A盘-基础资料08、RK官方文档Linux Rockchip_Developer_Guide_Linux_Software_CN.pdf 强烈建议大家去看看!

4.1 安装RK3568 Linux SDK

本小节向用户介绍如何在Ubuntu系统下安装正点原子ATK-DLRK3568开发板SDK软件包。 4.1.1 安装依赖软件包 首先需要在Ubuntu系统下安装SDK编译环境所依赖的软件包,执行如下命令安装软件包: sudo apt-get update sudo apt-get install curl python2.7 python-pyelftools 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 python3-pip \ libncurses-dev python3-pyelftools vim mtd-utils 安装过程中确保Ubuntu系统网络连接正常,安装过程需要一定的时间,请用户耐心等待! 将python2设置为系统默认python版本: sudo rm -rf /usr/bin/python sudo ln -s /usr/bin/python2 /usr/bin/python 4.1.2 安装repo(跳过) repo是建立在Git上的一个多仓库管理工具,可以组织多个仓库的上传和下载,用于管理多个Git存储仓库。RK3568 Linux SDK中代码和相关文档被划分成了若干个git仓库分别进行版本管理(SDK包含了若干个git仓库),开发者可以使用repo工具对这些git仓库进行统一下载、提交、切换分支等操作。 安装SDK需要使用到repo工具,所以要先安装repo。 首先在用户家目录下创建一个bin文件夹,并将其导出到PATH环境变量: mkdir ~/bin export PATH=~/bin:$PATH 如果可以访问Google,可通过如下命令下载repo,并赋予其可执行权限: curl  https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

chmod a+x ~/bin/repo 国内网络环境下如果执行上述命令后发现~/bin/repo文件为空,此时可以访问国内的站点来下载repo工具,并赋予其可执行权限: curl  https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo

chmod a+x ~/bin/repo

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_Ubuntu

图4.1.2.1 下载repo工具

repo工具其实就是一个python脚本。 4.1.3 Git配置 使用repo之前需要用户配置自己的git信息,否则后面的操作可能会遇到hook检查的障碍: git config --global  user.name "your name"

git config --global user.email "your email" 请用户根据实际情况配置。可通过如下命令查看git配置信息: git config --list

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_Ubuntu_02

图4.1.3.1 查看git配置信息

4.1.4 安装SDK 接下来开始安装RK3568 Linux SDK,开发板资料包中已经给用户提供了SDK的压缩包文件,路径为:开发板光盘B盘-开发环境及SDK02、ATK-DLRK3568开发板SDKatk-rk3568_linux_release_v1.0_20230620.tgz,随着版本的更新,SDK压缩包文件的名字也将会发生改变,但均以atk-rk3568_linux_release_版本_发布日期.tgz方式进行命名。每次发布新版本SDK时,将会替换网盘中的旧版本SDK,如果用户需要获取旧版本SDK,请联系正点原子Linux技术支持获取! 将tgz压缩文件拷贝到Ubuntu系统的用户家目录下,并执行如下命令将其解压到家目录下的rk3568_linux_sdk目录: mkdir ~/rk3568_linux_sdk tar xvf atk-rk3568_linux_release_v1.0_20230620.tgz -C ~/rk3568_linux_sdk

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_根文件系统_03

图4.1.4.1 SDK包解压

解压完成后,~/rk3568_linux_sdk/目录下会存在一个.repo文件夹,如图4.1.4.2所示:

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_linux_04

图4.1.4.2 .repo文件夹

执行如下命令可检出源码: cd ~/rk3568_linux_sdk/ .repo/repo/repo sync -l -j10

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_根文件系统_05

图4.1.4.3 检出源码

同步完成后,~/rk3568_linux_sdk/目录下的内容如图4.1.4.4所示:

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_linux_06

图4.1.4.4 SDK工程目录

4.1.5 SDK更新 正点原子技术团队会对SDK软件进行更新、升级,并以压缩包文件的形式提供给用户,压缩包文件的命名方式为atk-rk3568_linux_release_版本_发布日期.tgz,每次发布新版本SDK时会替换资料网盘中的旧版SDK,所以,网盘中的SDK即为当前最新版本SDK;如需获取最新版本SDK,只能通过正点原子资料网盘进行下载;如需获取旧版本SDK,请联系正点原子Linux技术支持! 每一次的SDK版本更新将会通过SDK/.repo/manifests/rk356x_linux/ATK-RK3568_Linux_SDK_Note.md文档进行记录,如果用户想要了解SDK版本更新记录可以查看该文档(建议使用Markdown文档阅读器打开)。 4.1.6 SDK问题反馈 用户在使用、开发过程中,如发现了SDK的一些问题、软件BUG、具体技术问题、技术咨询等,可以通过QQ群或者淘宝联系正点原子Linux技术支持,并向其说明问题,后续将会安排开发人员进行相应的处理、跟踪。 4.1.7 SDK瘦身 如果用户的Ubuntu系统磁盘空间比较紧张,可以对SDK进行瘦身,将SDK源码根目录下的.repo(隐藏文件夹,使用ls -a可看到)文件夹删除;注意,.repo文件夹中保存了SDK所有git仓库的git提交信息,一旦删除,则后续将无法查看到任何仓库的git提交信息,所以不建议删除。 4.2 SDK软件架构介绍 本小节向用户介绍SDK软件架构。 4.2.1 SDK工程目录介绍 SDK源码根目录下包含有app、buildroot、debian、device、external、tools、u-boot、yocto等多个目录,每个目录或其子目录会对应一个git工程;因为SDK的代码和相关文档被划分成了若干git仓库分别进行版本管理(所以SDK实际上包含有若干git仓库),它们按照功能、所属模块划分,分别组织到不同的目录下。 app:存放上层应用app,包括Qt应用程序,以及其它的C/C++应用程序。 buildroot:基于buildroot开发的根文件系统。 debian:基于Debian开发的根文件系统。 device/rockchip:存放各芯片板级配置文件和Parameter分区表文件,以及一些编译与打包固件的脚本和预备文件。 docs:存放芯片模块开发指导文档、平台支持列表、芯片平台相关文档、Linux开发指南等。 external:存放所需的第三方库,包括音频、视频、网络、recovery等。 kernel:Linux 4.19版本内核源码。 prebuilts:存放交叉编译工具链。 rkbin:存放Rockchip相关的Binary和工具。 rockdev:存放编译输出固件,编译SDK后才会生成该文件夹。 tools:存放Linux和Windows操作系统环境下常用的工具,包括镜像烧录工具、SD卡升级启动制作工具、批量烧录工具等,譬如前面给大家介绍的RKDevTool工具以及Linux_Upgrade_Tool工具都存放在该目录。 u-boot:基于v2017.09版本进行开发的uboot源码。 yocto:基于Yocto开发的根文件系统。 4.2.2 SDK软件框图 SDK软件框图如图4.2.2.1所示,从下至上分为Bootloader、Linux Kernel、Libraries、Applications四个层次,各层次内容如下: BootLoader层主要提供底层系统支持包,如BootLoader、U-Boot、ATF相关支持。 Kernel层主要提供Linux Kernel的标准实现,Linux也是一个开放的操作系统。Rockchip平台的Linux核心为标准的Linux4.4/4.19/5.10内核,提供安全性、内存管理、进程管理、网络协议栈等基础支持;主要是通过Linux内核管理设备硬件资源,如CPU调度、缓存、内存、I/O等。 Libraries层对应一般嵌入式系统,相当于中间件层次,包含了各种系统基础库,以及第三方开源程序库支持,对应用层提供API接口,系统定制者和应用开发者可以基于Libraries层的API开发新的应用。 Applications层主要是实现具体的产品功能及交互逻辑,需要一些系统基础库及第三方程序库支持,开发者可以开发实现自己的应用程序,提供系统各种能力给到最终用户。

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_linux_07

图4.2.2.1 SDK软件框图

4.2.3 SDK版本查询 正点原子RK3568 Linux SDK的版本可分为RK版本和ATK版本;所谓RK版本,则表示本SDK是基于RK官方(Rockchip,瑞芯微)的某版本Linux SDK进行的二次开发;在RK原生SDK的基础上进行二次开发,以适配我们正点原子的ATK-DLRK3568开发平台以及进行一些相应的扩展。 而ATK版本则表示正点原子Linux技术团队对RK3568 Linux SDK所定义的内部版本号,每一次发布的SDK都会有一个版本号与之对应。 在SDK源码根目录下,执行如下命令可查询当前SDK的ATK版本: realpath .repo/manifests/rk3568_linux_release.xml

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_Ubuntu_08

图4.2.3.1 查询SDK的ATK版本

从图中可知,当前SDK的ATK版本为V1.0,发布日期为xxx。 在SDK源码根目录下,执行如下命令可查询当前SDK的RK版本: ls .repo/manifests/rk356x_linux/rk356x_linux_release*

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_根文件系统_09

图4.2.3.2 查询SDK的RK版本

从图中可知,当前SDK的RK版本为V1.3.0,发布日期为2022年06月20日。 4.3 SDK全自动编译 本小节向用户介绍如何编译RK3568 Linux SDK,首先进入到SDK源码根目录下,在编译之前先执行如下命令指定SDK的板级配置文件: ./build.sh lunch

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_linux_10

图4.3.1  执行build.sh lunch选择板级配置文件

输入板级配置文件对应的序号、然后按回车确认:

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_linux_11

图4.3.2 确认选择对应的板级配置文件

build.sh是RK提供的一个编译脚本,使用该脚本可以方便用户快速构建出各种镜像文件以及对镜像进行打包操作,既可以一键全自动编译整个SDK,也可以单独编译U-Boot、Linux Kernel、buildroot等,非常方便! build.sh脚本其实是一个软链接文件,实际指向了device/rockchip/common/build.sh文件,如下图所示:

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_linux_12

图4.3.3 build.sh软链接文件

可通过执行如下命令查看build.sh脚本的使用方法: ./build.sh -h

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_Ubuntu_13

图4.3.4 查看build.sh脚本帮助信息

从图中可知,build.sh脚本支持的参数比较多,在开发过程中常用的也就几个而已,如下表所示:

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_Ubuntu_14

表4.3.1 build.sh常用命令

后续还会给大家介绍这些参数的使用方法,这里先对其有一个基本的了解即可! 选择板级配置文件后,接下来便可以进行编译了;整个SDK编译过程中最耗时的部分便是根文件系统的编译了,在编译根文件系统的过程中会通过网络下载很多的第三方库文件;首先,下载过程会占用很多时间导致编译时间拉长;其次,如果用户的网络环境不稳定或者第三方库文件的下载源发生变更,很容易导致下载失败,进而导致根文件系统编译出错;所以,为了加快根文件系统的编译过程、也为了降低编译根文件系统时出现问题的概率,我们可以预先把编译根文件系统所需的第三方库文件拷贝到SDK中。 正点原子ATK-DLRK3568开发板资料包中已经给用户提供了这些所需的第三方库文件,具体路径为:开发板光盘B盘-开发环境及SDK02、ATK-DLRK3568开发板SDKdl.tgz,首先将该压缩文件拷贝到Ubuntu系统家目录下,如下所示:

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_根文件系统_15

图4.3.5 dl.tgz压缩文件

执行如下命令将其解压到/buildroot目录下: tar -xzf dl.tgz -C ~/rk3568_linux_sdk/buildroot/

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_linux_16

图4.3.6 dl.tgz解压

解压完成后,可以进入到/buildroot目录下,该目录下会存在一个dl目录,该目录下存放的便是第三方库文件,如下所示:

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_Ubuntu_17

图4.3.7 dl目录下的库文件

准备工作做完之后接下来便可以编译SDK了,进入到SDK源码根目录下,执行如下命令编译整个SDK: ./build.sh all

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_Ubuntu_18

图4.3.8 一键全自动编译整个SDK

整个编译过程将会持续很长一段时间,整个编译过程所花费的时间长短与个人电脑配置有关,快则一个小时左右、慢则3、4个小时,甚至更长的时间。 如果编译失败、并且出现类似如下错误信息,则表示你的Ubuntu系统内存不足:

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_根文件系统_19

图4.3.9 内存不足导致编译失败

那么在这种情况下,可以有两种方法尝试去解决它;首先,如果硬件条件允许的情况下,直接扩大Ubuntu系统的内存容量即可,这也是最直接、最有效的方法;如果硬件条件不允许,已经没有多余的物理内存再分给Ubuntu系统了,那么这种情况下,我们可以增大Ubuntu系统的swap交互空间,通过增大swap交换空间来尝试解决这个由于内存不足所导致的编译失败问题。 推荐大家使用第一种方法来解决该问题,也就是增大Ubuntu内存容量;实在不行,再尝试通过增大swap交换空间来解决;Ubuntu系统swap交换空间默认大小为2G,譬如可以将其配置为8G、16G、32G等等。对于如何配置、增大swap交换空间,本文档不作说明,大家可以自行百度解决,也可以参考正点原子提供的文档《Ubuntu系统扩充swap交换空间.pdf》,文档路径为:开发板光盘A盘-基础资料10、用户手册03、辅助文档【正点原子】Ubuntu系统扩充swap交换空间.pdf。 在编译过程中,除了可能会遇到该问题之外,可能还会遇到其它的一些问题,毕竟每个人的开发环境可能或多或少的存在一些差异,所以大家应尽量按照本文档说明进行操作,尤其是4.1.1小节中所要求安装的依赖软件包。 如果没有出现意外,整个SDK编译将会成功,如图4.3.10所示:

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_根文件系统_20

图4.3.10 SDK编译成功

出现了“Running build_all succeeded”字符串则表示SDK编译成功了,那么恭喜各位! 编译完成后,会生成各种镜像,包括boot.img、uboot.img、MiniLoaderAll.bin、rootfs.img、recovery.img等等,但是这些镜像文件散布在各自的源码目录下、不方便用户查找,此时我们可以执行如下命令将它们打包到SDK/rockdev目录: ./build.sh firmware 或者直接执行SDK源码根目录下的./mkfirmware.sh脚本(./build.sh firmware命令其实就是执行了mkfirmware.sh脚本): ./mkfirmware.sh

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_根文件系统_21

图4.3.11 打包镜像到rockdev目录

执行完命令后进入到rockdev目录下,如下所示:

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_Ubuntu_22

图4.3.12 rockdev目录下的文件

该目录下的文件基本都是软链接,链接到真正的镜像文件。 除了使用“./build.sh all”命令外,我们还可以直接执行“./build.sh”脚本(不带任何参数)来编译整个SDK;运行“./build.sh”命令会在“./build.sh all”命令的基础上增加如下操作: 1、执行./mkfirmware.sh将所有镜像打包到rockdev目录 2、将rockdev目录下的所有镜像打包成一个update.img固件 3、复制rockdev目录下的镜像到IMAGE/***_RELEASE_TEST/IMAGES目录(表示编译日期) 4、保存各个模块的补丁到IMAGE/_RELEASE_TEST/PATCHES目录

注:./build.sh和./build.sh allsave命令一样 4.4 单独编译 上一小节向用户介绍了如何一键全自动编译整个SDK得到所有镜像,本小节向用户介绍如何单独编译各部分源码得到相应的镜像。 4.4.1 单独编译U-Boot 通过build.sh脚本单独编译U-Boot,在SDK源码根目录下执行如下命令: ./build.sh uboot

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_Ubuntu_23

图4.4.1.1 单独编译U-Boot(1)

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_Ubuntu_24

图4.4.1.2 单独编译U-Boot(2)

编译成功后,会生成如下两个镜像: /uboot/uboot.img /uboot/rk356x_spl_loader_v1.13.112.bin rk356x_spl_loader_v1.13.112.bin其实就是MiniLoaderAll.bin,只是进行了重命名而已。 4.4.2 单独编译Kernel 通过build.sh脚本单独编译Linux Kernel,在SDK源码根目录下执行如下命令: ./build.sh kernel

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_Ubuntu_25

图4.4.2.1 单独编译Kernel(1)

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_根文件系统_26

4.4.2.2 单独编译Kernel(2)

编译成功后会生成boot.img镜像,路径为:/kernel/boot.img。 执行“./build.sh kernel”命令会编译Linux内核源码,包括内核设备树、内核模块,如果我们需要单独编译内核模块,可以执行如下命令进行编译: ./build.sh modules 当然,编译内核模块之前需要先编译好内核源码。 4.4.3 单独编译rootfs rootfs也就是根文件系统,RK3568 Linux SDK支持多种根文件系统,包括buildroot、yocto以及Debian,本小节主要介绍如何编译buildroot根文件系统,同样也推荐用户使用buildroot,不推荐使用Yocto,RK官方本身也不推荐用户使用Yocto。 通过build.sh脚本单独编译buildroot根文件系统,在SDK源码根目录下执行如下命令: ./build.sh buildroot

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_Ubuntu_27

图4.4.3.1 单独编译buildroot(1)

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_根文件系统_28

图4.4.3.2 单独编译buildroot(2)

编译成功后会生成buildroot根文件系统镜像,镜像输出在buildroot/output/rockchip_rk3568/images/目录下,如下所示:

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_根文件系统_29

图4.4.3.3 buildroot根文件系统镜像 编译生成了多个不同格式的rootfs镜像文件,对于RK3568平台来说,使用ext4格式镜像rootfs.ext2,并通常会将其重命名为rootfs.img。 除此之外,还可以通过“./build.sh rootfs”命令编译buildroot根文件系统,该命令用于编译根文件系统,但不局限于buildroot,也可以编译Yocto以及Debian;默认情况下编译的是buildroot,可以通过环境变量RK_ROOTFS_SYSTEM指定需要编译的rootfs(yocto/debian/buildroot):

指定编译buildroot根文件系统

export RK_ROOTFS_SYSTEM=buildroot

./build.sh rootfs 需要注意的是:编译根文件系统之前,需提前编译好Linux内核;因为编译根文件系统的过程中、也会编译部分未集成在内核源码中的驱动模块(单独提供驱动源码,譬如蓝牙驱动模块hci_uart.ko)、而且也会将内核源码目录下编译生成的.ko驱动模块拷贝至根文件系统(譬如WiFi驱动模块8852bs.ko),所以必须先编译好内核。 4.4.4 单独编译recovery 通过build.sh脚本单独编译recovery,在SDK源码根目录下执行如下命令: ./build.sh recovery

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_Ubuntu_30

图4.4.4.1 单独编译recovery(1)

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_Ubuntu_31

图4.4.4.2 单独编译recovery(2)

recovery.img用于进入recovery模式,该镜像会烧录到开发板recovery分区。 recovery.img是由多个镜像合并而成,其中包含ramdisk(recovery模式下挂载的根文件系统)、内核镜像、内核DTB以及资源镜像resource.img。所以,在编译recovery之前,也必须提前编译好Linux内核。 编译成功后,会生成recovery.img,该镜像输出在buildroot/output/rockchip_rk356x_recovery/images/目录下,如下所示:

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_根文件系统_32

图4.4.4.3 recovery镜像文件

4.4.5 打包成update.img镜像 update.img是多个镜像的集合体(由多个镜像打包合并而成),使用RK提供的工具可以将各个分立镜像(譬如uboot.img、boot.img、MiniLoaderAll.bin、parameter.txt、misc.img、rootfs.img、oem.img、userdata.img、recovery.img等)打包成一个update.img固件,方便用户烧录、升级。 我们可以通过如下命令将rockdev目录下的各个分立镜像打包成一个update.img固件,使用update.img固件更加方便烧录、更新! ./build.sh updateimg

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_根文件系统_33

图4.4.5.1 打包成update.img

打包成功后,会在rockdev目录下生成update.img固件,如下所示:

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_linux_34

图4.4.5.2 update.img固件

4.5 SDK清理 在SDK源码根目录下通过build.sh脚本可以执行清理操作,执行如下命令: ./build.sh cleanall 执行该命令将会清理uboot、kernel、buildroot(rootfs、recovery)。 4.6 镜像介绍 前两个小节向用户介绍了如何编译SDK,编译后会生成多个镜像文件,如下表所示:

【正点原子K210连载】第四章 RK3568 Linux SDK软件包 摘自【正点原子】DNK210使用指南-CanMV版指南_根文件系统_35

表4.6.1 RK3568各镜像介绍 以上便是对这些镜像的一个简单介绍。