Skip to content

Commit ff56b2e

Browse files
committed
ayufan: dev.mk: add dev scripts
ayufan: dev.mk: own .gitlab-ci.yml ayufan: dev.mk: add `writesd` target ayufan: dev.mk: allow to compile ATF on-demand ayufan: dev.mk: add `loader-clearsd` ayufan: dev.mk: fix my rock64 build ayufan: dev.mk: support new partition layout ayufan: dev.mk: support `mtd` in `boot_device` validation ayufan: dev.mk: fix leds for rockpro64 and pinebookpro ayufan: dev.mk: support FLASH_SPI=1 for rockpro64 ayufan: dev.mk: fix loader flash ayufan: dev.mk: fix typo in erase_spi_flash ayufan: dev.mk: add FULL_WIPE ayufan: dev.mk: first recompile, then load
1 parent d653754 commit ff56b2e

40 files changed

+972
-0
lines changed

.github/workflows/build.yaml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
on: [push]
2+
3+
env:
4+
RELEASE_START: 2021 # 2021, as this is latest build by GitLab CI
5+
6+
jobs:
7+
build:
8+
runs-on: [self-hosted, Linux, ARM64]
9+
container: ayufan/rock64-dockerfiles:bookworm
10+
steps:
11+
- name: Checkout
12+
uses: actions/checkout@v3
13+
- name: Install binaries
14+
run: |
15+
apt-get -y update
16+
apt-get -y install docker.io \
17+
gcc-aarch64-linux-gnu g++-aarch64-linux-gnu \
18+
gcc-arm-linux-gnueabi g++-arm-linux-gnueabi \
19+
python3-pip
20+
- name: Set up QEMU
21+
uses: docker/setup-qemu-action@v2
22+
- name: Configure ccache
23+
run: echo "CCACHE_DIR=$RUNNER_TEMP/ccache" >> $GITHUB_ENV
24+
- name: Reset ccache statistics
25+
run: ccache -M 0 -F 0
26+
- name: Build package
27+
run: |
28+
export RELEASE=$(($RELEASE_START+$GITHUB_RUN_NUMBER))
29+
rm -f ../*.deb
30+
./dev-make all
31+
- name: Release package
32+
env:
33+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34+
run: |
35+
set -x
36+
37+
export RELEASE=$(($RELEASE_START+$GITHUB_RUN_NUMBER))
38+
export RELEASE_NAME="$(./dev-make version BOARD_TARGET=rock64)"
39+
export RELEASE_TITLE="$(./dev-make version BOARD_TARGET=rock64)"
40+
export DESCRIPTION="$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID"
41+
42+
github-release release \
43+
--tag "${RELEASE_NAME}" \
44+
--name "${RELEASE_TITLE}" \
45+
--user "${GITHUB_REPOSITORY%/*}" \
46+
--repo "${GITHUB_REPOSITORY#*/}" \
47+
--description "${DESCRIPTION}" \
48+
--target "${GITHUB_SHA}" \
49+
--draft
50+
51+
sleep 3s # allow to update release
52+
53+
for i in *.deb *.img.xz; do
54+
github-release upload \
55+
--tag "${RELEASE_NAME}" \
56+
--name "$(basename "${i}")" \
57+
--user "${GITHUB_REPOSITORY%/*}" \
58+
--repo "${GITHUB_REPOSITORY#*/}" \
59+
--file "${i}"
60+
done
61+
62+
github-release edit \
63+
--tag "${RELEASE_NAME}" \
64+
--name "${RELEASE_TITLE}" \
65+
--user "${GITHUB_REPOSITORY%/*}" \
66+
--repo "${GITHUB_REPOSITORY#*/}" \
67+
--description "${DESCRIPTION}"
68+
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
include dev-ayufan/chips/rk3399/board.mk
2+
3+
UBOOT_DEFCONFIG ?= pinebook-pro-rk3399_defconfig
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
UBOOT_DEFCONFIG ?= qemu_arm64_defconfig
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
include dev-ayufan/chips/rk3566/board.mk
2+
3+
UBOOT_DEFCONFIG ?= quartz64-a-rk3566_defconfig
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
include dev-ayufan/chips/rk3566/board.mk
2+
3+
UBOOT_DEFCONFIG ?= quartz64-b-rk3566_defconfig

dev-ayufan/blobs/rock5b/board.mk

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
include dev-ayufan/chips/rk3588/board.mk
2+
3+
UBOOT_DEFCONFIG ?= rock5b-rk3588_defconfig

dev-ayufan/blobs/rock64/board.mk

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
include dev-ayufan/chips/rk3328/board.mk
2+
3+
UBOOT_DEFCONFIG ?= rock64-rk3328_defconfig

dev-ayufan/blobs/rockpi4b/board.mk

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
include dev-ayufan/chips/rk3399/board.mk
2+
3+
UBOOT_DEFCONFIG ?= rock-pi-4-rk3399_defconfig
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
include dev-ayufan/chips/rk3399/board.mk
2+
3+
UBOOT_DEFCONFIG ?= rockpro64-rk3399_defconfig

