20260127让天启AIO-3576Q38开发板跑Rockchip瑞芯微原厂的Buildroot【linux-6.1内核】【使用天启Firefly的DTS】

20260127让天启AIO-3576Q38开发板跑Rockchip瑞芯微原厂的Buildroot【linux-6.1内核】【使用天启Firefly的DTS】

2026/1/27 15:38

缘起:让天启AIO-3576Q38开发板跑Rockchip瑞芯微原厂的Buildroot【linux-6.1内核】。

为了简单起见,直接【使用天启Firefly的DTS】

原始编译的也可以启动的,就是没有HDMI显示,其它全部的模块都不能用而已!^_

当你把荣品RD-RK3588开发板重新适配一把,就相当于从头做了一个项目:【荣品RD-RK3588开发板】。

当然,开发板的功能都是好的,你免除了调试的过程,也就没有解决相关硬件出错的经验/机会了!

1、直接改名 rk3576-firefly-aio-3576q38.dts 为 rk3576-evb1-v10-linux.dts

Z:\git_RK3576_Linux6.1\kernel-6.1\arch\arm64\boot\dts\rockchip\rk3576-firefly-aio-3576q38.dts

Z:\git_RK3576_Linux6.1\kernel-6.1\arch\arm64\boot\dts\rockchip\rk3576-evb1-v10-linux.dts

【备选修改:】

Z:\git_RK3576_Linux6.1\device\rockchip\.chips\rk3576\rockchip_rk3576_evb1_v10_defconfig

RK_ROOTFS_SYSTEM_DEBIAN=n
RK_UBOOT_SPL=y
RK_KERNEL_DTS_NAME="rk3576-evb1-v10-linux"

RK_USE_FIT_IMG=y

Z:\Linux_SDK\Firefly_SDK\device\rockchip\.chips\rk3576\firefly_rk3576_aio-3576q38_buildroot_defconfig

#include "firefly.config"
RK_KERNEL_DTS_NAME="rk3576-firefly-aio-3576q38"

RK_PRODUCT_MODEL="AIO-3576Q38"

2、编译的时候DTSI出错:

Image(no-signed): rk3576_idblock_v1.09.107.img (with spl, ddr...) is ready

pack uboot.img okay! Input: /home/rootroot/git_RK3576_Linux6.1/rkbin/RKTRUST/RK3576TRUST.ini

Platform RK3576 is build OK, with new .config(make rk3576_defconfig -j48)

/home/rootroot/git_RK3576_Linux6.1/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-

Tue Jan 27 10:57:30 CST 2026

  • cd ..

Running mk-loader.sh - build_uboot succeeded.

Using kernel version(6.1) from environment

Toolchain for kernel:

/home/rootroot/git_RK3576_Linux6.1/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-

==========================================

Start building kernel

==========================================

Found kernel's basic config fragment: rk3576.config

  • make -C /home/rootroot/git_RK3576_Linux6.1/kernel/ -j25 CROSS_COMPILE=/home/rootroot/git_RK3576_Linux6.1/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- ARCH=arm64 rockchip_linux_defconfig rk3576.config

make: Entering directory '/home/rootroot/git_RK3576_Linux6.1/kernel-6.1'

configuration written to .config

Using .config as base

Merging ./arch/arm64/configs/rk3576.config

Value of CONFIG_TOUCHSCREEN_GT9XX is redefined by fragment ./arch/arm64/configs/rk3576.config:

Previous value: # CONFIG_TOUCHSCREEN_GT9XX is not set

New value: CONFIG_TOUCHSCREEN_GT9XX=y

Value of CONFIG_BLK_DEV_RAM_COUNT is redefined by fragment ./arch/arm64/configs/rk3576.config:

Previous value: CONFIG_BLK_DEV_RAM_COUNT=1

New value: CONFIG_BLK_DEV_RAM_COUNT=16

merged configuration written to .config (needs make)

configuration written to .config

make: Leaving directory '/home/rootroot/git_RK3576_Linux6.1/kernel-6.1'

  • make -C /home/rootroot/git_RK3576_Linux6.1/kernel/ -j25 CROSS_COMPILE=/home/rootroot/git_RK3576_Linux6.1/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- ARCH=arm64 rk3576-evb1-v10-linux.img

make: Entering directory '/home/rootroot/git_RK3576_Linux6.1/kernel-6.1'

SYNC include/config/auto.conf.cmd

