From 123d2ccad7be1aff8208886476fe00ceb149302c Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Thu, 4 Jul 2019 10:16:20 -0700 Subject: [PATCH] u-boot: add support for installing firmware into the u-boot root directory --- packages/tools/u-boot/package.mk | 15 +++++---------- projects/Allwinner/bootloader/firmware | 4 ++++ projects/Allwinner/devices/A64/options | 3 +++ projects/Allwinner/devices/H6/options | 3 +++ projects/Amlogic/options | 3 +++ projects/Rockchip/options | 3 +++ 6 files changed, 21 insertions(+), 10 deletions(-) create mode 100644 projects/Allwinner/bootloader/firmware diff --git a/packages/tools/u-boot/package.mk b/packages/tools/u-boot/package.mk index 18ce684aba..6ca39bdadb 100644 --- a/packages/tools/u-boot/package.mk +++ b/packages/tools/u-boot/package.mk @@ -12,25 +12,20 @@ PKG_LONGDESC="Das U-Boot is a cross-platform bootloader for embedded systems." PKG_IS_KERNEL_PKG="yes" PKG_STAMP="$UBOOT_SYSTEM" -[ -n "$ATF_PLATFORM" ] && PKG_DEPENDS_TARGET+=" atf" +if [ -n "$UBOOT_FIRMWARE" ]; then + PKG_DEPENDS_TARGET+=" $UBOOT_FIRMWARE" + PKG_DEPENDS_UNPACK+=" $UBOOT_FIRMWARE" +fi PKG_NEED_UNPACK="$PROJECT_DIR/$PROJECT/bootloader" [ -n "$DEVICE" ] && PKG_NEED_UNPACK+=" $PROJECT_DIR/$PROJECT/devices/$DEVICE/bootloader" -case "$PROJECT" in - Amlogic) - PKG_DEPENDS_TARGET+=" amlogic-boot-fip" - ;; -esac - case "$PROJECT" in Rockchip) PKG_VERSION="8659d08d2b589693d121c1298484e861b7dafc4f" PKG_SHA256="3f9f2bbd0c28be6d7d6eb909823fee5728da023aca0ce37aef3c8f67d1179ec1" PKG_URL="https://github.com/rockchip-linux/u-boot/archive/$PKG_VERSION.tar.gz" PKG_PATCH_DIRS="rockchip" - PKG_DEPENDS_TARGET+=" rkbin" - PKG_NEED_UNPACK+=" $(get_pkg_directory rkbin)" ;; *) PKG_VERSION="2019.04" @@ -54,7 +49,7 @@ make_target() { echo "see './scripts/uboot_helper' for more information" else [ "${BUILD_WITH_DEBUG}" = "yes" ] && PKG_DEBUG=1 || PKG_DEBUG=0 - [ -n "$ATF_PLATFORM" ] && cp -av $(get_build_dir atf)/bl31.bin . + [ -n "$UBOOT_FIRMWARE" ] && find_file_path bootloader/firmware && . ${FOUND_PATH} DEBUG=${PKG_DEBUG} CROSS_COMPILE="$TARGET_KERNEL_PREFIX" LDFLAGS="" ARCH=arm make mrproper DEBUG=${PKG_DEBUG} CROSS_COMPILE="$TARGET_KERNEL_PREFIX" LDFLAGS="" ARCH=arm make $($ROOT/$SCRIPTS/uboot_helper $PROJECT $DEVICE $UBOOT_SYSTEM config) DEBUG=${PKG_DEBUG} CROSS_COMPILE="$TARGET_KERNEL_PREFIX" LDFLAGS="" ARCH=arm _python_sysroot="$TOOLCHAIN" _python_prefix=/ _python_exec_prefix=/ make HOSTCC="$HOST_CC" HOSTLDFLAGS="-L$TOOLCHAIN/lib" HOSTSTRIP="true" CONFIG_MKIMAGE_DTC_PATH="scripts/dtc/dtc" diff --git a/projects/Allwinner/bootloader/firmware b/projects/Allwinner/bootloader/firmware new file mode 100644 index 0000000000..623002c58f --- /dev/null +++ b/projects/Allwinner/bootloader/firmware @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) + +[ -n "$ATF_PLATFORM" ] && cp -av $(get_build_dir atf)/bl31.bin . diff --git a/projects/Allwinner/devices/A64/options b/projects/Allwinner/devices/A64/options index 5d79fdd0fa..2d9c32c14e 100644 --- a/projects/Allwinner/devices/A64/options +++ b/projects/Allwinner/devices/A64/options @@ -25,6 +25,9 @@ # Kernel target KERNEL_TARGET="Image" + # U-Boot firmware package(s) to use + UBOOT_FIRMWARE="atf" + # ATF platform ATF_PLATFORM="sun50i_a64" diff --git a/projects/Allwinner/devices/H6/options b/projects/Allwinner/devices/H6/options index 40b25b1509..82487625c2 100644 --- a/projects/Allwinner/devices/H6/options +++ b/projects/Allwinner/devices/H6/options @@ -25,6 +25,9 @@ # Kernel target KERNEL_TARGET="Image" + # U-Boot firmware package(s) to use + UBOOT_FIRMWARE="atf" + # ATF platform ATF_PLATFORM="sun50i_h6" diff --git a/projects/Amlogic/options b/projects/Amlogic/options index 7cf0d5fb1a..65ca53b6ea 100644 --- a/projects/Amlogic/options +++ b/projects/Amlogic/options @@ -5,6 +5,9 @@ # Bootloader to use (syslinux / u-boot / bcm2835-bootloader) BOOTLOADER="u-boot" + # U-Boot firmware package(s) to use + UBOOT_FIRMWARE="amlogic-boot-fip" + # Linux Kernel to use LINUX="default" diff --git a/projects/Rockchip/options b/projects/Rockchip/options index 17f04db2b8..0fb8ed360e 100644 --- a/projects/Rockchip/options +++ b/projects/Rockchip/options @@ -5,6 +5,9 @@ # Bootloader to use (syslinux / u-boot / bcm2835-bootloader) BOOTLOADER="u-boot" + # U-Boot firmware package(s) to use + UBOOT_FIRMWARE="rkbin" + # Kernel to use. values can be: # default: default mainline kernel LINUX="${LINUX:-rockchip-4.4}"