Skip to content

u-boot rk3xxx-2024.10 for RK3588 #14

u-boot rk3xxx-2024.10 for RK3588

u-boot rk3xxx-2024.10 for RK3588 #14

Workflow file for this run

name: Build u-boot for RK3588
run-name: u-boot ${{ inputs.uboot_ref }} for RK3588
on:
workflow_dispatch:
inputs:
uboot_ref:
description: u-boot ref
required: true
default: master
type: string
rkbin_ref:
description: rkbin ref
required: true
default: master
type: string
jobs:
build:
name: ${{ matrix.boards.name }}
runs-on: ubuntu-latest
strategy:
matrix:
boards:
[
{
"name": "rk3588-generic",
"config": "generic-rk3588_defconfig",
},
{
"name": "rk3588-armsom-sige7",
"config": "sige7-rk3588_defconfig",
},
{
"name": "rk3588-friendlyelec-cm3588-nas",
"config": "cm3588-nas-rk3588_defconfig",
},
{
"name": "rk3588-nanopc-t6",
"config": "nanopc-t6-rk3588_defconfig",
},
{
"name": "rk3588s-nanopi-r6c",
"config": "nanopi-r6c-rk3588s_defconfig",
},
{
"name": "rk3588s-nanopi-r6s",
"config": "nanopi-r6s-rk3588s_defconfig",
},
{
"name": "rk3588s-odroid-m2",
"config": "odroid-m2-rk3588s_defconfig",
},
{
"name": "rk3588s-orangepi-5",
"config": "orangepi-5-rk3588s_defconfig",
},
{
"name": "rk3588-orangepi-5-plus",
"config": "orangepi-5-plus-rk3588_defconfig",
},
{
"name": "rk3588-quartzpro64",
"config": "quartzpro64-rk3588_defconfig",
},
{
"name": "rk3588s-rock-5a",
"config": "rock5a-rk3588s_defconfig",
},
{
"name": "rk3588-rock-5b",
"config": "rock5b-rk3588_defconfig",
},
{
"name": "rk3588-rock-5-itx",
"config": "rock-5-itx-rk3588_defconfig",
},
{
"name": "rk3588-turing-rk1",
"config": "turing-rk1-rk3588_defconfig",
},
]
steps:
- name: Toolchain
run: |
sudo apt-get update
sudo apt-get install gcc-12 gcc-12-aarch64-linux-gnu python3-pyelftools confget libgnutls28-dev
sudo ln -sf cpp-12 /usr/bin/cpp
sudo ln -sf gcc-12 /usr/bin/gcc
sudo ln -sf gcc-ar-12 /usr/bin/gcc-ar
sudo ln -sf gcc-nm-12 /usr/bin/gcc-nm
sudo ln -sf gcc-ranlib-12 /usr/bin/gcc-ranlib
sudo ln -sf gcov-12 /usr/bin/gcov
sudo ln -sf gcov-dump-12 /usr/bin/gcov-dump
sudo ln -sf gcov-tool-12 /usr/bin/gcov-tool
sudo ln -sf aarch64-linux-gnu-cpp-12 /usr/bin/aarch64-linux-gnu-cpp
sudo ln -sf aarch64-linux-gnu-gcc-12 /usr/bin/aarch64-linux-gnu-gcc
sudo ln -sf aarch64-linux-gnu-gcc-ar-12 /usr/bin/aarch64-linux-gnu-gcc-ar
sudo ln -sf aarch64-linux-gnu-gcc-nm-12 /usr/bin/aarch64-linux-gnu-gcc-nm
sudo ln -sf aarch64-linux-gnu-gcc-ranlib-12 /usr/bin/aarch64-linux-gnu-gcc-ranlib
sudo ln -sf aarch64-linux-gnu-gcov-12 /usr/bin/aarch64-linux-gnu-gcov
sudo ln -sf aarch64-linux-gnu-gcov-dump-12 /usr/bin/aarch64-linux-gnu-gcov-dump
sudo ln -sf aarch64-linux-gnu-gcov-tool-12 /usr/bin/aarch64-linux-gnu-gcov-tool
- name: Checkout rkbin - ${{ inputs.rkbin_ref }}
uses: actions/checkout@v4
with:
repository: rockchip-linux/rkbin
ref: ${{ inputs.rkbin_ref }}
path: rkbin
- name: Checkout u-boot - ${{ inputs.uboot_ref }}
uses: actions/checkout@v4
with:
repository: Kwiboo/u-boot-rockchip
ref: ${{ inputs.uboot_ref }}
path: u-boot
- name: Build u-boot - ${{ matrix.boards.config }}
run: |
export ROCKCHIP_TPL=../rkbin/$(confget -f rkbin/RKBOOT/RK3588MINIALL.ini -s LOADER_OPTION FlashData)
export BL31=../rkbin/$(confget -f rkbin/RKTRUST/RK3588TRUST.ini -s BL31_OPTION PATH)
cd u-boot
make mrproper
make ${{ matrix.boards.config }}
make KCFLAGS="-Werror" CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc)
tools/mkimage -l u-boot.itb
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.boards.name }}
path: |
u-boot/u-boot-rockchip.bin
u-boot/u-boot-rockchip-spi.bin