Bump buildroot to 2019.02
This commit is contained in:
@@ -13,11 +13,12 @@ source "boot/gummiboot/Config.in"
|
||||
source "boot/lpc32xxcdl/Config.in"
|
||||
source "boot/mv-ddr-marvell/Config.in"
|
||||
source "boot/mxs-bootlets/Config.in"
|
||||
source "boot/riscv-pk/Config.in"
|
||||
source "boot/s500-bootloader/Config.in"
|
||||
source "boot/shim/Config.in"
|
||||
source "boot/syslinux/Config.in"
|
||||
source "boot/ts4800-mbrboot/Config.in"
|
||||
source "boot/uboot/Config.in"
|
||||
source "boot/vexpress-firmware/Config.in"
|
||||
source "boot/xloader/Config.in"
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -6,13 +6,15 @@
|
||||
|
||||
AFBOOT_STM32_VERSION = v0.1
|
||||
AFBOOT_STM32_SITE = $(call github,mcoquelin-stm32,afboot-stm32,$(AFBOOT_STM32_VERSION))
|
||||
AFBOOT_STM32_INSTALL_IMAGES = YES
|
||||
AFBOOT_STM32_INSTALL_TARGET = NO
|
||||
|
||||
define AFBOOT_STM32_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) all
|
||||
endef
|
||||
|
||||
define AFBOOT_STM32_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -m 0755 $(@D)/stm32*.bin $(BINARIES_DIR)
|
||||
define AFBOOT_STM32_INSTALL_IMAGES_CMDS
|
||||
$(INSTALL) -m 0755 -t $(BINARIES_DIR) -D $(@D)/stm32*.bin
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
|
||||
@@ -16,6 +16,11 @@ choice
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
|
||||
bool "v1.4"
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
|
||||
bool "Custom version"
|
||||
help
|
||||
This option allows to use a specific official versions
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
|
||||
bool "Custom tarball"
|
||||
|
||||
@@ -31,12 +36,18 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION
|
||||
|
||||
endif
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE
|
||||
string "ATF version"
|
||||
depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION
|
||||
string
|
||||
default "v1.4" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
|
||||
default "custom" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
|
||||
default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION \
|
||||
if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT
|
||||
default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE \
|
||||
if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
|
||||
|
||||
if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT
|
||||
|
||||
@@ -71,6 +82,14 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31
|
||||
typically used on platforms where another bootloader (e.g
|
||||
U-Boot) encapsulates ATF BL31.
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT
|
||||
bool "Build BL31 U-Boot image"
|
||||
select BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31
|
||||
help
|
||||
Generates a U-Boot image named atf-uboot.ub containing
|
||||
bl31.bin. This is used for example by the Xilinx version of
|
||||
U-Boot SPL to load ATF on the ZynqMP SoC.
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
|
||||
bool "Use U-Boot as BL33"
|
||||
depends on BR2_TARGET_UBOOT
|
||||
|
||||
@@ -13,18 +13,22 @@ ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom)
|
||||
ARM_TRUSTED_FIRMWARE_TARBALL = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION))
|
||||
ARM_TRUSTED_FIRMWARE_SITE = $(patsubst %/,%,$(dir $(ARM_TRUSTED_FIRMWARE_TARBALL)))
|
||||
ARM_TRUSTED_FIRMWARE_SOURCE = $(notdir $(ARM_TRUSTED_FIRMWARE_TARBALL))
|
||||
BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE)
|
||||
else ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y)
|
||||
ARM_TRUSTED_FIRMWARE_SITE = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL))
|
||||
ARM_TRUSTED_FIRMWARE_SITE_METHOD = git
|
||||
BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE)
|
||||
else
|
||||
# Handle stable official ATF versions
|
||||
ARM_TRUSTED_FIRMWARE_SITE = $(call github,ARM-software,arm-trusted-firmware,$(ARM_TRUSTED_FIRMWARE_VERSION))
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE)$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION),y)
|
||||
BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE)
|
||||
endif
|
||||
|
||||
ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES = YES
|
||||
|
||||
ARM_TRUSTED_FIRMWARE_PLATFORM = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM))
|
||||
ARM_TRUSTED_FIRMWARE_IMG_DIR = $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/release
|
||||
|
||||
ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
@@ -74,15 +78,43 @@ ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31),y)
|
||||
ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += bl31
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT),y)
|
||||
define ARM_TRUSTED_FIRMWARE_BL31_UBOOT_BUILD
|
||||
# Get the entry point address from the elf.
|
||||
BASE_ADDR=$$($(TARGET_READELF) -h $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/bl31/bl31.elf | \
|
||||
sed -r '/^ Entry point address:\s*(.*)/!d; s//\1/') && \
|
||||
$(MKIMAGE) \
|
||||
-A $(MKIMAGE_ARCH) -O arm-trusted-firmware -C none \
|
||||
-a $${BASE_ADDR} -e $${BASE_ADDR} \
|
||||
-d $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/bl31.bin \
|
||||
$(ARM_TRUSTED_FIRMWARE_IMG_DIR)/atf-uboot.ub
|
||||
endef
|
||||
define ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL
|
||||
$(INSTALL) -m 0644 $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/atf-uboot.ub \
|
||||
$(BINARIES_DIR)/atf-uboot.ub
|
||||
endef
|
||||
ARM_TRUSTED_FIRMWARE_MAKE_OPTS += RESET_TO_BL31=1
|
||||
ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-uboot-tools
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF),y)
|
||||
define ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL_ELF
|
||||
$(INSTALL) -D -m 0644 $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/bl31/bl31.elf \
|
||||
$(BINARIES_DIR)/bl31.elf
|
||||
endef
|
||||
endif
|
||||
|
||||
define ARM_TRUSTED_FIRMWARE_BUILD_CMDS
|
||||
$(ARM_TRUSTED_FIRMWARE_BUILD_FIPTOOL)
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
$(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \
|
||||
$(ARM_TRUSTED_FIRMWARE_MAKE_TARGETS)
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \
|
||||
$(ARM_TRUSTED_FIRMWARE_MAKE_TARGETS)
|
||||
$(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_BUILD)
|
||||
endef
|
||||
|
||||
define ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES_CMDS
|
||||
cp -dpf $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/release/*.bin $(BINARIES_DIR)/
|
||||
cp -dpf $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/*.bin $(BINARIES_DIR)/
|
||||
$(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL)
|
||||
$(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL_ELF)
|
||||
endef
|
||||
|
||||
# Configuration check
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
config BR2_TARGET_AT91BOOTSTRAP
|
||||
depends on BR2_arm926t
|
||||
bool "AT91 Bootstrap"
|
||||
depends on BR2_arm926t
|
||||
help
|
||||
AT91Bootstrap is a first level bootloader for the Atmel AT91
|
||||
devices. It integrates algorithms for:
|
||||
- Device initialization such as clock configuration, PIO settings...
|
||||
- Device initialization such as clock configuration, PIO
|
||||
settings...
|
||||
- Peripheral drivers such as PIO, PMC or SDRAMC...
|
||||
- Physical media algorithm such as DataFlash, NandFlash, NOR Flash...
|
||||
- Physical media algorithm such as DataFlash, NandFlash, NOR
|
||||
Flash...
|
||||
|
||||
if BR2_TARGET_AT91BOOTSTRAP
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ AT91BOOTSTRAP_INSTALL_IMAGES = YES
|
||||
AT91BOOTSTRAP_INSTALL_TARGET = NO
|
||||
|
||||
define AT91BOOTSTRAP_EXTRACT_CMDS
|
||||
$(UNZIP) -d $(BUILD_DIR) $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE)
|
||||
$(UNZIP) -d $(BUILD_DIR) $(AT91BOOTSTRAP_DL_DIR)/$(AT91BOOTSTRAP_SOURCE)
|
||||
mv $(BUILD_DIR)/Bootstrap-v$(AT91BOOTSTRAP_VERSION)/* $(@D)
|
||||
rmdir $(BUILD_DIR)/Bootstrap-v$(AT91BOOTSTRAP_VERSION)
|
||||
endef
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
config BR2_TARGET_AT91BOOTSTRAP3
|
||||
depends on BR2_arm926t || BR2_cortex_a5
|
||||
bool "AT91 Bootstrap 3"
|
||||
depends on BR2_arm926t || BR2_cortex_a5
|
||||
help
|
||||
AT91Bootstrap is a first level bootloader for the Atmel AT91
|
||||
devices. It integrates algorithms for:
|
||||
- Device initialization such as clock configuration, PIO settings...
|
||||
- Device initialization such as clock configuration, PIO
|
||||
settings...
|
||||
- Peripheral drivers such as PIO, PMC or SDRAMC...
|
||||
- Physical media algorithm such as DataFlash, NandFlash, NOR Flash...
|
||||
- Physical media algorithm such as DataFlash, NandFlash, NOR
|
||||
Flash...
|
||||
|
||||
https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap
|
||||
|
||||
@@ -22,8 +24,8 @@ config BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION
|
||||
config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT
|
||||
bool "Custom Git repository"
|
||||
help
|
||||
This option allows Buildroot to get the AT91 Bootstrap 3 source
|
||||
code from a Git repository.
|
||||
This option allows Buildroot to get the AT91 Bootstrap 3
|
||||
source code from a Git repository.
|
||||
|
||||
endchoice
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
config BR2_TARGET_AT91DATAFLASHBOOT
|
||||
depends on BR2_arm926t
|
||||
bool "AT91 DataFlashBoot"
|
||||
depends on BR2_arm926t
|
||||
|
||||
@@ -12,7 +12,7 @@ choice
|
||||
Select the specific Barebox version you want to use
|
||||
|
||||
config BR2_TARGET_BAREBOX_LATEST_VERSION
|
||||
bool "2017.09.0"
|
||||
bool "2018.12.0"
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_VERSION
|
||||
bool "Custom version"
|
||||
@@ -40,7 +40,7 @@ endif
|
||||
|
||||
config BR2_TARGET_BAREBOX_VERSION
|
||||
string
|
||||
default "2017.09.0" if BR2_TARGET_BAREBOX_LATEST_VERSION
|
||||
default "2018.12.0" if BR2_TARGET_BAREBOX_LATEST_VERSION
|
||||
default BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE if BR2_TARGET_BAREBOX_CUSTOM_VERSION
|
||||
default "custom" if BR2_TARGET_BAREBOX_CUSTOM_TARBALL
|
||||
default BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION if BR2_TARGET_BAREBOX_CUSTOM_GIT
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# http://www.barebox.org/download/barebox-2017.09.0.tar.bz2.md5
|
||||
md5 b92e9c99cda7fbb61d01baf5679df261 barebox-2017.09.0.tar.bz2
|
||||
# From https://www.barebox.org/download/barebox-2018.12.0.tar.bz2.md5
|
||||
md5 f84d7d3562055c80c3eedce0b14d4a0d barebox-2018.12.0.tar.bz2
|
||||
|
||||
# Locally calculated
|
||||
sha256 43283edc019f95a53fdb7d1b7c294afc4741bfcace348d6beeded5fe5147a81b barebox-2017.09.0.tar.bz2
|
||||
sha256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 barebox-2018.12.0.tar.bz2
|
||||
|
||||
@@ -28,7 +28,7 @@ $(1)_SITE_METHOD = git
|
||||
else
|
||||
# Handle stable official Barebox versions
|
||||
$(1)_SOURCE = barebox-$$($(1)_VERSION).tar.bz2
|
||||
$(1)_SITE = http://www.barebox.org/download
|
||||
$(1)_SITE = https://www.barebox.org/download
|
||||
endif
|
||||
|
||||
$(1)_DEPENDENCIES = host-lzop
|
||||
|
||||
@@ -17,7 +17,6 @@ config BR2_TARGET_BAREBOX_BOARD_DEFCONFIG
|
||||
Name of the board for which Barebox should be built, without
|
||||
the _defconfig suffix.
|
||||
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE
|
||||
string "Configuration file path"
|
||||
depends on BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG
|
||||
|
||||
@@ -26,7 +26,7 @@ endchoice
|
||||
|
||||
config BR2_TARGET_BINARIES_MARVELL_IMAGE
|
||||
string
|
||||
default "mrvl_scp_bl2_8040.img" if BR2_TARGET_BINARIES_MARVELL_8040
|
||||
default "mrvl_scp_bl2_7040.img" if BR2_TARGET_BINARIES_MARVELL_7040
|
||||
default "mrvl_scp_bl2_mss_ap_cp1_a8040.img" if BR2_TARGET_BINARIES_MARVELL_8040
|
||||
default "mrvl_scp_bl2_mss_ap_cp1_a7040.img" if BR2_TARGET_BINARIES_MARVELL_7040
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 7c41cddc2ce46038b630b59d2e9e50e903d27032bcfbf38019eaed14fcfdbe40 binaries-marvell-a8ac27b7884ed2c1efcf9f3326de3e0ed7b94e91.tar.gz
|
||||
sha256 d8560ab4ea4042a55eee6857ded1d7e4bca2d9120b8c7a86d2a7fdc4ba4994e0 README.md
|
||||
sha256 45c348d7a62fd147e7c6a59211a77876ce5dd26de690bd45ab79c8ff891acedf binaries-marvell-14481806e699dcc6f7025dbe3e46cf26bb787791.tar.gz
|
||||
sha256 509a36bb6faa106bbc9730c23038a361ee0c860e53a4cdf9e8605c0174fe45f7 README.md
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
BINARIES_MARVELL_VERSION = a8ac27b7884ed2c1efcf9f3326de3e0ed7b94e91
|
||||
# This is version binaries-marvell-armada-18.06
|
||||
BINARIES_MARVELL_VERSION = 14481806e699dcc6f7025dbe3e46cf26bb787791
|
||||
BINARIES_MARVELL_SITE = $(call github,MarvellEmbeddedProcessors,binaries-marvell,$(BINARIES_MARVELL_VERSION))
|
||||
|
||||
BINARIES_MARVELL_LICENSE = GPL-2.0 with freertos-exception-2.0
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
From 842c390469e2c2e10b5aa36700324cd3bde25875 Mon Sep 17 00:00:00 2001
|
||||
From: "H.J. Lu" <hjl.tools@gmail.com>
|
||||
Date: Sat, 17 Feb 2018 06:47:28 -0800
|
||||
Subject: [PATCH] x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32
|
||||
|
||||
Starting from binutils commit bd7ab16b4537788ad53521c45469a1bdae84ad4a:
|
||||
|
||||
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=bd7ab16b4537788ad53521c45469a1bdae84ad4a
|
||||
|
||||
x86-64 assembler generates R_X86_64_PLT32, instead of R_X86_64_PC32, for
|
||||
32-bit PC-relative branches. Grub2 should treat R_X86_64_PLT32 as
|
||||
R_X86_64_PC32.
|
||||
|
||||
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Signed-off-by: Romain Naour <romain.naour@smile.fr>
|
||||
---
|
||||
grub-core/efiemu/i386/loadcore64.c | 1 +
|
||||
grub-core/kern/x86_64/dl.c | 1 +
|
||||
util/grub-mkimagexx.c | 1 +
|
||||
util/grub-module-verifier.c | 1 +
|
||||
4 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/grub-core/efiemu/i386/loadcore64.c b/grub-core/efiemu/i386/loadcore64.c
|
||||
index e49d0b6..18facf4 100644
|
||||
--- a/grub-core/efiemu/i386/loadcore64.c
|
||||
+++ b/grub-core/efiemu/i386/loadcore64.c
|
||||
@@ -98,6 +98,7 @@ grub_arch_efiemu_relocate_symbols64 (grub_efiemu_segment_t segs,
|
||||
break;
|
||||
|
||||
case R_X86_64_PC32:
|
||||
+ case R_X86_64_PLT32:
|
||||
err = grub_efiemu_write_value (addr,
|
||||
*addr32 + rel->r_addend
|
||||
+ sym.off
|
||||
diff --git a/grub-core/kern/x86_64/dl.c b/grub-core/kern/x86_64/dl.c
|
||||
index 4406906..3a73e6e 100644
|
||||
--- a/grub-core/kern/x86_64/dl.c
|
||||
+++ b/grub-core/kern/x86_64/dl.c
|
||||
@@ -70,6 +70,7 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
|
||||
break;
|
||||
|
||||
case R_X86_64_PC32:
|
||||
+ case R_X86_64_PLT32:
|
||||
{
|
||||
grub_int64_t value;
|
||||
value = ((grub_int32_t) *addr32) + rel->r_addend + sym->st_value -
|
||||
diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c
|
||||
index a2bb054..39d7efb 100644
|
||||
--- a/util/grub-mkimagexx.c
|
||||
+++ b/util/grub-mkimagexx.c
|
||||
@@ -841,6 +841,7 @@ SUFFIX (relocate_addresses) (Elf_Ehdr *e, Elf_Shdr *sections,
|
||||
break;
|
||||
|
||||
case R_X86_64_PC32:
|
||||
+ case R_X86_64_PLT32:
|
||||
{
|
||||
grub_uint32_t *t32 = (grub_uint32_t *) target;
|
||||
*t32 = grub_host_to_target64 (grub_target_to_host32 (*t32)
|
||||
diff --git a/util/grub-module-verifier.c b/util/grub-module-verifier.c
|
||||
index 9179285..a79271f 100644
|
||||
--- a/util/grub-module-verifier.c
|
||||
+++ b/util/grub-module-verifier.c
|
||||
@@ -19,6 +19,7 @@ struct grub_module_verifier_arch archs[] = {
|
||||
-1
|
||||
}, (int[]){
|
||||
R_X86_64_PC32,
|
||||
+ R_X86_64_PLT32,
|
||||
-1
|
||||
}
|
||||
},
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -2,6 +2,9 @@ config BR2_TARGET_GRUB2_ARCH_SUPPORTS
|
||||
bool
|
||||
default y if BR2_i386
|
||||
default y if BR2_x86_64
|
||||
default y if BR2_arm
|
||||
default y if BR2_aarch64
|
||||
depends on BR2_USE_MMU
|
||||
|
||||
config BR2_TARGET_GRUB2
|
||||
bool "grub2"
|
||||
@@ -29,12 +32,14 @@ choice
|
||||
|
||||
config BR2_TARGET_GRUB2_I386_PC
|
||||
bool "i386-pc"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
help
|
||||
Select this option if the platform you're targetting is a
|
||||
x86 or x86-64 legacy BIOS based platform.
|
||||
|
||||
config BR2_TARGET_GRUB2_I386_EFI
|
||||
bool "i386-efi"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
help
|
||||
Select this option if the platform you're targetting has a
|
||||
32 bits EFI BIOS. Note that some x86-64 platforms use a 32
|
||||
@@ -42,14 +47,38 @@ config BR2_TARGET_GRUB2_I386_EFI
|
||||
|
||||
config BR2_TARGET_GRUB2_X86_64_EFI
|
||||
bool "x86-64-efi"
|
||||
depends on BR2_ARCH_IS_64
|
||||
depends on BR2_x86_64
|
||||
help
|
||||
Select this option if the platform you're targetting has a
|
||||
64 bits EFI BIOS.
|
||||
|
||||
config BR2_TARGET_GRUB2_ARM_UBOOT
|
||||
bool "arm-uboot"
|
||||
depends on BR2_arm
|
||||
help
|
||||
Select this option if the platform you're targetting is an
|
||||
ARM u-boot platform, and you want to boot Grub 2 as an u-boot
|
||||
compatible image.
|
||||
|
||||
config BR2_TARGET_GRUB2_ARM_EFI
|
||||
bool "arm-efi"
|
||||
depends on BR2_arm
|
||||
help
|
||||
Select this option if the platform you're targetting is an
|
||||
ARM platform and you want to boot Grub 2 as an EFI
|
||||
application.
|
||||
|
||||
config BR2_TARGET_GRUB2_ARM64_EFI
|
||||
bool "arm64-efi"
|
||||
depends on BR2_aarch64
|
||||
help
|
||||
Select this option if the platform you're targetting is an
|
||||
Aarch64 platform and you want to boot Grub 2 as an EFI
|
||||
application.
|
||||
|
||||
endchoice
|
||||
|
||||
if BR2_TARGET_GRUB2_I386_PC
|
||||
if BR2_TARGET_GRUB2_I386_PC || BR2_TARGET_GRUB2_ARM_UBOOT
|
||||
|
||||
config BR2_TARGET_GRUB2_BOOT_PARTITION
|
||||
string "boot partition"
|
||||
@@ -60,13 +89,15 @@ config BR2_TARGET_GRUB2_BOOT_PARTITION
|
||||
first disk if using a legacy partition table, or 'hd0,gpt1'
|
||||
if using GPT partition table.
|
||||
|
||||
endif # BR2_TARGET_GRUB2_I386_PC
|
||||
endif # BR2_TARGET_GRUB2_I386_PC || BR2_TARGET_GRUB2_ARM_UBOOT
|
||||
|
||||
config BR2_TARGET_GRUB2_BUILTIN_MODULES
|
||||
string "builtin modules"
|
||||
default "boot linux ext2 fat squash4 part_msdos part_gpt normal biosdisk" if BR2_TARGET_GRUB2_I386_PC
|
||||
default "boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop" \
|
||||
if BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI
|
||||
if BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI || \
|
||||
BR2_TARGET_GRUB2_ARM_EFI || BR2_TARGET_GRUB2_ARM64_EFI
|
||||
default "linux ext2 fat part_msdos normal" if BR2_TARGET_GRUB2_ARM_UBOOT
|
||||
|
||||
config BR2_TARGET_GRUB2_BUILTIN_CONFIG
|
||||
string "builtin config"
|
||||
@@ -76,6 +107,15 @@ config BR2_TARGET_GRUB2_BUILTIN_CONFIG
|
||||
device and other configuration parameters, but however menu
|
||||
entries cannot be described in this embedded configuration.
|
||||
|
||||
config BR2_TARGET_GRUB2_INSTALL_TOOLS
|
||||
bool "install tools"
|
||||
help
|
||||
Install support tools to interact with GNU GRUB Multiboot
|
||||
boot loader.
|
||||
|
||||
This will also install the Grub 2 loadable modules to the
|
||||
target.
|
||||
|
||||
endif # BR2_TARGET_GRUB2
|
||||
|
||||
comment "grub2 needs a toolchain w/ wchar"
|
||||
|
||||
@@ -9,7 +9,15 @@ GRUB2_SITE = http://ftp.gnu.org/gnu/grub
|
||||
GRUB2_SOURCE = grub-$(GRUB2_VERSION).tar.xz
|
||||
GRUB2_LICENSE = GPL-3.0+
|
||||
GRUB2_LICENSE_FILES = COPYING
|
||||
GRUB2_DEPENDENCIES = host-bison host-flex
|
||||
GRUB2_DEPENDENCIES = host-bison host-flex host-grub2
|
||||
HOST_GRUB2_DEPENDENCIES = host-bison host-flex
|
||||
GRUB2_INSTALL_IMAGES = YES
|
||||
|
||||
ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y)
|
||||
GRUB2_INSTALL_TARGET = YES
|
||||
else
|
||||
GRUB2_INSTALL_TARGET = NO
|
||||
endif
|
||||
|
||||
GRUB2_BUILTIN_MODULES = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES))
|
||||
GRUB2_BUILTIN_CONFIG = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_CONFIG))
|
||||
@@ -36,29 +44,48 @@ GRUB2_PREFIX = /EFI/BOOT
|
||||
GRUB2_TUPLE = x86_64-efi
|
||||
GRUB2_TARGET = x86_64
|
||||
GRUB2_PLATFORM = efi
|
||||
else ifeq ($(BR2_TARGET_GRUB2_ARM_UBOOT),y)
|
||||
GRUB2_IMAGE = $(BINARIES_DIR)/boot-part/grub/grub.img
|
||||
GRUB2_CFG = $(BINARIES_DIR)/boot-part/grub/grub.cfg
|
||||
GRUB2_PREFIX = ($(GRUB2_BOOT_PARTITION))/boot/grub
|
||||
GRUB2_TUPLE = arm-uboot
|
||||
GRUB2_TARGET = arm
|
||||
GRUB2_PLATFORM = uboot
|
||||
else ifeq ($(BR2_TARGET_GRUB2_ARM_EFI),y)
|
||||
GRUB2_IMAGE = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootarm.efi
|
||||
GRUB2_CFG = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg
|
||||
GRUB2_PREFIX = /EFI/BOOT
|
||||
GRUB2_TUPLE = arm-efi
|
||||
GRUB2_TARGET = arm
|
||||
GRUB2_PLATFORM = efi
|
||||
else ifeq ($(BR2_TARGET_GRUB2_ARM64_EFI),y)
|
||||
GRUB2_IMAGE = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootaa64.efi
|
||||
GRUB2_CFG = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg
|
||||
GRUB2_PREFIX = /EFI/BOOT
|
||||
GRUB2_TUPLE = arm64-efi
|
||||
GRUB2_TARGET = aarch64
|
||||
GRUB2_PLATFORM = efi
|
||||
endif
|
||||
|
||||
# Grub2 is kind of special: it considers CC, LD and so on to be the
|
||||
# tools to build the native tools (i.e to be executed on the build
|
||||
# machine), and uses TARGET_CC, TARGET_CFLAGS, TARGET_CPPFLAGS,
|
||||
# TARGET_LDFLAGS to build the bootloader itself. However, to add to
|
||||
# the confusion, it also uses NM, OBJCOPY and STRIP to build the
|
||||
# bootloader itself; none of these are used to build the native
|
||||
# tools.
|
||||
# tools to build the host programs and uses TARGET_CC, TARGET_CFLAGS,
|
||||
# TARGET_CPPFLAGS, TARGET_LDFLAGS to build the bootloader itself.
|
||||
#
|
||||
# NOTE: TARGET_STRIP is overridden by !BR2_STRIP_strip, so always
|
||||
# use the cross compile variant to ensure grub2 builds
|
||||
|
||||
HOST_GRUB2_CONF_ENV = \
|
||||
CPP="$(HOSTCC) -E"
|
||||
|
||||
GRUB2_CONF_ENV = \
|
||||
$(HOST_CONFIGURE_OPTS) \
|
||||
CPP="$(HOSTCC) -E" \
|
||||
CPP="$(TARGET_CC) -E" \
|
||||
TARGET_CC="$(TARGET_CC)" \
|
||||
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
|
||||
TARGET_CPPFLAGS="$(TARGET_CPPFLAGS) -fno-stack-protector" \
|
||||
TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
|
||||
NM="$(TARGET_NM)" \
|
||||
OBJCOPY="$(TARGET_OBJCOPY)" \
|
||||
STRIP="$(TARGET_CROSS)strip"
|
||||
TARGET_NM="$(TARGET_NM)" \
|
||||
TARGET_OBJCOPY="$(TARGET_OBJCOPY)" \
|
||||
TARGET_STRIP="$(TARGET_CROSS)strip"
|
||||
|
||||
GRUB2_CONF_OPTS = \
|
||||
--target=$(GRUB2_TARGET) \
|
||||
@@ -72,12 +99,13 @@ GRUB2_CONF_OPTS = \
|
||||
--enable-libzfs=no \
|
||||
--disable-werror
|
||||
|
||||
# We don't want all the native tools and Grub2 modules to be installed
|
||||
# in the target. So we in fact install everything into the host
|
||||
# directory, and the image generation process (below) will use the
|
||||
# grub-mkimage tool and Grub2 modules from the host directory.
|
||||
|
||||
GRUB2_INSTALL_TARGET_OPTS = DESTDIR=$(HOST_DIR) install
|
||||
HOST_GRUB2_CONF_OPTS = \
|
||||
--disable-grub-mkfont \
|
||||
--enable-efiemu=no \
|
||||
ac_cv_lib_lzma_lzma_code=no \
|
||||
--enable-device-mapper=no \
|
||||
--enable-libzfs=no \
|
||||
--disable-werror
|
||||
|
||||
ifeq ($(BR2_TARGET_GRUB2_I386_PC),y)
|
||||
define GRUB2_IMAGE_INSTALL_ELTORITO
|
||||
@@ -86,10 +114,10 @@ define GRUB2_IMAGE_INSTALL_ELTORITO
|
||||
endef
|
||||
endif
|
||||
|
||||
define GRUB2_IMAGE_INSTALLATION
|
||||
define GRUB2_INSTALL_IMAGES_CMDS
|
||||
mkdir -p $(dir $(GRUB2_IMAGE))
|
||||
$(HOST_DIR)/bin/grub-mkimage \
|
||||
-d $(HOST_DIR)/lib/grub/$(GRUB2_TUPLE) \
|
||||
$(HOST_DIR)/usr/bin/grub-mkimage \
|
||||
-d $(@D)/grub-core/ \
|
||||
-O $(GRUB2_TUPLE) \
|
||||
-o $(GRUB2_IMAGE) \
|
||||
-p "$(GRUB2_PREFIX)" \
|
||||
@@ -99,14 +127,14 @@ define GRUB2_IMAGE_INSTALLATION
|
||||
$(INSTALL) -D -m 0644 boot/grub2/grub.cfg $(GRUB2_CFG)
|
||||
$(GRUB2_IMAGE_INSTALL_ELTORITO)
|
||||
endef
|
||||
GRUB2_POST_INSTALL_TARGET_HOOKS += GRUB2_IMAGE_INSTALLATION
|
||||
|
||||
ifeq ($(GRUB2_PLATFORM),efi)
|
||||
define GRUB2_EFI_STARTUP_NSH
|
||||
echo $(notdir $(GRUB2_IMAGE)) > \
|
||||
$(BINARIES_DIR)/efi-part/startup.nsh
|
||||
endef
|
||||
GRUB2_POST_INSTALL_TARGET_HOOKS += GRUB2_EFI_STARTUP_NSH
|
||||
GRUB2_POST_INSTALL_IMAGES_HOOKS += GRUB2_EFI_STARTUP_NSH
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
$(eval $(host-autotools-package))
|
||||
|
||||
@@ -53,8 +53,8 @@ To test your BIOS image in Qemu
|
||||
|
||||
qemu-system-{i386,x86-64} -hda disk.img
|
||||
|
||||
Notes on using Grub2 for EFI-based platforms
|
||||
============================================
|
||||
Notes on using Grub2 for x86/x86_64 EFI-based platforms
|
||||
=======================================================
|
||||
|
||||
1. Create a disk image
|
||||
dd if=/dev/zero of=disk.img bs=1M count=32
|
||||
@@ -83,16 +83,108 @@ Notes on using Grub2 for EFI-based platforms
|
||||
sudo losetup -d /dev/loop0
|
||||
7. Your disk.img is ready!
|
||||
|
||||
To test your EFI image in Qemu
|
||||
------------------------------
|
||||
To test your i386/x86-64 EFI image in Qemu
|
||||
------------------------------------------
|
||||
|
||||
1. Download the EFI BIOS for Qemu
|
||||
Version IA32 or X64 depending on the chosen Grub2
|
||||
platform (i386-efi vs. x86-64-efi)
|
||||
http://sourceforge.net/projects/edk2/files/OVMF/
|
||||
https://www.kraxel.org/repos/jenkins/edk2/
|
||||
(or use one provided by your distribution as OVMF)
|
||||
2. Extract, and rename OVMF.fd to bios.bin and
|
||||
CirrusLogic5446.rom to vgabios-cirrus.bin.
|
||||
3. qemu-system-{i386,x86-64} -L ovmf-dir/ -hda disk.img
|
||||
4. Make sure to pass pci=nocrs to the kernel command line,
|
||||
to workaround a bug in the EFI BIOS regarding the
|
||||
EFI framebuffer.
|
||||
|
||||
Notes on using Grub2 for ARM u-boot-based platforms
|
||||
===================================================
|
||||
|
||||
The following steps show how to use the Grub2 arm-uboot platform
|
||||
support in the simplest way possible and with a single
|
||||
buildroot-generated filesystem.
|
||||
|
||||
1. Load qemu_arm_vexpress_defconfig
|
||||
|
||||
2. Enable u-boot with the vexpress_ca9x4 board name and with
|
||||
u-boot.elf image format.
|
||||
|
||||
3. Enable grub2 for the arm-uboot platform.
|
||||
|
||||
4. Enable "Install kernel image to /boot in target" in the kernel
|
||||
menu to populate a /boot directory with zImage in it.
|
||||
|
||||
5. The upstream u-boot vexpress_ca9x4 doesn't have CONFIG_API enabled
|
||||
by default, which is required.
|
||||
|
||||
Before building, patch u-boot (for example, make u-boot-extract to
|
||||
edit the source before building) file
|
||||
include/configs/vexpress_common.h to define:
|
||||
|
||||
#define CONFIG_API
|
||||
#define CONFIG_SYS_MMC_MAX_DEVICE 1
|
||||
|
||||
6. Create a custom grub2 config file with the following contents and
|
||||
set its path in BR2_TARGET_GRUB2_CFG:
|
||||
|
||||
set default="0"
|
||||
set timeout="5"
|
||||
|
||||
menuentry "Buildroot" {
|
||||
set root='(hd0)'
|
||||
linux /boot/zImage root=/dev/mmcblk0 console=ttyAMA0
|
||||
devicetree /boot/vexpress-v2p-ca9.dtb
|
||||
}
|
||||
|
||||
7. Create a custom builtin config file with the following contents
|
||||
and set its path in BR2_TARGET_GRUB2_BUILTIN_CONFIG:
|
||||
|
||||
set root=(hd0)
|
||||
set prefix=/boot/grub
|
||||
|
||||
8. Create a custom post-build script which copies files from
|
||||
${BINARIES_DIR}/boot-part to $(TARGET_DIR)/boot (set its path in
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT):
|
||||
|
||||
#!/bin/sh
|
||||
cp -r ${BINARIES_DIR}/boot-part/* ${TARGET_DIR}/boot/
|
||||
|
||||
9. make
|
||||
|
||||
10. Run qemu with:
|
||||
|
||||
qemu-system-arm -M vexpress-a9 -kernel output/images/u-boot -m 1024 \
|
||||
-nographic -sd output/images/rootfs.ext2
|
||||
|
||||
11. In u-boot, stop at the prompt and run grub2 with:
|
||||
|
||||
=> ext2load mmc 0:0 ${loadaddr} /boot/grub/grub.img
|
||||
=> bootm
|
||||
|
||||
12. This should bring the grub2 menu, upon which selecting the "Buildroot"
|
||||
entry should boot Linux.
|
||||
|
||||
|
||||
Notes on using Grub2 for Aarch64 EFI-based platforms
|
||||
====================================================
|
||||
|
||||
The following steps show how to use the Grub2 arm64-efi platform,
|
||||
using qemu and EFI firmware built for qemu.
|
||||
|
||||
1. Load aarch64_efi_defconfig
|
||||
|
||||
2. make
|
||||
|
||||
3. Download the EFI firmware for qemu aarch64
|
||||
https://www.kraxel.org/repos/jenkins/edk2/
|
||||
(or use one provided by your distribution as OVMF-aarch64 or AAVMF)
|
||||
|
||||
4. Run qemu with:
|
||||
|
||||
qemu-system-aarch64 -M virt -cpu cortex-a57 -m 512 -nographic \
|
||||
-bios <path/to/EDK2>/QEMU_EFI.fd -hda output/images/disk.img \
|
||||
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0
|
||||
|
||||
5. This should bring the grub2 menu, upon which selecting the
|
||||
"Buildroot" entry should boot Linux.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
config BR2_TARGET_GUMMIBOOT
|
||||
bool "gummiboot"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS
|
||||
select BR2_PACKAGE_GNU_EFI
|
||||
select BR2_PACKAGE_UTIL_LINUX
|
||||
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
config BR2_TARGET_LPC32XXCDL
|
||||
depends on BR2_arm926t
|
||||
bool "LPC32XX CDL (kickstart and S1L)"
|
||||
depends on BR2_arm926t
|
||||
|
||||
if BR2_TARGET_LPC32XXCDL
|
||||
|
||||
|
||||
@@ -33,10 +33,10 @@ LPC32XXCDL_S1L_BURNER = nand/s1lapp_jtag
|
||||
endif
|
||||
|
||||
LPC32XXCDL_BUILD_FLAGS = \
|
||||
CROSS_COMPILE=$(TARGET_CROSS) \
|
||||
NXPMCU_WINBASE=$(@D) \
|
||||
NXPMCU_SOFTWARE=$(@D) \
|
||||
BSP=$(BR2_TARGET_LPC32XXCDL_BOARDNAME) \
|
||||
CROSS_COMPILE=$(TARGET_CROSS) \
|
||||
NXPMCU_WINBASE=$(@D) \
|
||||
NXPMCU_SOFTWARE=$(@D) \
|
||||
BSP=$(BR2_TARGET_LPC32XXCDL_BOARDNAME) \
|
||||
CSP=lpc32xx TOOL=gnu GEN=lpc
|
||||
|
||||
LPC32XXCDL_BOARD_STARTUP_DIR = \
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 d413546367ffa3b5f4373a777b9efeb32dcc74d6106897c248935ecb79afc454 mv-ddr-marvell-656440a9690f3d07be9e3d2c39d7cf56fd96eb7b.tar.gz
|
||||
sha256 9aaea1f5e8bf3c9d7e735f569d130b5c2ec773c43e0cfabc9b8dee32adbf7e4e mv-ddr-marvell-99d772547314f84921268d57e53d8769197d3e21.tar.gz
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
MV_DDR_MARVELL_VERSION = 656440a9690f3d07be9e3d2c39d7cf56fd96eb7b
|
||||
# This is the commit for mv_ddr-armada-18.09.2
|
||||
MV_DDR_MARVELL_VERSION = 99d772547314f84921268d57e53d8769197d3e21
|
||||
MV_DDR_MARVELL_SITE = $(call github,MarvellEmbeddedProcessors,mv-ddr-marvell,$(MV_DDR_MARVELL_VERSION))
|
||||
MV_DDR_MARVELL_LICENSE = GPL-2.0+ or LGPL-2.1 with freertos-exception-2.0, BSD-3-Clause, Marvell Commercial
|
||||
MV_DDR_MARVELL_LICENSE_FILES = ddr3_init.c
|
||||
|
||||
@@ -24,8 +24,8 @@ config BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT
|
||||
endchoice
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL_URL
|
||||
depends on BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL
|
||||
string "URL of custom bootlets tarball"
|
||||
depends on BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL
|
||||
|
||||
if BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT
|
||||
|
||||
@@ -43,16 +43,16 @@ choice
|
||||
Select which bootstream to generate
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_BAREBOX
|
||||
depends on BR2_TARGET_BAREBOX
|
||||
bool "Barebox Bootloader"
|
||||
depends on BR2_TARGET_BAREBOX
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_LINUX
|
||||
depends on BR2_LINUX_KERNEL
|
||||
bool "Linux Kernel"
|
||||
depends on BR2_LINUX_KERNEL
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_UBOOT
|
||||
depends on BR2_TARGET_UBOOT
|
||||
bool "U-boot bootloader"
|
||||
depends on BR2_TARGET_UBOOT
|
||||
|
||||
endchoice
|
||||
|
||||
|
||||
14
bsp/buildroot/boot/riscv-pk/Config.in
Normal file
14
bsp/buildroot/boot/riscv-pk/Config.in
Normal file
@@ -0,0 +1,14 @@
|
||||
comment "riscv-pk needs a Linux kernel to be built"
|
||||
depends on BR2_riscv
|
||||
depends on !BR2_LINUX_KERNEL
|
||||
|
||||
config BR2_TARGET_RISCV_PK
|
||||
bool "riscv-pk"
|
||||
depends on BR2_riscv
|
||||
depends on BR2_LINUX_KERNEL
|
||||
help
|
||||
The RISC-V Proxy Kernel (pk) package contains the Berkeley
|
||||
Boot Loader (BBL) which has been designed to boot a Linux
|
||||
kernel on a RISC-V processor.
|
||||
|
||||
https://github.com/riscv/riscv-pk.git
|
||||
32
bsp/buildroot/boot/riscv-pk/riscv-pk.mk
Normal file
32
bsp/buildroot/boot/riscv-pk/riscv-pk.mk
Normal file
@@ -0,0 +1,32 @@
|
||||
################################################################################
|
||||
#
|
||||
# riscv-pk
|
||||
#
|
||||
################################################################################
|
||||
|
||||
RISCV_PK_VERSION = 706cc77c369fd3e4734b5a6aa813d421347f1814
|
||||
RISCV_PK_SITE = git://github.com/riscv/riscv-pk.git
|
||||
RISCV_PK_LICENSE = BSD-3-Clause
|
||||
RISCV_PK_LICENSE_FILES = LICENSE
|
||||
RISCV_PK_DEPENDENCIES = linux
|
||||
RISCV_PK_SUBDIR = build
|
||||
RISCV_PK_INSTALL_IMAGES = YES
|
||||
|
||||
define RISCV_PK_CONFIGURE_CMDS
|
||||
mkdir -p $(@D)/build
|
||||
(cd $(@D)/build; \
|
||||
$(TARGET_CONFIGURE_OPTS) ../configure \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--with-payload=$(BINARIES_DIR)/vmlinux \
|
||||
)
|
||||
endef
|
||||
|
||||
define RISCV_PK_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/build bbl
|
||||
endef
|
||||
|
||||
define RISCV_PK_INSTALL_IMAGES_CMDS
|
||||
$(INSTALL) -D -m 0755 $(@D)/build/bbl $(BINARIES_DIR)/bbl
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
19
bsp/buildroot/boot/shim/Config.in
Normal file
19
bsp/buildroot/boot/shim/Config.in
Normal file
@@ -0,0 +1,19 @@
|
||||
config BR2_TARGET_SHIM
|
||||
bool "shim"
|
||||
depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS
|
||||
# ARM32 build currently broken
|
||||
depends on !BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_PACKAGE_GNU_EFI
|
||||
help
|
||||
Boot loader to chain-load signed boot loaders under Secure
|
||||
Boot.
|
||||
|
||||
This package provides a minimalist boot loader which allows
|
||||
verifying signatures of other UEFI binaries against either
|
||||
the Secure Boot DB/DBX or against a built-in signature
|
||||
database. Its purpose is to allow a small,
|
||||
infrequently-changing binary to be signed by the UEFI CA,
|
||||
while allowing an OS distributor to revision their main
|
||||
bootloader independently of the CA.
|
||||
|
||||
https://github.com/rhboot/shim
|
||||
3
bsp/buildroot/boot/shim/shim.hash
Normal file
3
bsp/buildroot/boot/shim/shim.hash
Normal file
@@ -0,0 +1,3 @@
|
||||
# locally computed hash
|
||||
sha256 279d19cc95b9974ea2379401a6a0653d949c3fa3d61f0c4bd6a7b9e840bdc425 shim-15.tar.gz
|
||||
sha256 15edf527919ddcb2f514ab9d16ad07ef219e4bb490e0b79560be510f0c159cc2 COPYRIGHT
|
||||
31
bsp/buildroot/boot/shim/shim.mk
Normal file
31
bsp/buildroot/boot/shim/shim.mk
Normal file
@@ -0,0 +1,31 @@
|
||||
################################################################################
|
||||
#
|
||||
# shim
|
||||
#
|
||||
################################################################################
|
||||
|
||||
SHIM_VERSION = 15
|
||||
SHIM_SITE = $(call github,rhboot,shim,$(SHIM_VERSION))
|
||||
SHIM_LICENSE = BSD-2-Clause
|
||||
SHIM_LICENSE_FILES = COPYRIGHT
|
||||
SHIM_DEPENDENCIES = gnu-efi
|
||||
SHIM_INSTALL_TARGET = NO
|
||||
SHIM_INSTALL_IMAGES = YES
|
||||
|
||||
SHIM_MAKE_OPTS = \
|
||||
ARCH="$(GNU_EFI_PLATFORM)" \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
DASHJ="-j$(PARALLEL_JOBS)" \
|
||||
EFI_INCLUDE="$(STAGING_DIR)/usr/include/efi" \
|
||||
EFI_PATH="$(STAGING_DIR)/usr/lib" \
|
||||
LIBDIR="$(STAGING_DIR)/usr/lib"
|
||||
|
||||
define SHIM_BUILD_CMDS
|
||||
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(SHIM_MAKE_OPTS)
|
||||
endef
|
||||
|
||||
define SHIM_INSTALL_IMAGES_CMDS
|
||||
$(INSTALL) -m 0755 -t $(BINARIES_DIR) $(@D)/*.efi
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
@@ -0,0 +1,53 @@
|
||||
From 4df2e7c0ae84bfbdba0ed285c0664aa089b38b7e Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Santos <casantos@datacom.ind.br>
|
||||
Date: Sat, 30 Sep 2017 19:49:55 -0300
|
||||
Subject: [PATCH] extlinux: Use the host toolchain to build.
|
||||
|
||||
It is meant to run on the host machine, hence must be built using the
|
||||
host toolchain.
|
||||
|
||||
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
|
||||
---
|
||||
extlinux/Makefile | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/extlinux/Makefile b/extlinux/Makefile
|
||||
index 02d1db51..5c4baa5a 100644
|
||||
--- a/extlinux/Makefile
|
||||
+++ b/extlinux/Makefile
|
||||
@@ -18,9 +18,9 @@ include $(MAKEDIR)/syslinux.mk
|
||||
|
||||
OPTFLAGS = -g -Os
|
||||
INCLUDES = -I$(SRC) -I$(objdir) -I$(SRC)/../libinstaller
|
||||
-CFLAGS = $(GCCWARN) -Wno-sign-compare -D_FILE_OFFSET_BITS=64 \
|
||||
+CFLAGS = $(CFLAGS_FOR_BUILD) $(GCCWARN) -Wno-sign-compare -D_FILE_OFFSET_BITS=64 \
|
||||
$(OPTFLAGS) $(INCLUDES)
|
||||
-LDFLAGS =
|
||||
+LDFLAGS = $(LDFLAGS_FOR_BUILD)
|
||||
|
||||
SRCS = main.c \
|
||||
mountinfo.c \
|
||||
@@ -52,16 +52,16 @@ spotless: clean
|
||||
installer: extlinux
|
||||
|
||||
extlinux: $(OBJS)
|
||||
- $(CC) $(LDFLAGS) -o $@ $^
|
||||
+ $(CC_FOR_BUILD) $(LDFLAGS) -o $@ $^
|
||||
|
||||
strip:
|
||||
$(STRIP) extlinux
|
||||
|
||||
%.o: %.c
|
||||
- $(CC) $(UMAKEDEPS) $(CFLAGS) -c -o $@ $<
|
||||
+ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS) -c -o $@ $<
|
||||
%.i: %.c
|
||||
- $(CC) $(UMAKEDEPS) $(CFLAGS) -E -o $@ $<
|
||||
+ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS) -E -o $@ $<
|
||||
%.s: %.c
|
||||
- $(CC) $(UMAKEDEPS) $(CFLAGS) -S -o $@ $<
|
||||
+ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS) -S -o $@ $<
|
||||
|
||||
-include .*.d
|
||||
--
|
||||
2.13.5
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 1a74985b2a404639b08882c57f3147229605dfd5 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Frysinger <vapier@gentoo.org>
|
||||
Date: Tue, 19 Apr 2016 06:50:31 -0400
|
||||
Subject: [PATCH] extlinux: pull in sys/sysmacros.h for major/minor/makedev
|
||||
|
||||
These functions are defined in sys/sysmacros.h, so add the include to
|
||||
main.c. This is already handled correctly in mountinfo.c. Otherwise
|
||||
we get build failures like:
|
||||
|
||||
main.o: In function 'find_device_sysfs':
|
||||
extlinux/main.c:1131: undefined reference to 'minor'
|
||||
|
||||
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
||||
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
||||
Signed-off-by: Alexander Sverdlin <alexader.sverdlin@gmail.com>
|
||||
---
|
||||
extlinux/main.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/extlinux/main.c b/extlinux/main.c
|
||||
index a7ebd49..ebff7ea 100644
|
||||
--- a/extlinux/main.c
|
||||
+++ b/extlinux/main.c
|
||||
@@ -38,6 +38,7 @@
|
||||
#include <sysexits.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/stat.h>
|
||||
+#include <sys/sysmacros.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/mount.h>
|
||||
#include <sys/vfs.h>
|
||||
--
|
||||
2.10.5.GIT
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
From 44a1b42e561b9a257209300e2860b901b100cc17 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Santos <casantos@datacom.com.br>
|
||||
Date: Tue, 26 Feb 2019 08:07:22 -0300
|
||||
Subject: [PATCH] Fix build with gnu-efi version 3.0.9
|
||||
|
||||
Adapt a patch already applied upstream to prevent multiple definitions
|
||||
of 'memset' and 'memcpy'.
|
||||
|
||||
Signed-off-by: Carlos Santos <casantos@datacom.com.br>
|
||||
(adapted from commit 363d61c4f112b972649b19d67e96b9321f738f00)
|
||||
---
|
||||
mk/lib.mk | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/mk/lib.mk b/mk/lib.mk
|
||||
index ceb95bd0..c9b6eaf3 100644
|
||||
--- a/mk/lib.mk
|
||||
+++ b/mk/lib.mk
|
||||
@@ -186,9 +186,9 @@ MINLIBOBJS = \
|
||||
# $(LIBVESA_OBJS)
|
||||
|
||||
CORELIBOBJS = \
|
||||
- memcpy.o memset.o memcmp.o printf.o strncmp.o vfprintf.o \
|
||||
+ memcmp.o printf.o strncmp.o vfprintf.o \
|
||||
strlen.o vsnprintf.o snprintf.o stpcpy.o strcmp.o strdup.o \
|
||||
- strcpy.o strncpy.o setjmp.o fopen.o fread.o fread2.o puts.o \
|
||||
+ strcpy.o strncpy.o fopen.o fread.o fread2.o puts.o \
|
||||
strtoul.o strntoumax.o strcasecmp.o \
|
||||
sprintf.o strlcat.o strchr.o strlcpy.o strncasecmp.o ctypes.o \
|
||||
fputs.o fwrite2.o fwrite.o fgetc.o fclose.o lmalloc.o \
|
||||
@@ -203,6 +203,11 @@ CORELIBOBJS = \
|
||||
$(LIBENTRY_OBJS) \
|
||||
$(LIBMODULE_OBJS)
|
||||
|
||||
+ifndef EFI_BUILD
|
||||
+# For EFI, these are part of gnu-efi
|
||||
+CORELIBOBJS += setjmp.o memcpy.o memset.o
|
||||
+endif
|
||||
+
|
||||
LDFLAGS = -m elf_$(ARCH) --hash-style=gnu -T $(com32)/lib/$(ARCH)/elf.ld
|
||||
|
||||
.SUFFIXES: .c .o .a .so .lo .i .S .s .ls .ss .lss
|
||||
--
|
||||
2.14.5
|
||||
|
||||
@@ -44,11 +44,11 @@ config BR2_TARGET_SYSLINUX_MBR
|
||||
|
||||
config BR2_TARGET_SYSLINUX_EFI
|
||||
bool "install efi"
|
||||
depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS
|
||||
select BR2_PACKAGE_GNU_EFI
|
||||
help
|
||||
Install the 'efi' image, to boot from an EFI environment.
|
||||
|
||||
|
||||
if BR2_TARGET_SYSLINUX_LEGACY_BIOS
|
||||
|
||||
config BR2_TARGET_SYSLINUX_C32
|
||||
|
||||
@@ -59,7 +59,7 @@ define SYSLINUX_BUILD_CMDS
|
||||
CC_FOR_BUILD="$(HOSTCC)" \
|
||||
CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
|
||||
LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \
|
||||
$(SYSLINUX_EFI_ARGS) -C $(@D) $(SYSLINUX_TARGET)
|
||||
$(SYSLINUX_EFI_ARGS) -C $(@D) $(SYSLINUX_TARGET)
|
||||
endef
|
||||
|
||||
# While the actual bootloader is compiled for the target, several
|
||||
|
||||
@@ -6,19 +6,20 @@ config BR2_TARGET_UBOOT
|
||||
if BR2_TARGET_UBOOT
|
||||
choice
|
||||
prompt "Build system"
|
||||
default BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG if BR2_TARGET_UBOOT_LATEST_VERSION
|
||||
default BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
|
||||
|
||||
config BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
|
||||
bool "Legacy"
|
||||
help
|
||||
Select this option if you use an old U-Boot (older than 2015.04),
|
||||
so that we use the old build system.
|
||||
|
||||
config BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
|
||||
bool "Kconfig"
|
||||
help
|
||||
Select this option if you use a recent U-Boot version (2015.04 or
|
||||
newer), so that we use the Kconfig build system.
|
||||
Select this option if you use a recent U-Boot version (2015.04
|
||||
or newer), so that we use the Kconfig build system.
|
||||
|
||||
config BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
|
||||
bool "Legacy"
|
||||
help
|
||||
Select this option if you use an old U-Boot (older than
|
||||
2015.04), so that we use the old build system.
|
||||
|
||||
endchoice
|
||||
|
||||
@@ -27,9 +28,9 @@ config BR2_TARGET_UBOOT_BOARDNAME
|
||||
string "U-Boot board name"
|
||||
help
|
||||
One of U-Boot supported boards to be built.
|
||||
This will be suffixed with _config to meet U-Boot standard naming.
|
||||
See boards.cfg in U-Boot source code for the list of available
|
||||
configurations.
|
||||
This will be suffixed with _config to meet U-Boot standard
|
||||
naming. See boards.cfg in U-Boot source code for the list of
|
||||
available configurations.
|
||||
endif
|
||||
|
||||
choice
|
||||
@@ -38,7 +39,7 @@ choice
|
||||
Select the specific U-Boot version you want to use
|
||||
|
||||
config BR2_TARGET_UBOOT_LATEST_VERSION
|
||||
bool "2018.01"
|
||||
bool "2018.09"
|
||||
|
||||
config BR2_TARGET_UBOOT_CUSTOM_VERSION
|
||||
bool "Custom version"
|
||||
@@ -79,14 +80,14 @@ config BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION
|
||||
default BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION \
|
||||
if BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION != "" # legacy
|
||||
help
|
||||
Revision to use in the typical format used by Git/Mercurial/Subversion
|
||||
E.G. a sha id, a tag, branch, ..
|
||||
Revision to use in the typical format used by
|
||||
Git/Mercurial/Subversion E.G. a sha id, a tag, branch, ..
|
||||
|
||||
endif
|
||||
|
||||
config BR2_TARGET_UBOOT_VERSION
|
||||
string
|
||||
default "2018.01" if BR2_TARGET_UBOOT_LATEST_VERSION
|
||||
default "2018.09" if BR2_TARGET_UBOOT_LATEST_VERSION
|
||||
default BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE \
|
||||
if BR2_TARGET_UBOOT_CUSTOM_VERSION
|
||||
default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL
|
||||
@@ -158,6 +159,14 @@ config BR2_TARGET_UBOOT_NEEDS_OPENSSL
|
||||
typically the case when the board configuration has
|
||||
CONFIG_FIT_SIGNATURE enabled.
|
||||
|
||||
config BR2_TARGET_UBOOT_NEEDS_LZOP
|
||||
bool "U-Boot needs lzop"
|
||||
help
|
||||
Select this option if your U-Boot board configuration
|
||||
requires lzop to be available on the host. This is typically
|
||||
the case when the board configuration has CONFIG_SPL_LZO
|
||||
enabled.
|
||||
|
||||
config BR2_TARGET_UBOOT_NEEDS_ATF_BL31
|
||||
bool "U-Boot needs ATF BL31"
|
||||
depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE
|
||||
@@ -170,6 +179,19 @@ config BR2_TARGET_UBOOT_NEEDS_ATF_BL31
|
||||
variable pointing to ATF's BL31 binary, is passed during the
|
||||
Buildroot build.
|
||||
|
||||
choice
|
||||
prompt "U-Boot ATF BL31 format"
|
||||
default BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN
|
||||
depends on BR2_TARGET_UBOOT_NEEDS_ATF_BL31
|
||||
|
||||
config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN
|
||||
bool "bl31.bin"
|
||||
|
||||
config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF
|
||||
bool "bl31.elf"
|
||||
|
||||
endchoice
|
||||
|
||||
menu "U-Boot binary format"
|
||||
|
||||
config BR2_TARGET_UBOOT_FORMAT_AIS
|
||||
@@ -189,6 +211,9 @@ config BR2_TARGET_UBOOT_FORMAT_DTB_BIN
|
||||
config BR2_TARGET_UBOOT_FORMAT_DTB_IMG
|
||||
bool "u-boot-dtb.img"
|
||||
|
||||
config BR2_TARGET_UBOOT_FORMAT_DTB_IMX
|
||||
bool "u-boot-dtb.imx"
|
||||
|
||||
config BR2_TARGET_UBOOT_FORMAT_IMG
|
||||
bool "u-boot.img"
|
||||
|
||||
@@ -199,23 +224,19 @@ config BR2_TARGET_UBOOT_FORMAT_NAND_BIN
|
||||
bool "u-boot-nand.bin"
|
||||
|
||||
config BR2_TARGET_UBOOT_FORMAT_KWB
|
||||
depends on BR2_arm
|
||||
bool "u-boot.kwb (Marvell)"
|
||||
|
||||
config BR2_TARGET_UBOOT_FORMAT_LDR
|
||||
depends on BR2_bfin
|
||||
bool "u-boot.ldr"
|
||||
depends on BR2_arm
|
||||
|
||||
config BR2_TARGET_UBOOT_FORMAT_ELF
|
||||
bool "u-boot.elf"
|
||||
|
||||
config BR2_TARGET_UBOOT_FORMAT_SB
|
||||
depends on BR2_arm
|
||||
bool "u-boot.sb (Freescale i.MX28)"
|
||||
depends on BR2_arm
|
||||
|
||||
config BR2_TARGET_UBOOT_FORMAT_SD
|
||||
depends on BR2_arm
|
||||
bool "u-boot.sd (Freescale i.MX28)"
|
||||
depends on BR2_arm
|
||||
help
|
||||
This is Freescale i.MX28 SB format, with a header for booting
|
||||
from an SD card.
|
||||
@@ -226,28 +247,28 @@ config BR2_TARGET_UBOOT_FORMAT_SD
|
||||
See doc/README.mxs (or doc/README.mx28_common before 2013.07)
|
||||
|
||||
config BR2_TARGET_UBOOT_FORMAT_NAND
|
||||
depends on BR2_arm
|
||||
bool "u-boot.nand (Freescale i.MX28)"
|
||||
depends on BR2_arm
|
||||
help
|
||||
This is Freescale i.MX28 BootStream format (.sb), with a header
|
||||
for booting from a NAND flash.
|
||||
This is Freescale i.MX28 BootStream format (.sb), with a
|
||||
header for booting from a NAND flash.
|
||||
|
||||
U-boot includes an mxsboot tool to generate this format,
|
||||
starting from 2011.12.
|
||||
|
||||
There are two possibilities when preparing an image writable to
|
||||
NAND flash:
|
||||
1) The NAND was not written at all yet or the BCB (Boot Control
|
||||
Blocks) is broken. In this case, the NAND image 'u-boot.nand'
|
||||
needs to written.
|
||||
There are two possibilities when preparing an image writable
|
||||
to NAND flash:
|
||||
1) The NAND was not written at all yet or the BCB (Boot
|
||||
Control Blocks) is broken. In this case, the NAND image
|
||||
'u-boot.nand' needs to written.
|
||||
2) The NAND flash was already written with a good BCB. This
|
||||
applies after 'u-boot.nand' was correctly written. There is no
|
||||
need to write the BCB again. In this case, the bootloader can be
|
||||
upgraded by writing 'u-boot.sb'.
|
||||
need to write the BCB again. In this case, the bootloader can
|
||||
be upgraded by writing 'u-boot.sb'.
|
||||
|
||||
To satisfy both cases, the 'u-boot.nand' image obtained from
|
||||
mxsboot as well as the U-Boot make target 'u-boot.sb' are copied
|
||||
to the binaries directory.
|
||||
mxsboot as well as the U-Boot make target 'u-boot.sb' are
|
||||
copied to the binaries directory.
|
||||
|
||||
See doc/README.mxs (or doc/README.mx28_common before 2013.07)
|
||||
|
||||
@@ -295,7 +316,8 @@ config BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME
|
||||
depends on BR2_TARGET_UBOOT_FORMAT_CUSTOM
|
||||
help
|
||||
In case the U-Boot binary for the target platform is not among
|
||||
the default names, one or more custom names can be listed here.
|
||||
the default names, one or more custom names can be listed
|
||||
here.
|
||||
Use space to separate multiple names.
|
||||
Example:
|
||||
u-boot_magic.bin
|
||||
@@ -303,10 +325,10 @@ config BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME
|
||||
endmenu
|
||||
|
||||
config BR2_TARGET_UBOOT_OMAP_IFT
|
||||
bool "produce a .ift signed image (OMAP)"
|
||||
depends on BR2_TARGET_UBOOT_FORMAT_BIN
|
||||
depends on BR2_arm || BR2_armeb
|
||||
select BR2_PACKAGE_HOST_OMAP_U_BOOT_UTILS
|
||||
bool "produce a .ift signed image (OMAP)"
|
||||
help
|
||||
Use gpsign to produce an image of u-boot.bin signed with
|
||||
a Configuration Header for booting on OMAP processors.
|
||||
@@ -367,6 +389,64 @@ config BR2_TARGET_UBOOT_ZYNQ_IMAGE
|
||||
for u-boot-dtb.img file so this U-Boot format is required
|
||||
to be set.
|
||||
|
||||
config BR2_TARGET_UBOOT_ZYNQMP
|
||||
bool "Boot on the Xilinx ZynqMP SoCs"
|
||||
depends on BR2_aarch64
|
||||
help
|
||||
Enable options specific to the Xilinx ZynqMP family of SoCs.
|
||||
|
||||
if BR2_TARGET_UBOOT_ZYNQMP
|
||||
|
||||
config BR2_TARGET_UBOOT_ZYNQMP_PMUFW
|
||||
string "PMU firmware location"
|
||||
depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
|
||||
help
|
||||
Location of a PMU firmware binary.
|
||||
|
||||
If not empty, instructs the U-Boot build process to generate
|
||||
a boot.bin (to be loaded by the ZynqMP boot ROM) containing
|
||||
both the U-Boot SPL and the PMU firmware in the
|
||||
Xilinx-specific boot format.
|
||||
|
||||
The value can be an absolute or relative path, and will be
|
||||
used directly from where it is located, or an URI
|
||||
(e.g. http://...), and it will be downloaded and used from
|
||||
the download directory.
|
||||
|
||||
If empty, the generated boot.bin will not contain a PMU
|
||||
firmware.
|
||||
|
||||
This feature requires U-Boot >= 2018.07.
|
||||
|
||||
config BR2_TARGET_UBOOT_ZYNQMP_PSU_INIT_FILE
|
||||
string "Custom psu_init_gpl file"
|
||||
depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
|
||||
help
|
||||
On ZynqMP the booloader is responsible for some basic
|
||||
initializations, such as enabling peripherals and
|
||||
configuring pinmuxes. The psu_init_gpl.c file (and,
|
||||
optionally, psu_init_gpl.h) contains the code for such
|
||||
initializations.
|
||||
|
||||
Although U-Boot contains psu_init_gpl.c files for some
|
||||
boards, each of them describes only one specific
|
||||
configuration. Users of a different board, or needing a
|
||||
different configuration, can generate custom files using the
|
||||
Xilinx development tools.
|
||||
|
||||
Set this variable to the path to your psu_init_gpl.c file
|
||||
(e.g. "board/myboard/psu_init_gpl.c"). psu_init_gpl.h, if
|
||||
needed, should be in the same directory. U-Boot will build
|
||||
and link the user-provided file instead of the built-in one.
|
||||
|
||||
Leave empty to use the files provided by U-Boot.
|
||||
|
||||
This feature requires commit
|
||||
6da4f67ad09cd8b311d77b2b04e557b7ef65b56c from upstream
|
||||
U-Boot, available from versions after 2018.07.
|
||||
|
||||
endif
|
||||
|
||||
config BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC
|
||||
bool "CRC image for Altera SoC FPGA (mkpimage)"
|
||||
depends on BR2_arm
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally computed:
|
||||
sha256 938f597394b33e82e5af8c98bd5ea1a238f61892aabef36384adbf7ca5b52dda u-boot-2018.01.tar.bz2
|
||||
sha256 839bf23cfe8ce613a77e583a60375179d0ad324e92c82fbdd07bebf0fd142268 u-boot-2018.09.tar.bz2
|
||||
|
||||
@@ -61,10 +61,6 @@ UBOOT_BINS += u-boot.ais
|
||||
UBOOT_MAKE_TARGET += u-boot.ais
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_FORMAT_LDR),y)
|
||||
UBOOT_BINS += u-boot.ldr
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND_BIN),y)
|
||||
UBOOT_BINS += u-boot-nand.bin
|
||||
endif
|
||||
@@ -74,6 +70,11 @@ UBOOT_BINS += u-boot-dtb.img
|
||||
UBOOT_MAKE_TARGET += u-boot-dtb.img
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_FORMAT_DTB_IMX),y)
|
||||
UBOOT_BINS += u-boot-dtb.imx
|
||||
UBOOT_MAKE_TARGET += u-boot-dtb.imx
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_FORMAT_DTB_BIN),y)
|
||||
UBOOT_BINS += u-boot-dtb.bin
|
||||
UBOOT_MAKE_TARGET += u-boot-dtb.bin
|
||||
@@ -136,8 +137,12 @@ UBOOT_MAKE_OPTS += \
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31),y)
|
||||
UBOOT_DEPENDENCIES += arm-trusted-firmware
|
||||
ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF),y)
|
||||
UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/bl31.elf
|
||||
else
|
||||
UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/bl31.bin
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y)
|
||||
UBOOT_DEPENDENCIES += host-dtc
|
||||
@@ -151,6 +156,10 @@ ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPENSSL),y)
|
||||
UBOOT_DEPENDENCIES += host-openssl
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_NEEDS_LZOP),y)
|
||||
UBOOT_DEPENDENCIES += host-lzop
|
||||
endif
|
||||
|
||||
# prior to u-boot 2013.10 the license info was in COPYING. Copy it so
|
||||
# legal-info finds it
|
||||
define UBOOT_COPY_OLD_LICENSE_FILE
|
||||
@@ -202,8 +211,8 @@ UBOOT_POST_PATCH_HOOKS += UBOOT_FIXUP_LIBFDT_INCLUDE
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY),y)
|
||||
define UBOOT_CONFIGURE_CMDS
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
$(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
$(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \
|
||||
$(UBOOT_BOARD_NAME)_config
|
||||
endef
|
||||
else ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG),y)
|
||||
@@ -222,8 +231,9 @@ UBOOT_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig
|
||||
# (which is typically wchar) but link with
|
||||
# $(HOST_DIR)/lib/libncurses.so (which is not). We don't actually
|
||||
# need any host-package for kconfig, so remove the HOSTCC/HOSTLDFLAGS
|
||||
# override again.
|
||||
UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) HOSTCC="$(HOSTCC)" HOSTLDFLAGS=""
|
||||
# override again. In addition, host-ccache is not ready at kconfig
|
||||
# time, so use HOSTCC_NOCCACHE.
|
||||
UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTLDFLAGS=""
|
||||
define UBOOT_HELP_CMDS
|
||||
@echo ' uboot-menuconfig - Run U-Boot menuconfig'
|
||||
@echo ' uboot-savedefconfig - Run U-Boot savedefconfig'
|
||||
@@ -238,16 +248,16 @@ define UBOOT_BUILD_CMDS
|
||||
$(if $(UBOOT_CUSTOM_DTS_PATH),
|
||||
cp -f $(UBOOT_CUSTOM_DTS_PATH) $(@D)/arch/$(UBOOT_ARCH)/dts/
|
||||
)
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
$(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
$(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \
|
||||
$(UBOOT_MAKE_TARGET)
|
||||
$(if $(BR2_TARGET_UBOOT_FORMAT_SD),
|
||||
$(@D)/tools/mxsboot sd $(@D)/u-boot.sb $(@D)/u-boot.sd)
|
||||
$(if $(BR2_TARGET_UBOOT_FORMAT_NAND),
|
||||
$(@D)/tools/mxsboot \
|
||||
-w $(BR2_TARGET_UBOOT_FORMAT_NAND_PAGE_SIZE) \
|
||||
-o $(BR2_TARGET_UBOOT_FORMAT_NAND_OOB_SIZE) \
|
||||
-e $(BR2_TARGET_UBOOT_FORMAT_NAND_ERASE_SIZE) \
|
||||
-w $(BR2_TARGET_UBOOT_FORMAT_NAND_PAGE_SIZE) \
|
||||
-o $(BR2_TARGET_UBOOT_FORMAT_NAND_OOB_SIZE) \
|
||||
-e $(BR2_TARGET_UBOOT_FORMAT_NAND_ERASE_SIZE) \
|
||||
nand $(@D)/u-boot.sb $(@D)/u-boot.nand)
|
||||
endef
|
||||
|
||||
@@ -281,11 +291,40 @@ define UBOOT_INSTALL_IMAGES_CMDS
|
||||
)
|
||||
$(UBOOT_GENERATE_ENV_IMAGE)
|
||||
$(if $(BR2_TARGET_UBOOT_BOOT_SCRIPT),
|
||||
$(HOST_DIR)/bin/mkimage -C none -A $(MKIMAGE_ARCH) -T script \
|
||||
$(MKIMAGE) -C none -A $(MKIMAGE_ARCH) -T script \
|
||||
-d $(call qstrip,$(BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE)) \
|
||||
$(BINARIES_DIR)/boot.scr)
|
||||
endef
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_ZYNQMP),y)
|
||||
|
||||
UBOOT_ZYNQMP_PMUFW = $(call qstrip,$(BR2_TARGET_UBOOT_ZYNQMP_PMUFW))
|
||||
|
||||
ifneq ($(findstring ://,$(UBOOT_ZYNQMP_PMUFW)),)
|
||||
UBOOT_EXTRA_DOWNLOADS += $(UBOOT_ZYNQMP_PMUFW)
|
||||
BR_NO_CHECK_HASH_FOR += $(notdir $(UBOOT_ZYNQMP_PMUFW))
|
||||
UBOOT_ZYNQMP_PMUFW_PATH = $(UBOOT_DL_DIR)/$(notdir $(UBOOT_ZYNQMP_PMUFW))
|
||||
else ifneq ($(UBOOT_ZYNQMP_PMUFW),)
|
||||
UBOOT_ZYNQMP_PMUFW_PATH = $(shell readlink -f $(UBOOT_ZYNQMP_PMUFW))
|
||||
endif
|
||||
|
||||
define UBOOT_ZYNQMP_KCONFIG_PMUFW
|
||||
$(call KCONFIG_SET_OPT,CONFIG_PMUFW_INIT_FILE,"$(UBOOT_ZYNQMP_PMUFW_PATH)", \
|
||||
$(@D)/.config)
|
||||
endef
|
||||
|
||||
UBOOT_ZYNQMP_PSU_INIT = $(call qstrip,$(BR2_TARGET_UBOOT_ZYNQMP_PSU_INIT_FILE))
|
||||
UBOOT_ZYNQMP_PSU_INIT_PATH = $(shell readlink -f $(UBOOT_ZYNQMP_PSU_INIT))
|
||||
|
||||
ifneq ($(UBOOT_ZYNQMP_PSU_INIT),)
|
||||
define UBOOT_ZYNQMP_KCONFIG_PSU_INIT
|
||||
$(call KCONFIG_SET_OPT,CONFIG_XILINX_PS_INIT_FILE,"$(UBOOT_ZYNQMP_PSU_INIT_PATH)", \
|
||||
$(@D)/.config)
|
||||
endef
|
||||
endif
|
||||
|
||||
endif # BR2_TARGET_UBOOT_ZYNQMP
|
||||
|
||||
define UBOOT_INSTALL_OMAP_IFT_IMAGE
|
||||
cp -dpf $(@D)/$(UBOOT_BIN_IFT) $(BINARIES_DIR)/
|
||||
endef
|
||||
@@ -335,6 +374,11 @@ UBOOT_DEPENDENCIES += host-mkpimage
|
||||
UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_CRC_ALTERA_SOCFPGA_IMAGE
|
||||
endif
|
||||
|
||||
define UBOOT_KCONFIG_FIXUP_CMDS
|
||||
$(UBOOT_ZYNQMP_KCONFIG_PMUFW)
|
||||
$(UBOOT_ZYNQMP_KCONFIG_PSU_INIT)
|
||||
endef
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_ENVIMAGE),y)
|
||||
ifeq ($(BR_BUILDING),y)
|
||||
ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)),)
|
||||
@@ -412,7 +456,14 @@ endif # BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG
|
||||
endif # BR2_TARGET_UBOOT && BR_BUILDING
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY),y)
|
||||
UBOOT_DEPENDENCIES += \
|
||||
$(BR2_BISON_HOST_DEPENDENCY) \
|
||||
$(BR2_FLEX_HOST_DEPENDENCY)
|
||||
$(eval $(generic-package))
|
||||
else ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG),y)
|
||||
UBOOT_MAKE_ENV = $(TARGET_MAKE_ENV)
|
||||
UBOOT_KCONFIG_DEPENDENCIES = \
|
||||
$(BR2_BISON_HOST_DEPENDENCY) \
|
||||
$(BR2_FLEX_HOST_DEPENDENCY)
|
||||
$(eval $(kconfig-package))
|
||||
endif # BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
config BR2_TARGET_XLOADER
|
||||
bool "X-loader"
|
||||
depends on BR2_cortex_a8 || BR2_cortex_a9
|
||||
help
|
||||
The x-loader bootloader. It is mainly used on OMAP-based
|
||||
platforms.
|
||||
|
||||
http://omappedia.org/wiki/Linux_OMAP_Kernel_Main
|
||||
|
||||
if BR2_TARGET_XLOADER
|
||||
config BR2_TARGET_XLOADER_BOARDNAME
|
||||
string "x-loader board name"
|
||||
help
|
||||
One of x-loader supported boards to be built.
|
||||
This will be suffixed with _config to meet x-loader
|
||||
standard naming.
|
||||
endif
|
||||
@@ -1,32 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# x-loader
|
||||
#
|
||||
################################################################################
|
||||
|
||||
XLOADER_VERSION = 6f3a26101303051e0f91b6213735b68ce804e94e
|
||||
XLOADER_SITE = git://gitorious.org/x-loader/x-loader.git
|
||||
XLOADER_BOARD_NAME = $(call qstrip,$(BR2_TARGET_XLOADER_BOARDNAME))
|
||||
|
||||
XLOADER_LICENSE = GPL-2.0+
|
||||
XLOADER_LICENSE_FILES = README
|
||||
|
||||
XLOADER_INSTALL_IMAGES = YES
|
||||
|
||||
define XLOADER_BUILD_CMDS
|
||||
$(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) $(XLOADER_BOARD_NAME)_config
|
||||
$(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) all
|
||||
$(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) ift
|
||||
endef
|
||||
|
||||
define XLOADER_INSTALL_IMAGES_CMDS
|
||||
$(INSTALL) -D -m 0755 $(@D)/MLO $(BINARIES_DIR)/
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
|
||||
ifeq ($(BR2_TARGET_XLOADER)$(BR_BUILDING),yy)
|
||||
ifeq ($(XLOADER_BOARD_NAME),)
|
||||
$(error NO x-loader board name set. Check your BR2_BOOT_XLOADER_BOARDNAME setting)
|
||||
endif
|
||||
endif
|
||||
Reference in New Issue
Block a user