Skip to content

u-boot v2025.04 for RK3566 #4

u-boot v2025.04 for RK3566

u-boot v2025.04 for RK3566 #4

Workflow file for this run

name: Build u-boot for RK3566
run-name: u-boot ${{ inputs.uboot_ref }} for RK3566
on:
workflow_dispatch:
inputs:
uboot_ref:
description: Enter a u-boot git tag (or branch/commit)
required: true
default: v2025.04
type: string
use_arm_tf:
description: Use ARM Trusted Firmware for BL31 (if unchecked, uses Rockchip BL31)
required: true
default: true
type: boolean
jobs:
build:
name: ${{ matrix.board.name }}
runs-on: ubuntu-24.04-arm
strategy:
matrix:
board:
- name: rk3566-anbernic-rgxx3
config: anbernic-rgxx3-rk3566_defconfig
- name: rk3566-odroid-m1s
config: odroid-m1s-rk3566_defconfig
- name: rk3566-orangepi-3b
config: orangepi-3b-rk3566_defconfig
- name: rk3566-pinetab2
config: pinetab2-rk3566_defconfig
- name: rk3566-powkiddy-x55
config: powkiddy-x55-rk3566_defconfig
- name: rk3566-quartz64-a
config: quartz64-a-rk3566_defconfig
- name: rk3566-quartz64-b
config: quartz64-b-rk3566_defconfig
- name: rk3566-radxa-cm3-io
config: radxa-cm3-io-rk3566_defconfig
- name: rk3566-radxa-zero-3
config: radxa-zero-3-rk3566_defconfig
- name: rk3566-rock-3c
config: rock-3c-rk3566_defconfig
- name: rk3566-soquartz-blade
config: soquartz-blade-rk3566_defconfig
- name: rk3566-soquartz-cm4
config: soquartz-cm4-rk3566_defconfig
- name: rk3566-soquartz-model-a
config: soquartz-model-a-rk3566_defconfig
fail-fast: true
steps:
- name: Toolchain
run: |
sudo apt update
sudo apt install gcc python3-pyelftools libgnutls28-dev
gcc --version
- name: Checkout repository
uses: actions/checkout@v4
- name: Checkout rockchip rkbin
uses: actions/checkout@v4
with:
repository: rockchip-linux/rkbin
ref: master
path: rkbin
- name: Checkout ARM Trusted Firmware
if: inputs.use_arm_tf
uses: actions/checkout@v4
with:
repository: ARM-software/arm-trusted-firmware
ref: master
path: arm-trusted-firmware
- name: Build BL31
if: inputs.use_arm_tf
run: |
cd arm-trusted-firmware
make PLAT=rk3568 bl31
ls -l build/rk3568/release/bl31/bl31.elf
- name: Checkout u-boot ${{ inputs.uboot_ref }}
uses: actions/checkout@v4
with:
repository: u-boot/u-boot
ref: ${{ inputs.uboot_ref }}
path: u-boot
- name: "Configure and build u-boot config: ${{ matrix.board.config }}"
run: |
set -e
export ROCKCHIP_TPL=../rkbin/$(awk -F'=' '$1 == "[LOADER_OPTION]" {f=1; next} f && $1 == "FlashData" {print $2; exit}' rkbin/RKBOOT/RK3566MINIALL.ini)
if [ "${{ inputs.use_arm_tf }}" = "true" ]; then
export BL31=../arm-trusted-firmware/build/rk3568/release/bl31/bl31.elf
else
export BL31=../rkbin/$(awk -F'=' '$1 == "[BL31_OPTION]" {f=1; next} f && $1 == "PATH" {print $2; exit}' rkbin/RKTRUST/RK3568TRUST.ini)
fi
cd u-boot
make mrproper
make ${{ matrix.board.config }}
make -j$(nproc) KCFLAGS="-Werror"
tools/mkimage -l u-boot.itb
mkdir -p ../output/${{ matrix.board.name }}/base-files
cp idbloader*.img u-boot.itb ../output/${{ matrix.board.name }}/base-files/ 2>/dev/null || true
cp u-boot-rockchip*.bin ../output/${{ matrix.board.name }}/ 2>/dev/null || true
cp ../../uboot-rockchip/readme.txt ../output/${{ matrix.board.name }}/
cd ../output/${{ matrix.board.name }}
sha256sum u-boot-rockchip*.bin > sha256sums.txt 2>/dev/null || true
cd base-files
sha256sum idbloader*.img u-boot.itb > sha256sums.txt 2>/dev/null || true
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.board.name }}
path: output/
if-no-files-found: error