Bump buildroot to 2019.02

This commit is contained in:
2019-03-28 22:49:48 +01:00
parent 5598b1b762
commit 920d307141
5121 changed files with 78550 additions and 46132 deletions

View File

@@ -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

View File

@@ -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))

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -1,3 +1,3 @@
config BR2_TARGET_AT91DATAFLASHBOOT
depends on BR2_arm926t
bool "AT91 DataFlashBoot"
depends on BR2_arm926t

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -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))

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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 = \

View File

@@ -1,2 +1,2 @@
# Locally calculated
sha256 d413546367ffa3b5f4373a777b9efeb32dcc74d6106897c248935ecb79afc454 mv-ddr-marvell-656440a9690f3d07be9e3d2c39d7cf56fd96eb7b.tar.gz
sha256 9aaea1f5e8bf3c9d7e735f569d130b5c2ec773c43e0cfabc9b8dee32adbf7e4e mv-ddr-marvell-99d772547314f84921268d57e53d8769197d3e21.tar.gz

View File

@@ -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

View File

@@ -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

View 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

View 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))

View 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

View File

@@ -0,0 +1,3 @@
# locally computed hash
sha256 279d19cc95b9974ea2379401a6a0653d949c3fa3d61f0c4bd6a7b9e840bdc425 shim-15.tar.gz
sha256 15edf527919ddcb2f514ab9d16ad07ef219e4bb490e0b79560be510f0c159cc2 COPYRIGHT

View 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))

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -1,2 +1,2 @@
# Locally computed:
sha256 938f597394b33e82e5af8c98bd5ea1a238f61892aabef36384adbf7ca5b52dda u-boot-2018.01.tar.bz2
sha256 839bf23cfe8ce613a77e583a60375179d0ad324e92c82fbdd07bebf0fd142268 u-boot-2018.09.tar.bz2

View File

@@ -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

View File

@@ -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

View File

@@ -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