Skip to content

u-boot rk3xxx-2024.04 for RK3328 #10

u-boot rk3xxx-2024.04 for RK3328

u-boot rk3xxx-2024.04 for RK3328 #10

Workflow file for this run

name: Build u-boot for RK3328
run-name: u-boot ${{ inputs.uboot_ref }} for RK3328
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": "rk3328-generic",
"config": "generic-rk3328_defconfig",
},
{
"name": "rk3328-nanopi-r2c",
"config": "nanopi-r2c-rk3328_defconfig",
},
{
"name": "rk3328-nanopi-r2c-plus",
"config": "nanopi-r2c-plus-rk3328_defconfig",
},
{
"name": "rk3328-nanopi-r2s",
"config": "nanopi-r2s-rk3328_defconfig",
},
{
"name": "rk3328-orangepi-r1-plus",
"config": "orangepi-r1-plus-rk3328_defconfig",
},
{
"name": "rk3328-orangepi-r1-plus-lts",
"config": "orangepi-r1-plus-lts-rk3328_defconfig",
},
{
"name": "rk3328-roc-cc",
"config": "roc-cc-rk3328_defconfig",
},
{
"name": "rk3328-rock-pi-e",
"config": "rock-pi-e-rk3328_defconfig",
},
{
"name": "rk3328-rock64",
"config": "rock64-rk3328_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/RK3328MINIALL.ini -s LOADER_OPTION FlashData)
export BL31=../rkbin/$(confget -f rkbin/RKTRUST/RK3328TRUST.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