dev-ayufan/build.mk

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
UBOOT_TMP_DIR ?= $(CURDIR)/tmp/u-boot-$(BOARD_TARGET)-build
2+
UBOOT_OUTPUT_DIR ?= $(CURDIR)/tmp/u-boot-$(BOARD_TARGET)
3+
UBOOT_MAKE ?= make KBUILD_OUTPUT=$(UBOOT_OUTPUT_DIR) BL31=$(realpath $(BL31)) ROCKCHIP_TPL=$(realpath $(ROCKCHIP_TPL)) \
4+
CROSS_COMPILE="ccache aarch64-linux-gnu-"
5+
6+
UBOOT_LOADERS ?= $(addprefix $(UBOOT_OUTPUT_DIR)/, $(addsuffix .img, $(LOADERS)))
7+
UBOOT_TPL ?= $(UBOOT_OUTPUT_DIR)/tpl/u-boot-tpl.bin
8+
UBOOT_SPL ?= $(UBOOT_OUTPUT_DIR)/spl/u-boot-spl.bin
9+
10+
tmp/u-boot-$(BOARD_TARGET)/.config: configs/$(UBOOT_DEFCONFIG)
11+
$(UBOOT_MAKE) $(UBOOT_DEFCONFIG)
12+
13+
$(UBOOT_OUTPUT_DIR):
14+
mkdir -p $@
15+
16+
$(UBOOT_OUTPUT_DIR)/u-boot.bin: .scmversion $(UBOOT_OUTPUT_DIR) tmp/u-boot-$(BOARD_TARGET)/.config $(BL31) $(ROCKCHIP_TPL)
17+
$(UBOOT_MAKE) -j $$(nproc)
18+
19+
$(UBOOT_OUTPUT_DIR)/u-boot.itb: $(UBOOT_OUTPUT_DIR)/u-boot.bin
20+
#grep CONFIG_LED=y $(UBOOT_OUTPUT_DIR)/.config
21+
#grep CONFIG_CMD_USB_MASS_STORAGE=y $(UBOOT_OUTPUT_DIR)/.config
22+
$(UBOOT_MAKE) -j $$(nproc) u-boot.itb
23+
24+
$(UBOOT_TPL) $(UBOOT_SPL): $(UBOOT_OUTPUT_DIR)/u-boot.itb
25+
26+
$(UBOOT_OUTPUT_DIR)/rksd_loader.img: $(UBOOT_OUTPUT_DIR)/u-boot.itb $(UBOOT_TPL) $(UBOOT_SPL)
27+
grep CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR= $(UBOOT_OUTPUT_DIR)/.config
28+
dev-ayufan/scripts/build_loader $@ $(UBOOT_OUTPUT_DIR)/idbloader.img $(IDBLOADER_OFFSET) $(UBOOT_OUTPUT_DIR) CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 512
29+
30+
$(UBOOT_OUTPUT_DIR)/rkspi_loader.img: $(UBOOT_OUTPUT_DIR)/u-boot.itb $(UBOOT_TPL) $(UBOOT_SPL)
31+
grep CONFIG_SPL_SPI_LOAD=y $(UBOOT_OUTPUT_DIR)/.config
32+
grep CONFIG_SYS_SPI_U_BOOT_OFFS= $(UBOOT_OUTPUT_DIR)/.config
33+
grep CONFIG_ROCKCHIP_SPI_IMAGE=y $(UBOOT_OUTPUT_DIR)/.config
34+
dev-ayufan/scripts/build_loader $@ $(UBOOT_OUTPUT_DIR)/idbloader-spi.img $$(($(IDBLOADER_SPI_OFFSET)*512)) $(UBOOT_OUTPUT_DIR) CONFIG_SYS_SPI_U_BOOT_OFFS 1
35+
36+
.PHONY: u-boot-menuconfig # edit u-boot config and save as defconfig
37+
u-boot-menuconfig:
38+
$(UBOOT_MAKE) ARCH=arm64 $(UBOOT_DEFCONFIG)
39+
$(UBOOT_MAKE) ARCH=arm64 menuconfig
40+
$(UBOOT_MAKE) ARCH=arm64 savedefconfig
41+
mv $(UBOOT_OUTPUT_DIR)/defconfig configs/$(UBOOT_DEFCONFIG)
42+
43+
.PHONY: u-boot-build # compile u-boot
44+
u-boot-build: $(UBOOT_LOADERS)
45+
46+
.PHONY: u-boot-bin
47+
u-boot-bin: $(UBOOT_OUTPUT_DIR)/u-boot.bin
48+
49+
.PHONY: u-boot-clean
50+
u-boot-clean:
51+
rm -rf $(UBOOT_OUTPUT_DIR)
52+
rm -rf $(UBOOT_TMP_DIR)
53+
54+
all: u-boot-bin u-boot-build
55+
clean: u-boot-clean

0 commit comments

Comments
 (0)