跳转至

LINUX_SDK 编译

SDK(Software Development Kit,软件开发工具包)是一套为特定软件框架、硬件平台或操作系统提供的开发工具集合,旨在帮助开发者更高效地创建应用程序。

编译环境配置

在PC上安装Ubuntu,进行SDK编译。

  • 硬件:PC满足RAM ≥ 16 GB,CPU core ≥ 4,Hard Drive ≥ 500GB
  • 软件:Ubuntu 22.04,虚拟机磁盘空间分配 ≥ 200GB

配置安装

sudo apt-get update
sudo apt install autoconf bc binfmt-support bison build-essential bzip2
sudo apt install chrpath cmake cpp-aarch64-linux-gnu curl device-tree-compiler diffstat
sudo apt install expat expect expect-dev fakeroot flex
sudo apt install g++ g++-multilib gawk gcc gcc-multilib git gnupg gperf gpgv2 imagemagick
sudo apt install lib32ncurses5-dev lib32readline-dev lib32z1-dev libgmp-dev 
sudo apt install libgucharmap-2-90-dev liblz4-tool libmpc-dev
sudo apt install libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-gtk3-dev 
sudo apt install libxml2 libxml2-utils live-build lzop
sudo apt install make module-assistant ncurses-dev openjdk-8-jdk 
sudo apt install patchelf pngcrush python2 python-is-python3 python-pip
sudo apt install qemu-user-static rsync schedtool squashfs-tools ssh sudo 
sudo apt install texinfo u-boot-tools unzip
sudo apt install xsltproc yasm zip zlib1g-dev pip
sudo apt-get install binfmt-support qemu-user-static --reinstall
sudo pip install pyelftools
sudo ln -s /usr/bin/python2 /usr/bin/python

获取 SDK 源码

Note

1.SDK不可放在共享目录下编译。
2.编译主机不可用ROOT账号登陆

1.下载 Linux SDK 源码release_sdk.sh 脚本,通常下载日期后缀最新文件。

2.存放 tar.gz 包、md5sum 文件、release_sdk.sh 文件到编译主机同一级目录下。

rk356x-linux-*.tar.gz
rk356x-linux-*.md5sum
release_sdk.sh

3.运行脚本还原 SDK 源码。

chmod +x ./release_sdk.sh
./release_sdk.sh

示意图

K7_RESET_SDK

获取roofts

下载 rootfs,通常下载日期后缀最新文件。

  • buildroot-dl

buildroot-dl-*.tar.gz :为dl库离线包,用于节约第一次编译时间。

tar -zxvf buildroot-dl-*.tar.gz 
cp -rf ./dl rk356x-linux/buildroot/
ls rk356x-linux/buildroot/dl
  • Debian文件系统镜像

Note

1.KICKPI仅提供Debian桌面版系统镜像。
2.debian镜像文件的名称、目录必须为rk356x-linux/debian/linaro-rootfs.img。

在镜像完整编译前,需要将Debian文件系统解压放置在指定目录下。 参考步骤:

tar -zxvf linaro-rootfs-*.tar.gz
cp linaro-rootfs.img rk356x-linux/debian/
ls rk356x-linux/debian/linaro-rootfs.img
  • Ubuntu文件系统镜像

Note

1.KICKPI仅提供Ubuntu桌面版系统镜像。
2.debian镜像文件的名称、目录必须为rk356x-linux/ubuntu/ubuntu-rootfs.img。

在镜像完整编译前,需要将Ubuntu文件系统解压放置在指定目录下。 参考步骤:

tar -zxvf ubuntu-rootfs-*.tar.gz
mkdir -p rk356x-linux/ubuntu/
cp ubuntu-rootfs.img rk356x-linux/ubuntu/
ls rk356x-linux/ubuntu/ubuntu-rootfs.img

完整编译

Note

SDK源码提供buildroot系统编译,不提供buildroot系统维护

1.进入SDK源码根目录,执行如下命令配置编译目标。

./build.sh lunch

根据板卡型号和系统进行选择配置文件。

主板 系统 配置文件
K1 debian11 rockchip_rk3568_kickpi_k1_debian_defconfig
K1 ubuntu20.04 rockchip_rk3568_kickpi_k1_ubuntu_defconfig
K1B debian11 rockchip_rk3568_kickpi_k1b_debian_defconfig
K1B ubuntu20.04 rockchip_rk3568_kickpi_k1b_ubuntu_defconfig
K3 debian11 rockchip_rk3562_kickpi_k3_debian_defconfig
K3 ubuntu20.04 rockchip_rk3562_kickpi_k3_ubuntu_defconfig
K8 debian11 rockchip_rk3588_kickpi_k8_debian_defconfig
K8 ubuntu20.04 rockchip_rk3588_kickpi_k8_ubuntu_defconfig

K1 配置 debian 编译环境示例:

./build.sh lunch
Log saved at /home/work/rockchip/rk356x-linux/output/sessions/2025-11-07_15-52-37

Pick a chip:

1. rk3566_rk3568
2. rk3588
Which would you like? [1]: 1
Switching to chip: rk3566_rk3568
Pick a defconfig:

1. rockchip_defconfig
2. rockchip_rk3562_kickpi_k3_buildroot_defconfig
3. rockchip_rk3562_kickpi_k3_debian_defconfig
4. rockchip_rk3562_kickpi_k3_ubuntu_defconfig
5. rockchip_rk3568_kickpi_k1_buildroot_defconfig
6. rockchip_rk3568_kickpi_k1_debian_defconfig
7. rockchip_rk3568_kickpi_k1_ubuntu_defconfig
8. rockchip_rk3568_kickpi_k1b_buildroot_defconfig
9. rockchip_rk3568_kickpi_k1b_debian_defconfig
10. rockchip_rk3568_kickpi_k1b_ubuntu_defconfig
Which would you like? [1]: 6
Switching to defconfig: /home/work/rockchip/rk356x-linux/device/rockchip/.chip/rockchip_rk3568_kickpi_k1_debian_defconfig
make: Entering directory '/home/work/rockchip/rk356x-linux/device/rockchip/common'
#
# configuration written to /home/work/rockchip/rk356x-linux/output/.config
#
make: Leaving directory '/home/work/rockchip/rk356x-linux/device/rockchip/common'

2.完整镜像编译。

./build.sh 

其他命令

多屏识别镜像编译

./build.sh all_multi_dtb

uboot 编译

./build.sh uboot

Kernel defconfig 配置

./build.sh kernel-config

kernel 编译

./build.sh kernel

kernel 多屏识别编译

./build.sh kernel_multi_dtb