rk3568代码编译指南

rk356x-rk3588/zh/01-主板介绍/01-RK芯片对比介绍.md · tanzh/kickpi-book - 码云 - 开源中国 (gitee.com)

0,编译所依赖的 库ubuntu20.04版本依赖

sudo apt install git bc bison build-essential curl flex libsdl1.2-dev g++-multilib gcc-multilib gnupg gperf libncurses-dev \
imagemagick lib32ncurses-dev lib32readline-dev squashfs-tools lib32z1-dev liblz4-tool xsltproc libssl-dev  libwxgtk3.0-gtk3-dev \
libxml2 libxml2-utils schedtool lzop pngcrush rsync yasm zip zlib1g-dev python-is-python2 device-tree-compiler python3-pip gawk openjdk-8-jdk \ u-boot-tools patchelf expect libgmp-dev libmpc-dev

sudo pip install pyelftools 

1,拷贝商家提供的rk356x-linux-20240531.tar.gz到linux 任意目录下,而后进行解压。

lark@ubuntu:~/Public$ ls
rk356x-linux-20240531.tar.gz

2,下载更新代码

lark@ubuntu:~/code_tmp$ tar zxvf rk356x-linux-20240531.tar.gz

lark@ubuntu:~/code_tmp$ cd k356x-linux
lark@ubuntu:~/code_tmp/rk356x-linux$  git reset --hard

3,下载拷贝文件系统ubuntu-rootfs-20240220.tar.gz到相应目录

lark@ubuntu:~/code_tmp/rk356x-linux$ ls
ubuntu-rootfs-20240220.tar.gz

lark@ubuntu:~/code_tmp$ tar zxvf ubuntu-rootfs-20240220.tar.gz

lark@ubuntu:~/code_tmp/rk356x-linux$ mkdir ubuntu
lark@ubuntu:~/code_tmp/rk356x-linux$ cp ubuntu-rootfs.img ubuntu/

  4,编译uboot

第一次编译选择开发板配置和编译系统类型

lark@ubuntu:~/code_tmp/rk356x-linux$ ./build.sh lunch
Log saved at /home/lark/code_tmp/rk356x-linux/output/sessions/2024-12-14_05-11-13

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]:

我的开发板是k1b的ubuntu,所以选择的rockchip_rk3568_kickpi_k1b_ubuntu_defconfig.输入10

编译uboot:

lark@ubuntu:~/code_tmp/rk356x-linux$ ./build.sh uboot 

生成rk356x-linux/boot/uboot.img 

5,编译内核kernel

lark@ubuntu:~/code_tmp/rk356x-linux$ ./build.sh kernel

生成rk356x-linux/kernel/boot.img  

6,编译清除:

lark@ubuntu:~/Public/rk356x-linux$ ./build.sh cleanall
Usage: build.sh [OPTIONS]
Available options:
chip[:<chip>[:<config>]]                choose chip
defconfig[:<config>]                    choose defconfig
 *_defconfig                            switch to specified defconfig
    available defconfigs:
        rockchip_defconfig
        rockchip_rk3562_kickpi_k3_buildroot_defconfig
        rockchip_rk3562_kickpi_k3_debian_defconfig
        rockchip_rk3562_kickpi_k3_ubuntu_defconfig
        rockchip_rk3568_kickpi_k1_buildroot_defconfig
        rockchip_rk3568_kickpi_k1_debian_defconfig
        rockchip_rk3568_kickpi_k1_ubuntu_defconfig
        rockchip_rk3568_kickpi_k1b_buildroot_defconfig
        rockchip_rk3568_kickpi_k1b_debian_defconfig
        rockchip_rk3568_kickpi_k1b_ubuntu_defconfig
 olddefconfig                           resolve any unresolved symbols in .config
 savedefconfig                          save current config to defconfig
 menuconfig                             interactive curses-based configurator