DTC arch/arm64/boot/dts/rockchip/rk3576-evb1-v10-linux.dtb
Error: arch/arm64/boot/dts/rockchip/rk3576-firefly-aio-3576q38.dtsi:52.20-21 syntax error
FATAL ERROR: Unable to parse input tree
make[3]: *** [scripts/Makefile.lib:419: arch/arm64/boot/dts/rockchip/rk3576-evb1-v10-linux.dtb] Error 1
make[2]: *** [scripts/Makefile.build:503: arch/arm64/boot/dts/rockchip] Error 2
make[1]: *** [Makefile:1466: rockchip/rk3576-evb1-v10-linux.dtb] Error 2
make[1]: *** Waiting for unfinished jobs....
CALL scripts/checksyscalls.sh
make: *** [arch/arm64/Makefile:221: rk3576-evb1-v10-linux.img] Error 2
make: Leaving directory '/home/rootroot/git_RK3576_Linux6.1/kernel-6.1'
ERROR: Running /home/rootroot/git_RK3576_Linux6.1/device/rockchip/common/scripts/mk-kernel.sh - run_command failed!
ERROR: exit code 2 from line 36:
@ ERROR: call stack: build-helper: run_command(36) mk-kernel.sh: do_build(79) mk-kernel.sh: build_hook(438) mk-kernel.sh: main(496) ERROR: Running /home/rootroot/git_RK3576_Linux6.1/device/rockchip/common/build-hooks/99-all.sh - build_all failed! ERROR: exit code 2 from line 20: "RK_SCRIPTS_DIR/mk-kernel.sh"
ERROR: call stack:
99-all.sh: build_all(20)
99-all.sh: build_hook(136)
build-helper: try_func(63)
build-helper: try_hook(96)
build-helper: source(165)
99-all.sh: main(147)
ERROR: Running /home/rootroot/git_RK3576_Linux6.1/device/rockchip/common/build-hooks/99-all.sh - try_func build_hook all failed!
ERROR: exit code 2 from line 67:
build_hook
ERROR: call stack:
build-helper: try_func(67)
build-helper: try_hook(96)
build-helper: source(165)
99-all.sh: main(147)

rootroot@rootroot-X99-Turbo:~/git_RK3576_Linux6.1$

3、

Z:\git_RK3576_Linux6.1\kernel-6.1\.config

CONFIG_GPIO_ROCKCHIP=y

CONFIG_GPIO_SIFIVE is not set

CONFIG_GPIO_SYSCON=y

CONFIG_GPIO_XGENE is not set

CONFIG_GPIO_XILINX is not set

CONFIG_GPIO_AMD_FCH is not set

end of Memory mapped GPIO drivers

I2C GPIO expanders

CONFIG_GPIO_ADNP is not set

CONFIG_GPIO_AW9110 is not set

CONFIG_GPIO_GW_PLD is not set

CONFIG_GPIO_MAX7300 is not set

CONFIG_GPIO_MAX732X is not set

CONFIG_GPIO_NCA9539 is not set

CONFIG_GPIO_PCA953X is not set

CONFIG_GPIO_PCA9570 is not set

CONFIG_GPIO_PCF857X is not set

CONFIG_GPIO_TPIC2810 is not set

end of I2C GPIO expanders

MFD GPIO expanders

CONFIG_GPIO_TPS6586X is not set

end of MFD GPIO expanders

PCI GPIO expanders

CONFIG_GPIO_BT8XX is not set

CONFIG_GPIO_PCI_IDIO_16 is not set

CONFIG_GPIO_PCIE_IDIO_24 is not set

CONFIG_GPIO_RDC321X is not set

end of PCI GPIO expanders

SPI GPIO expanders

CONFIG_GPIO_74X164 is not set

CONFIG_GPIO_MAX3191X is not set

CONFIG_GPIO_MAX7301 is not set

CONFIG_GPIO_MC33880 is not set

CONFIG_GPIO_PISOSR is not set

CONFIG_GPIO_XRA1403 is not set

end of SPI GPIO expanders

USB GPIO expanders

end of USB GPIO expanders

Virtual GPIO drivers

CONFIG_GPIO_AGGREGATOR is not set

CONFIG_GPIO_MOCKUP is not set

CONFIG_GPIO_VIRTIO is not set

CONFIG_GPIO_SIM is not set

end of Virtual GPIO drivers

