Skip to content

u-boot rk3xxx-2024.04 for RK3399 #8

u-boot rk3xxx-2024.04 for RK3399

u-boot rk3xxx-2024.04 for RK3399 #8

Workflow file for this run

name: Build u-boot for RK3399
run-name: u-boot ${{ inputs.uboot_ref }} for RK3399
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": "rk3399-generic",
"config": "generic-rk3399_defconfig",
},
{
"name": "rk3399-khadas-edge",
"config": "khadas-edge-rk3399_defconfig",
},
{
"name": "rk3399-khadas-edge-captain",
"config": "khadas-edge-captain-rk3399_defconfig",
},
{
"name": "rk3399-khadas-edge-v",
"config": "khadas-edge-v-rk3399_defconfig",
},
{
"name": "rk3399-nanopc-t4",
"config": "nanopc-t4-rk3399_defconfig",
},
{
"name": "rk3399-nanopi-r4s",
"config": "nanopi-r4s-rk3399_defconfig",
},
{
"name": "rk3399-pinebook-pro",
"config": "pinebook-pro-rk3399_defconfig",
},
{
"name": "rk3399-pinephone-pro",
"config": "pinephone-pro-rk3399_defconfig",
},
{
"name": "rk3399-rock-4c-plus",
"config": "rock-4c-plus-rk3399_defconfig",
},
{
"name": "rk3399-rock-4se",
"config": "rock-4se-rk3399_defconfig",
},
{
"name": "rk3399-rock960",
"config": "rock960-rk3399_defconfig",
},
{
"name": "rk3399-rock-pi-4",
"config": "rock-pi-4-rk3399_defconfig",
},
{
"name": "rk3399-rock-pi-4c",
"config": "rock-pi-4c-rk3399_defconfig",
},
{
"name": "rk3399-rockpro64",
"config": "rockpro64-rk3399_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/RK3399MINIALL.ini -s LOADER_OPTION FlashData)
export BL31=../rkbin/$(confget -f rkbin/RKTRUST/RK3399TRUST.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