config                                  modify SDK defconfig
shell                                   setup a shell for developing
print-parts                             print partitions
mod-parts                               interactive partition table modify
edit-parts                              edit raw partitions
kernel[:cmds]                           build kernel
modules[:cmds]                          build kernel modules
linux-headers[:cmds]                    build linux-headers
kernel-config[:cmds]                    modify kernel defconfig
kernel-make[:<arg1>:<arg2>]             run kernel make (alias kmake)
wifibt[:<dst dir>[:<chip>]]             build Wifi/BT
rtos                                    build and pack RTOS
buildroot-config[:<config>]             modify buildroot defconfig
buildroot-make[:<arg1>:<arg2>]          run buildroot make (alias bmake)
rootfs[:<rootfs type>]                  build default rootfs
buildroot                               build buildroot rootfs
yocto                                   build yocto rootfs
debian                                  build debian rootfs
recovery                                build recovery
pcba                                    build PCBA
security_check                          check contidions for security boot
createkeys                              build security boot keys
security_ramboot                        build security ramboot
security_uboot                          build uboot with security
security_boot                           build boot with security
security_recovery                       build recovery with security
security_rootfs                         build rootfs with security
loader[:cmds]                           build loader (uboot)
uboot[:cmds]                            build u-boot
uefi[:cmds]                             build uefi
firmware                                pack and check firmwares
edit-package-file                       edit package-file
edit-ota-package-file                   edit A/B OTA package-file
updateimg                               build update image
otapackage                              build A/B OTA update image
all                                     build all images
save                                    save images and build info
allsave                                 build all images and save them
cleanall                                cleanup
clean[:module[:module]]...              cleanup modules
    available modules:
        all
        config
        firmware
        kernel
        loader
        pcba
        recovery
        rootfs
        updateimg

### RK3568 项目编译平台搭建指南 RK3568 是一款基于 ARM 架构的高性能处理器,广泛应用于嵌入式设备和物联网领域。以下是关于 RK3568 项目编译平台搭建的详细指南。 #### 1. 环境准备 在开始编译之前,需要确保开发环境已经正确配置。推荐使用 Ubuntu 或其他 Linux 发行版作为开发主机操作系统[^1]。以下是一些必要的准备工作: - 安装依赖工具包:`sudo apt-get update && sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev` - 配置 JDK 和 Python 环境:根据目标系统的要求,安装合适的 JDK 和 Python 版本[^2]。 #### 2. 源码获取 源码可以通过官方仓库或其他可信渠道获取。以下是一些常见的获取方式: - 使用 Git 克隆官方仓库:`repo init -u https://github.com/rockchip-linux/platform_manifest.git -b android11-rk35xx`[^1]。 - 初始化并同步代码:`repo sync`[^1]。 #### 3. 编译配置 在编译前,需要进行环境初始化和目标选择。具体步骤如下: - 初始化编译环境:运行 `source build/envsetup.sh`[^1]。 - 选择编译目标:例如,对于 RK3568 的调试版本,可以运行 `lunch rk3568-userdebug`[^1]。 - 开始编译:执行 `make -j$(nproc)`,其中 `-j$(nproc)` 表示利用所有可用 CPU 核心加速编译过程[^1]。 #### 4. 配置文件选择 根据实际需求选择合适的配置文件。以下是部分常见配置文件及其用途: - `rockchip_defconfig`:通用默认配置。 - `rockchip_rk3568_kickpi_k1_buildroot_defconfig`:适用于 Buildroot 系统的 KickPi K1 板卡。 - `rockchip_rk3568_kickpi_k1_debian_defconfig`:适用于 Debian 系统的 KickPi K1 板卡。 - `rockchip_rk3568_kickpi_k1_ubuntu_defconfig`:适用于 Ubuntu 系统的 KickPi K1 板卡。 #### 5. 镜像烧录 编译完成后,生成的镜像文件通常位于 `out/target/product/rk3568/` 目录下。以下是几种常见的烧录方法[^3]: - **方法一**:从 Daily 版本中下载对应镜像(http://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist),选择适合的版本进行下载。 - **方法二**:直接从编译输出目录拷贝镜像文件,路径为 `out/rk3568/packages/phone/images`。 - **方法三**:下载官方提供的固件(Images: Hihope IOT物联网产品基础镜像仓)。 #### 6. 注意事项 - 确保开发主机有足够的磁盘空间,因为编译过程可能需要数十 GB 的存储空间。 - 在 Windows 环境下,可以借助虚拟机或 WSL(Windows Subsystem for Linux)来完成编译工作[^3]。 ```bash # 示例代码:初始化编译环境 source build/envsetup.sh lunch rk3568-userdebug make -j$(nproc) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陌上花开缓缓归以

你的鼓励将是我创作的最大动力,

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值