CONFIG_W1 is not set

CONFIG_POWER_RESET=y

CONFIG_POWER_RESET_BRCMSTB is not set

CONFIG_POWER_RESET_GPIO=y

CONFIG_POWER_RESET_GPIO_RESTART=y

Z:\git_RK3576_Linux6.1\kernel-6.1\arch\arm64\configs\rockchip_linux_defconfig

CONFIG_GPIO_SYSCON=y

CONFIG_POWER_RESET_GPIO=y

修改为:

CONFIG_GPIO_SYSCON=y
CONFIG_GPIO_PCA953X=y
CONFIG_POWER_RESET_GPIO=y

4、

Z:\git_RK3576_Linux6.1\kernel-6.1\drivers\gpio\gpio-pca953x.c

Z:\git_RK3576_Linux6.1\kernel-6.1\drivers\gpio\Kconfig

Z:\git_RK3576_Linux6.1\kernel-6.1\drivers\gpio\Makefile

5、

Z:\git_RK3576_Linux6.1\kernel-6.1\include\dt-bindings\pinctrl\rockchip.h

/* SPDX-License-Identifier: GPL-2.0-or-later */

/*

* Header providing constants for Rockchip pinctrl bindings.

*

* Copyright (c) 2013 MundoReader S.L.

* Author: Heiko Stuebner <heiko@sntech.de>

*/

#ifndef DT_BINDINGS_ROCKCHIP_PINCTRL_H

#define DT_BINDINGS_ROCKCHIP_PINCTRL_H

#define RK_PA0 0

#define RK_PA1 1

#define RK_PA2 2

#define RK_PA3 3

#define RK_PA4 4

#define RK_PA5 5

#define RK_PA6 6

#define RK_PA7 7

#define RK_PB0 8

#define RK_PB1 9

#define RK_PB2 10

#define RK_PB3 11

#define RK_PB4 12

#define RK_PB5 13

#define RK_PB6 14

#define RK_PB7 15

#define RK_PC0 16

#define RK_PC1 17

#define RK_PC2 18

#define RK_PC3 19

#define RK_PC4 20

#define RK_PC5 21

#define RK_PC6 22

#define RK_PC7 23

#define RK_PD0 24

#define RK_PD1 25

#define RK_PD2 26

#define RK_PD3 27

#define RK_PD4 28

#define RK_PD5 29

#define RK_PD6 30

#define RK_PD7 31

#define RK_FUNC_GPIO 0

//PCA953X
#define PCA_IO0_0 0
#define PCA_IO0_1 1
#define PCA_IO0_2 2
#define PCA_IO0_3 3
#define PCA_IO0_4 4
#define PCA_IO0_5 5
#define PCA_IO0_6 6
#define PCA_IO0_7 7
#define PCA_IO1_0 8
#define PCA_IO1_1 9
#define PCA_IO1_2 10
#define PCA_IO1_3 11
#define PCA_IO1_4 12
#define PCA_IO1_5 13
#define PCA_IO1_6 14
#define PCA_IO1_7 15

#endif

相关推荐
landonVM2 小时前
使用 DockerSlim 优化/专业 Docker 容器镜像
运维·docker·容器
玉梅小洋2 小时前
Linux中 cd命令进入以 - 开头的目录报错及解决方法
linux·运维·服务器
努力努力再努力wz2 小时前
【Linux网络系列】:打破 HTTP 明文诅咒,在Linux 下用 C++ 手搓 HTTPS 服务器全过程!(附实现源码)
linux·服务器·网络·数据结构·c++·http·https
POLITE32 小时前
Leetcode 236. 二叉树的最近公共祖先 (Day 17) JavaScript
linux·javascript·leetcode
m0_737539372 小时前
iSCSI 服务器
运维·服务器
济6172 小时前
linux 系统移植(第二十一期)---- 完善BusyBox构建的根文件系统---- Ubuntu20.04
linux·运维·服务器
历程里程碑2 小时前
Linux 9:GCC编译全流程详解
linux·运维·服务器·c语言·笔记·编辑器·vim
他人是一面镜子,保持谦虚的态度2 小时前
ubuntu 18.04 压缩 激光雷达点云和图像 topic,并录制bag 数据包
linux·运维·ubuntu
Byte不洛2 小时前
Linux 多线程编程入门:线程栈、TLS、互斥锁与条件变量详解
linux·操作系统·多线程·pthread·线程互斥