workflows/build-boot: Add mt7976 bootloader

It is the chipset used on banana pi r3.
This commit is contained in:
Mattias Walström
2025-09-14 13:37:49 +02:00
parent 399894e9a1
commit 56fce18d66
5 changed files with 6 additions and 73 deletions
+1
View File
@@ -20,6 +20,7 @@ jobs:
- cn9130_crb_boot
- aarch64_qemu_boot
- rpi4_boot
- mt7986_sd_boot
env:
MAKEFLAGS: -j5
steps:
+2 -37
View File
@@ -5,41 +5,6 @@ config BR2_PACKAGE_BANANA_PI_R3
select BR2_PACKAGE_LINUX_FIRMWARE
select BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK
select BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7986
#select BR2_PACKAGE_BANANA_PI_R3_SDCARD
select SDCARD_AUX
# select BR2_TARGET_ARM_TRUSTED_FIRMWARE
# select BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT # Does not work, needs a hook in the .mk file
# select BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP
# select BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
# select BR2_TARGET_UBOOT
# select BR2_TARGET_UBOOT_FORMAT_CUSTOM
# select BR2_TARGET_UBOOT_NEEDS_DTC
# select BR2_TARGET_UBOOT_NEEDS_UBOOT_TOOLS
# select BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
help
select SDCARD_AUX
help
Build Banana PI R3 support
# Don't redefine - just set conditional defaults
# config BR2_TARGET_UBOOT_BOARD_DEFCONFIG
# default "mt7986a_bpir3_sd"
# config BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES
# default "${BR2_EXTERNAL_INFIX_PATH}/board/common/uboot/extras.config ${BR2_EXTERNAL_INFIX_PATH}/src/board/banana-pi-r3/uboot/extras.config"
# config BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME
# default "arch/arm/dts/infix-key.dtbo arch/arm/dts/rpi-env.dtbo"
# config BR2_TARGET_UBOOT_CUSTOM_DTS_PATH
# default "${BR2_EXTERNAL_INFIX_PATH}/src/board/banana-pi-r3/uboot/rpi-env.dtso"
# config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL
# default "https://github.com/mtk-openwrt/arm-trusted-firmware.git"
# config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION
# default "78a0dfd927bb00ce973a1f8eb4079df0f755887a"
# config BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM
# default "mt7986"
# config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES
# default "BOOT_DEVICE=sdmmc USE_COHERENT_MEM=1"
@@ -1,10 +1,6 @@
GENIMAGE_CFG="$(BUILD_DIR)/genimage.cfg"
GENIMAGE_TMP="$(BUILD_DIR)/genimage.tmp"
BOARD_DIR="$(BR2_EXTERNAL_INFIX_PATH)/src/board/banana-pi-r3"
BOOTLOADER_NAME=fip.bin
BOOTLOADER2_NAME=bl2.img
BOOTLOADER_PATH=/home/lazzer/Documents/github.com/kernelkit/infix3/output-bootloader/images
define BANANA_PI_R3_LINUX_CONFIG_FIXUPS
$(call KCONFIG_ENABLE_OPT,CONFIG_ARCH_MEDIATEK)
@@ -40,34 +36,5 @@ define BANANA_PI_R3_LINUX_CONFIG_FIXUPS
$(call KCONFIG_SET_OPT,CONFIG_CRYPTO_DEV_SAFEXCEL,m)
endef
ifeq ($(BR2_PACKAGE_BANANA_PI_R3),y)
define GENERATE_SD_CARD
VERSION="-$(INFIX_RELEASE)"
cp "$(BOOTLOADER_PATH)/$(BOOTLOADER_NAME)" "$(BINARIES_DIR)"
cp "$(BOOTLOADER_PATH)/$(BOOTLOADER2_NAME)" "$(BINARIES_DIR)"
sed "s|#VERSION#|$(RELEASE)|" "$(BOARD_DIR)/genimage.cfg.in" | \
sed "s|#INFIX_ID#|$(INFIX_ID)|" > "$(GENIMAGE_CFG)"
# Create temporary root path
ROOTPATH_TMP=$(mktemp -d)
trap 'rm -rf \"$ROOTPATH_TMP\"' EXIT
# Clean previous genimage temp directory
rm -rf "${GENIMAGE_TMP}"
# Generate the SD card image
$(HOST_DIR)/bin/genimage \
--rootpath "${ROOTPATH_TMP}" \
--tmppath "$(GENIMAGE_TMP)" \
--inputpath "$(BINARIES_DIR)" \
--outputpath "$(BINARIES_DIR)" \
--config "${GENIMAGE_CFG}"
endef
endif
.PHONY: generate-sdcard-image
all: generate-sdcard-image
generate-sdcard-image: target-post-image
$(call GENERATE_SD_CARD)
$(eval $(ix-board))
$(eval $(generic-package))
+2 -2
View File
@@ -24,8 +24,8 @@ image #INFIX_ID##VERSION#-bpi-r3-sdcard.img {
}
# BL2 bootloader partition (MediaTek official location)
partition bl2 {
image = "bl2.img"
partition bl2 {
image = "bl2.img"
offset = 1024s # 0x80000 = sector 1024
size = 4M # 0x400000
bootable = true
+1 -1
View File
@@ -14,7 +14,7 @@
kernel_addr_r = "0x44000000";
scriptaddr = "0x48000000";
ramdisk_addr_r = "0x4A000000";
/* This is a development platform, keep
* developer mode statically enabled.
*/