Bump buidlroot version to 2018.02.6

This commit is contained in:
jbnadal
2018-10-22 14:55:59 +02:00
parent 222960cedb
commit bec94fdb63
6150 changed files with 84803 additions and 117446 deletions

View File

@@ -6,11 +6,12 @@ source "boot/at91bootstrap3/Config.in"
source "boot/at91dataflashboot/Config.in"
source "boot/arm-trusted-firmware/Config.in"
source "boot/barebox/Config.in"
source "boot/binaries-marvell/Config.in"
source "boot/boot-wrapper-aarch64/Config.in"
source "boot/grub/Config.in"
source "boot/grub2/Config.in"
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/s500-bootloader/Config.in"
source "boot/syslinux/Config.in"

View File

@@ -14,7 +14,7 @@ choice
Select the specific ATF version you want to use
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
bool "v1.2"
bool "v1.4"
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
bool "Custom tarball"
@@ -33,7 +33,7 @@ endif
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION
string
default "v1.2" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
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
@@ -56,6 +56,30 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM
help
Target plaform to build for.
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP
bool "Build FIP image"
help
This option enables building the FIP image (Firmware Image
Package). This is typically the image format used by
platforms were ATF encapsulates the second stage bootloader
(such as U-Boot).
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31
bool "Build BL31 image"
help
This option enables building the BL31 image. This is
typically used on platforms where another bootloader (e.g
U-Boot) encapsulates ATF BL31.
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
bool "Use U-Boot as BL33"
depends on BR2_TARGET_UBOOT
help
This option allows to embed u-boot.bin as the BL33 part of
the ARM Trusted Firmware. It ensures that the u-boot package
gets built before ATF, and that the appropriate BL33
variable pointing to u-boot.bin is passed when building ATF.
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES
string "Additional ATF build variables"
help

View File

@@ -1,3 +1,3 @@
# Locally calculated
sha256 cbdd9b770ec1ab4933fc7f9f520daea5a364bb4dc964820fb017a0cf8c7df556 arm-trusted-firmware-v1.2.tar.gz
md5 fac2c08bd74337fec2e14a98fc9f748f arm-trusted-firmware-v1.2.tar.gz
sha256 6dae02acd85278394bfad6e2683e186e5332a711e4491ac4632ad6480f6e5494 arm-trusted-firmware-v1.4.tar.gz
sha256 487795b8023df866259fa159bab94706b747fb0d623b7913f1c4955c0ab5f164 license.rst

View File

@@ -5,10 +5,8 @@
################################################################################
ARM_TRUSTED_FIRMWARE_VERSION = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION))
ARM_TRUSTED_FIRMWARE_LICENSE = BSD-3c
ARM_TRUSTED_FIRMWARE_LICENSE_FILES = license.md
ARM_TRUSTED_FIRMWARE_DEPENDENCIES += uboot
ARM_TRUSTED_FIRMWARE_LICENSE = BSD-3-Clause
ARM_TRUSTED_FIRMWARE_LICENSE_FILES = license.rst
ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom)
# Handle custom ATF tarballs as specified by the configuration
@@ -19,6 +17,7 @@ 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
ARM_TRUSTED_FIRMWARE_SITE = $(call github,ARM-software,arm-trusted-firmware,$(ARM_TRUSTED_FIRMWARE_VERSION))
endif
@@ -29,27 +28,64 @@ ARM_TRUSTED_FIRMWARE_PLATFORM = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_
ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \
CROSS_COMPILE="$(TARGET_CROSS)" \
BL33=$(BINARIES_DIR)/u-boot.bin \
$(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES)) \
PLAT=$(ARM_TRUSTED_FIRMWARE_PLATFORM) \
all fip
PLAT=$(ARM_TRUSTED_FIRMWARE_PLATFORM)
ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33),y)
ARM_TRUSTED_FIRMWARE_MAKE_OPTS += BL33=$(BINARIES_DIR)/u-boot.bin
ARM_TRUSTED_FIRMWARE_DEPENDENCIES += uboot
endif
ifeq ($(BR2_TARGET_VEXPRESS_FIRMWARE),y)
ARM_TRUSTED_FIRMWARE_MAKE_OPTS += SCP_BL2=$(BINARIES_DIR)/scp-fw.bin
ARM_TRUSTED_FIRMWARE_DEPENDENCIES += vexpress-firmware
endif
ifeq ($(BR2_TARGET_BINARIES_MARVELL),y)
ARM_TRUSTED_FIRMWARE_MAKE_OPTS += SCP_BL2=$(BINARIES_DIR)/scp-fw.bin
ARM_TRUSTED_FIRMWARE_DEPENDENCIES += binaries-marvell
endif
ifeq ($(BR2_TARGET_MV_DDR_MARVELL),y)
ARM_TRUSTED_FIRMWARE_MAKE_OPTS += MV_DDR_PATH=$(MV_DDR_MARVELL_DIR)
ARM_TRUSTED_FIRMWARE_DEPENDENCIES += mv-ddr-marvell
endif
ARM_TRUSTED_FIRMWARE_MAKE_TARGETS = all
ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP),y)
ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += fip
ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-openssl
# fiptool only exists in newer (>= 1.3) versions of ATF, so we build
# it conditionally. We need to explicitly build it as it requires
# OpenSSL, and therefore needs to be passed proper variables to find
# the host OpenSSL.
define ARM_TRUSTED_FIRMWARE_BUILD_FIPTOOL
if test -d $(@D)/tools/fiptool; then \
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/tools/fiptool \
$(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \
CPPFLAGS="$(HOST_CPPFLAGS)" \
LDLIBS="$(HOST_LDFLAGS) -lcrypto" ; \
fi
endef
endif
ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31),y)
ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += bl31
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_TARGET)
$(ARM_TRUSTED_FIRMWARE_MAKE_TARGETS)
endef
define ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES_CMDS
cp -dpf $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/release/*.bin $(BINARIES_DIR)/
endef
# Configuration ckeck
# Configuration check
ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE)$(BR_BUILDING),yy)
ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom)

View File

@@ -8,6 +8,8 @@ config BR2_TARGET_AT91BOOTSTRAP3
- Peripheral drivers such as PIO, PMC or SDRAMC...
- Physical media algorithm such as DataFlash, NandFlash, NOR Flash...
https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap
if BR2_TARGET_AT91BOOTSTRAP3
choice

View File

@@ -9,6 +9,7 @@ AT91BOOTSTRAP3_VERSION = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_VERSION))
ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT),y)
AT91BOOTSTRAP3_SITE = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL))
AT91BOOTSTRAP3_SITE_METHOD = git
BR_NO_CHECK_HASH_FOR += $(AT91BOOTSTRAP3_SOURCE)
else
AT91BOOTSTRAP3_SITE = $(call github,linux4sam,at91bootstrap,$(AT91BOOTSTRAP3_VERSION))
endif

View File

@@ -12,7 +12,7 @@ choice
Select the specific Barebox version you want to use
config BR2_TARGET_BAREBOX_LATEST_VERSION
bool "2017.01.0"
bool "2017.09.0"
config BR2_TARGET_BAREBOX_CUSTOM_VERSION
bool "Custom version"
@@ -40,7 +40,7 @@ endif
config BR2_TARGET_BAREBOX_VERSION
string
default "2017.01.0" if BR2_TARGET_BAREBOX_LATEST_VERSION
default "2017.09.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

@@ -30,9 +30,9 @@ config BR2_TARGET_BAREBOX_AUX_CONFIG_FRAGMENT_FILES
that will be merged to the main Barebox configuration file.
config BR2_TARGET_BAREBOX_AUX_IMAGE_FILE
string "Image filename"
string "Image file names"
help
Name of the generated barebox image, which will be copied to
Space-separated list of barebox images which will be copied to
the images directory.
If left empty, defaults to:

View File

@@ -1,5 +1,5 @@
# http://www.barebox.org/download/barebox-2017.01.0.tar.bz2.md5
md5 d2933437885497b09d69d6e6f4beeffc barebox-2017.01.0.tar.bz2
# http://www.barebox.org/download/barebox-2017.09.0.tar.bz2.md5
md5 b92e9c99cda7fbb61d01baf5679df261 barebox-2017.09.0.tar.bz2
# Locally calculated
sha256 ca4cc06bdc7183e3fcb4bed300f1e820df1e022a7b86fdcf64205ddb6a103567 barebox-2017.01.0.tar.bz2
sha256 43283edc019f95a53fdb7d1b7c294afc4741bfcace348d6beeded5fe5147a81b barebox-2017.09.0.tar.bz2

View File

@@ -22,7 +22,6 @@ ifeq ($$($(1)_VERSION),custom)
$(1)_TARBALL = $$(call qstrip,$$(BR2_TARGET_BAREBOX_CUSTOM_TARBALL_LOCATION))
$(1)_SITE = $$(patsubst %/,%,$$(dir $$($(1)_TARBALL)))
$(1)_SOURCE = $$(notdir $$($(1)_TARBALL))
BR_NO_CHECK_HASH_FOR += $$($(1)_SOURCE)
else ifeq ($$(BR2_TARGET_BAREBOX_CUSTOM_GIT),y)
$(1)_SITE = $$(call qstrip,$$(BR2_TARGET_BAREBOX_CUSTOM_GIT_REPO_URL))
$(1)_SITE_METHOD = git
@@ -30,13 +29,10 @@ else
# Handle stable official Barebox versions
$(1)_SOURCE = barebox-$$($(1)_VERSION).tar.bz2
$(1)_SITE = http://www.barebox.org/download
ifeq ($$(BR2_TARGET_BAREBOX_CUSTOM_VERSION),y)
BR_NO_CHECK_HASH_FOR += $$($(1)_SOURCE)
endif
endif
$(1)_DEPENDENCIES = host-lzop
$(1)_LICENSE = GPLv2 with exceptions
$(1)_LICENSE = GPL-2.0 with exceptions
$(1)_LICENSE_FILES = COPYING
$(1)_CUSTOM_EMBEDDED_ENV_PATH = $$(call qstrip,$$(BR2_TARGET_$(1)_CUSTOM_EMBEDDED_ENV_PATH))
@@ -113,11 +109,11 @@ define $(1)_BUILD_CMDS
$$($(1)_BUILD_CUSTOM_ENV)
endef
$(1)_IMAGE_FILE = $$(call qstrip,$$(BR2_TARGET_$(1)_IMAGE_FILE))
$(1)_IMAGE_FILES = $$(call qstrip,$$(BR2_TARGET_$(1)_IMAGE_FILE))
define $(1)_INSTALL_IMAGES_CMDS
if test -n "$$($(1)_IMAGE_FILE)"; then \
cp -L $$(@D)/$$($(1)_IMAGE_FILE) $$(BINARIES_DIR) ; \
if test -n "$$($(1)_IMAGE_FILES)"; then \
cp -L $$(foreach image,$$($(1)_IMAGE_FILES),$$(@D)/$$(image)) $$(BINARIES_DIR) ; \
elif test -h $$(@D)/barebox-flash-image ; then \
cp -L $$(@D)/barebox-flash-image $$(BINARIES_DIR)/barebox.bin ; \
else \
@@ -155,3 +151,7 @@ barebox-package=$(call inner-barebox-package,$(call UPPERCASE,$(pkgname)))
include boot/barebox/barebox/barebox.mk
include boot/barebox/barebox-aux/barebox-aux.mk
ifeq ($(BR2_TARGET_BAREBOX)$(BR2_TARGET_BAREBOX_LATEST_VERSION),y)
BR_NO_CHECK_HASH_FOR += $(BAREBOX_SOURCE)
endif

View File

@@ -31,9 +31,9 @@ config BR2_TARGET_BAREBOX_CONFIG_FRAGMENT_FILES
that will be merged to the main Barebox configuration file.
config BR2_TARGET_BAREBOX_IMAGE_FILE
string "Image filename"
string "Image file names"
help
Name of the generated barebox image, which will be copied to
Space-separated list of barebox images which will be copied to
the images directory.
If left empty, defaults to:

View File

@@ -0,0 +1,32 @@
config BR2_TARGET_BINARIES_MARVELL
bool "binaries-marvell"
depends on BR2_aarch64
help
Some systems, including Marvell Armada SoC, have a separate
System Control Processor (SCP) for power management, clocks,
reset and system control. ATF Boot Loader stage 2 (BL2) loads
optional SCP_BL2 image into a platform-specific region
of secure memory. This package downloads and installs such
firmwares, which are needed to build ATF.
https://github.com/MarvellEmbeddedProcessors/binaries-marvell/
if BR2_TARGET_BINARIES_MARVELL
choice
prompt "Marvell Armada platform"
config BR2_TARGET_BINARIES_MARVELL_7040
bool "7040"
config BR2_TARGET_BINARIES_MARVELL_8040
bool "8040"
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
endif

View File

@@ -0,0 +1,3 @@
# Locally calculated
sha256 7c41cddc2ce46038b630b59d2e9e50e903d27032bcfbf38019eaed14fcfdbe40 binaries-marvell-a8ac27b7884ed2c1efcf9f3326de3e0ed7b94e91.tar.gz
sha256 d8560ab4ea4042a55eee6857ded1d7e4bca2d9120b8c7a86d2a7fdc4ba4994e0 README.md

View File

@@ -0,0 +1,20 @@
################################################################################
#
# binaries-marvell
#
################################################################################
BINARIES_MARVELL_VERSION = a8ac27b7884ed2c1efcf9f3326de3e0ed7b94e91
BINARIES_MARVELL_SITE = $(call github,MarvellEmbeddedProcessors,binaries-marvell,$(BINARIES_MARVELL_VERSION))
BINARIES_MARVELL_LICENSE = GPL-2.0 with freertos-exception-2.0
BINARIES_MARVELL_LICENSE_FILES = README.md
BINARIES_MARVELL_IMAGE = $(call qstrip,$(BR2_TARGET_BINARIES_MARVELL_IMAGE))
BINARIES_MARVELL_INSTALL_IMAGES = YES
define BINARIES_MARVELL_INSTALL_IMAGES_CMDS
$(INSTALL) -D -m 0644 $(@D)/$(BINARIES_MARVELL_IMAGE) $(BINARIES_DIR)/scp-fw.bin
endef
$(eval $(generic-package))

View File

@@ -6,7 +6,7 @@
BOOT_WRAPPER_AARCH64_VERSION = 4266507a84f8c06452109d38e0350d4759740694
BOOT_WRAPPER_AARCH64_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git
BOOT_WRAPPER_AARCH64_LICENSE = BSD3c
BOOT_WRAPPER_AARCH64_LICENSE = BSD-3-Clause
BOOT_WRAPPER_AARCH64_LICENSE_FILES = LICENSE.txt
BOOT_WRAPPER_AARCH64_DEPENDENCIES = linux
BOOT_WRAPPER_AARCH64_INSTALL_IMAGES = YES

View File

@@ -1,200 +0,0 @@
config BR2_TARGET_GRUB
bool "grub"
depends on BR2_i386 || BR2_x86_64
select BR2_HOSTARCH_NEEDS_IA32_COMPILER
help
The GRand Unified Bootloader for x86 systems.
Some notes on creating a disk image with Grub installed:
1. Create an empty disk image
dd if=/dev/zero of=disk.img bs=1M count=32
2. Create one primary partition
cfdisk -h 16 -s 63 disk.img
3. Set up a loop device
sudo losetup -f disk.img
4. Set up loop devices per partitions
sudo partx -a /dev/loop0
5. Create the ext2 filesystem
sudo mkfs.ext2 -L root /dev/loop0p1
6. Mount the filesystem
mount /dev/loop0p1 /mnt
7. Extract the root filesystem
sudo tar -C /mnt -xf output/images/rootfs.tar
8. Unmount the filesystem, clean up loop device
sudo umount /mnt
sudo partx -d /dev/loop0
sudo losetup -d /dev/loop0
9. Install grub
output/host/sbin/grub --device-map=/dev/null
and in the grub shell, enter:
device (hd0) disk.img
geometry (hd0) <cylinders> 16 63
root (hd0,0)
setup (hd0)
10. Image is ready
Can be tested in Qemu, with:
qemu-system-{i386,x86-64} -hda disk.img
if BR2_TARGET_GRUB
config BR2_TARGET_GRUB_SPLASH
bool "Splashimage support"
help
Add support for splashimage.
A splashimage is a 14-color indexed .xpm picture which is
displayed as background for the grub menu. See
http://www.katspace.org/computers/Grub_Splash/ for details
on how to generate a splashimage.
config BR2_TARGET_GRUB_DISKLESS
bool "diskless support"
help
enable diskless support
menu "filesystem drivers"
config BR2_TARGET_GRUB_FS_EXT2
bool "ext2"
default y
help
Enable support for the ext2 filesystem in Grub
config BR2_TARGET_GRUB_FS_FAT
bool "FAT"
default y
help
Enable support for the FAT filesystem in Grub.
config BR2_TARGET_GRUB_FS_ISO9660
bool "ISO9660"
help
Enable support for the ISO9660 filesystem in Grub.
config BR2_TARGET_GRUB_FS_JFS
bool "IBM JFS"
help
Enable support for the JFS filesystem in Grub.
config BR2_TARGET_GRUB_FS_REISERFS
bool "ReiserFS"
help
Enable support for the ReiserFS filesystem in Grub.
config BR2_TARGET_GRUB_FS_XFS
bool "SGI XFS"
help
Enable support for the XFS filesystem in Grub.
endmenu
menu "network drivers"
config BR2_TARGET_GRUB_3c595
bool "3Com595 driver"
help
enable 3Com595 driver
config BR2_TARGET_GRUB_3c90x
bool "3Com90x driver"
help
enable 3Com90x driver
config BR2_TARGET_GRUB_davicom
bool "Davicom driver"
help
enable Davicom driver
config BR2_TARGET_GRUB_e1000
bool "Etherexpress Pro/1000 driver"
help
enable Etherexpress Pro/1000 driver
config BR2_TARGET_GRUB_eepro100
bool "Etherexpress Pro/100 driver"
help
enable Etherexpress Pro/100 driver
config BR2_TARGET_GRUB_epic100
bool "SMC 83c170 EPIC/100 driver"
help
enable SMC 83c170 EPIC/100 driver
config BR2_TARGET_GRUB_forcedeth
bool "Nvidia Geforce driver"
help
enable Nvidia Geforce driver
config BR2_TARGET_GRUB_natsemi
bool "NatSemi DP8381x driver"
help
enable NatSemi DP8381x driver
config BR2_TARGET_GRUB_ns83820
bool "NS83820 driver"
help
enable NS83820 driver
config BR2_TARGET_GRUB_ns8390
bool "NE2000 PCI driver"
help
enable NE2000 PCI driver
config BR2_TARGET_GRUB_pcnet32
bool "AMD Lance/PCI PCNet/32 driver"
help
enable AMD Lance/PCI PCNet/32 driver
config BR2_TARGET_GRUB_pnic
bool "Bochs Pseudo Nic driver"
help
enable Bochs Pseudo Nic driver
config BR2_TARGET_GRUB_rtl8139
bool "Realtek 8139 driver"
help
enable Realtek 8139 driver
config BR2_TARGET_GRUB_r8169
bool "Realtek 8169 driver"
help
enable Realtek 8169 driver
config BR2_TARGET_GRUB_sis900
bool "SIS 900 and SIS 7016 driver"
help
enable SIS 900 and SIS 7016 driver
config BR2_TARGET_GRUB_tg3
bool "Broadcom Tigon3 driver"
help
enable Broadcom Tigon3 driver
config BR2_TARGET_GRUB_tulip
bool "Tulip driver"
help
enable Tulip driver
config BR2_TARGET_GRUB_tlan
bool "TI ThunderLAN driver"
help
enable TI ThunderLAN driver
config BR2_TARGET_GRUB_undi
bool "PXE UNDI driver"
help
enable PXE UNDI driver
config BR2_TARGET_GRUB_via_rhine
bool "Rhine-I/II driver"
help
enable Rhine-I/II driver
config BR2_TARGET_GRUB_w89c840
bool "Winbond W89c840 driver"
help
enable Winbond W89c840 driver
endmenu
endif # BR2_TARGET_GRUB

File diff suppressed because it is too large Load Diff

View File

@@ -1,13 +0,0 @@
Index: b/stage2/disk_io.c
===================================================================
--- a/stage2/disk_io.c
+++ b/stage2/disk_io.c
@@ -365,7 +365,7 @@
int
devwrite (unsigned int sector, int sector_count, char *buf)
{
-#if defined(GRUB_UTIL) && defined(__linux__)
+#if defined(GRUB_UTIL) && defined(__linux__) && !defined(SUPPORT_LOOPDEV)
if (current_partition != 0xFFFFFF
&& is_disk_device (device_map, current_drive))
{

View File

@@ -1,36 +0,0 @@
Index: b/grub/asmstub.c
===================================================================
--- a/grub/asmstub.c
+++ b/grub/asmstub.c
@@ -18,10 +18,13 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#include <features.h>
+#if !defined __UCLIBC__ || (defined __UCLIBC__ && defined __UCLIBC_HAS_LFS__)
/* Try to use glibc's transparant LFS support. */
#define _LARGEFILE_SOURCE 1
/* lseek becomes synonymous with lseek64. */
#define _FILE_OFFSET_BITS 64
+#endif
/* Simulator entry point. */
int grub_stage2 (void);
Index: b/lib/device.c
===================================================================
--- a/lib/device.c
+++ b/lib/device.c
@@ -18,10 +18,13 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#include <features.h>
+#if !defined __UCLIBC__ || (defined __UCLIBC__ && defined __UCLIBC_HAS_LFS__)
/* Try to use glibc's transparant LFS support. */
#define _LARGEFILE_SOURCE 1
/* lseek becomes synonymous with lseek64. */
#define _FILE_OFFSET_BITS 64
+#endif
#include <stdio.h>
#include <stdlib.h>

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +0,0 @@
# From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/g/grub/grub_0.97-68.dsc
sha256 4e1d15d12dbd3e9208111d6b806ad5a9857ca8850c47877d36575b904559260b grub_0.97.orig.tar.gz
sha256 a453489cf1fec5d311a0b76dea8c8b2ff67eee1a3eba6c06ab80864494d9773c grub_0.97-68.diff.gz

View File

@@ -1,109 +0,0 @@
################################################################################
#
# grub
#
################################################################################
GRUB_VERSION = 0.97
GRUB_SOURCE = grub_$(GRUB_VERSION).orig.tar.gz
GRUB_PATCH = grub_$(GRUB_VERSION)-68.diff.gz
GRUB_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/g/grub
GRUB_LICENSE = GPLv2+
GRUB_LICENSE_FILES = COPYING
# Passing -O0 since the default -O2 passed by Buildroot generates
# non-working stage2. Passing --build-id=none to the linker, because
# the ".note.gnu.build-id" ELF sections generated by default confuse
# objcopy when generating raw binaries. Passing -fno-stack-protector
# to avoid undefined references to __stack_chk_fail.
GRUB_CFLAGS = \
-DSUPPORT_LOOPDEV \
-O0 -Wl,--build-id=none \
-fno-stack-protector
GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_SPLASH),--enable-graphics,--disable-graphics)
GRUB_CONFIG-$(BR2_TARGET_GRUB_DISKLESS) += --enable-diskless
GRUB_CONFIG-$(BR2_TARGET_GRUB_3c595) += --enable-3c595
GRUB_CONFIG-$(BR2_TARGET_GRUB_3c90x) += --enable-3c90x
GRUB_CONFIG-$(BR2_TARGET_GRUB_davicom) += --enable-davicom
GRUB_CONFIG-$(BR2_TARGET_GRUB_e1000) += --enable-e1000
GRUB_CONFIG-$(BR2_TARGET_GRUB_eepro100) += --enable-eepro100
GRUB_CONFIG-$(BR2_TARGET_GRUB_epic100) += --enable-epic100
GRUB_CONFIG-$(BR2_TARGET_GRUB_forcedeth) += --enable-forcedeth
GRUB_CONFIG-$(BR2_TARGET_GRUB_natsemi) += --enable-natsemi
GRUB_CONFIG-$(BR2_TARGET_GRUB_ns83820) += --enable-ns83820
GRUB_CONFIG-$(BR2_TARGET_GRUB_ns8390) += --enable-ns8390
GRUB_CONFIG-$(BR2_TARGET_GRUB_pcnet32) += --enable-pcnet32
GRUB_CONFIG-$(BR2_TARGET_GRUB_pnic) += --enable-pnic
GRUB_CONFIG-$(BR2_TARGET_GRUB_rtl8139) += --enable-rtl8139
GRUB_CONFIG-$(BR2_TARGET_GRUB_r8169) += --enable-r8169
GRUB_CONFIG-$(BR2_TARGET_GRUB_sis900) += --enable-sis900
GRUB_CONFIG-$(BR2_TARGET_GRUB_tg3) += --enable-tg3
GRUB_CONFIG-$(BR2_TARGET_GRUB_tulip) += --enable-tulip
GRUB_CONFIG-$(BR2_TARGET_GRUB_tlan) += --enable-tlan
GRUB_CONFIG-$(BR2_TARGET_GRUB_undi) += --enable-undi
GRUB_CONFIG-$(BR2_TARGET_GRUB_via_rhine) += --enable-via-rhine
GRUB_CONFIG-$(BR2_TARGET_GRUB_w89c840) += --enable-w89c840
GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_EXT2),--enable-ext2fs,--disable-ext2fs)
GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_FAT),--enable-fat,--disable-fat)
GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_ISO9660),--enable-iso9660,--disable-iso9660)
GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_JFS),--enable-jfs,--disable-jfs)
GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_REISERFS),--enable-reiserfs,--disable-reiserfs)
GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_XFS),--enable-xfs,--disable-xfs)
GRUB_CONFIG-y += --disable-ffs --disable-ufs2 --disable-minix --disable-vstafs
GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_EXT2),e2fs)
GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_FAT),fat)
GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_ISO9660),iso9660)
GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_JFS),jfs)
GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_REISERFS),reiserfs)
GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_XFS),xfs)
define GRUB_DEBIAN_PATCHES
# Apply the patches from the Debian patch
(cd $(@D) ; for f in `cat debian/patches/series | grep -v ^#` ; do \
cat debian/patches/$$f | patch -g0 -p1 ; \
done)
endef
GRUB_POST_PATCH_HOOKS += GRUB_DEBIAN_PATCHES
GRUB_CONF_ENV = \
$(HOST_CONFIGURE_OPTS) \
CFLAGS="$(HOST_CFLAGS) $(GRUB_CFLAGS) -m32"
GRUB_CONF_OPTS = \
--disable-auto-linux-mem-opt \
$(GRUB_CONFIG-y)
ifeq ($(BR2_TARGET_GRUB_SPLASH),y)
define GRUB_INSTALL_SPLASH
$(INSTALL) -D -m 0644 boot/grub/splash.xpm.gz $(TARGET_DIR)/boot/grub/splash.xpm.gz
endef
else
define GRUB_INSTALL_SPLASH
$(SED) '/^splashimage/d' $(TARGET_DIR)/boot/grub/menu.lst
endef
endif
# We're cheating here as we're installing the grub binary not in the
# target directory (where it is useless), but in the host
# directory. This grub binary can be used to install grub into the MBR
# of a disk or disk image.
define GRUB_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/grub/grub $(HOST_DIR)/sbin/grub
$(INSTALL) -D -m 0755 $(@D)/stage1/stage1 $(TARGET_DIR)/boot/grub/stage1
for f in $(GRUB_STAGE_1_5_TO_INSTALL) ; do \
$(INSTALL) -D -m 0755 $(@D)/stage2/$${f}_stage1_5 \
$(TARGET_DIR)/boot/grub/$${f}_stage1_5 ; \
done
$(INSTALL) -D -m 0644 $(@D)/stage2/stage2 $(TARGET_DIR)/boot/grub/stage2
$(INSTALL) -D -m 0644 boot/grub/menu.lst $(TARGET_DIR)/boot/grub/menu.lst
$(GRUB_INSTALL_SPLASH)
endef
$(eval $(autotools-package))

View File

@@ -1,16 +0,0 @@
default 0
timeout 10
# Used when no splashimage is used
color cyan/blue white/blue
# Gets enabled/disabled depending on Grub support for splashimage
splashimage (hd0,0)/boot/grub/splash.xpm.gz
# Used when a splashimage is enabled
foreground 000000
background cccccc
title Buildroot
root (hd0,0)
kernel /boot/bzImage rw root=/dev/sda1 rootwait

View File

@@ -1,21 +0,0 @@
ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Upstream-Status: Pending
Index: grub-1.99/grub-core/gnulib/stdio.in.h
===================================================================
--- grub-1.99.orig/grub-core/gnulib/stdio.in.h 2010-12-01 06:45:43.000000000 -0800
+++ grub-1.99/grub-core/gnulib/stdio.in.h 2012-07-04 12:25:02.057099107 -0700
@@ -140,8 +140,10 @@
/* It is very rare that the developer ever has full control of stdin,
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
+#if defined gets
#undef gets
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+#endif
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@

View File

@@ -1,39 +0,0 @@
From f30c692c1f9ef0e93bee2b408a24baa017f1ca9d Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Thu, 7 Nov 2013 01:01:47 +0100
Subject: [PATCH] * grub-core/gettext/gettext.c (main_context),
(secondary_context): Define after defining type and not before.
[Thomas: backport from upstream commit
f30c692c1f9ef0e93bee2b408a24baa017f1ca9d, and remove ChangeLog
modifications to avoid conflicts.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
grub-core/gettext/gettext.c | 4 ++--
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/grub-core/gettext/gettext.c b/grub-core/gettext/gettext.c
index df73570..4880cef 100644
--- a/grub-core/gettext/gettext.c
+++ b/grub-core/gettext/gettext.c
@@ -34,8 +34,6 @@ GRUB_MOD_LICENSE ("GPLv3+");
http://www.gnu.org/software/autoconf/manual/gettext/MO-Files.html .
*/
-static struct grub_gettext_context main_context, secondary_context;
-
static const char *(*grub_gettext_original) (const char *s);
struct grub_gettext_msg
@@ -69,6 +67,8 @@ struct grub_gettext_context
struct grub_gettext_msg *grub_gettext_msg_list;
};
+static struct grub_gettext_context main_context, secondary_context;
+
#define MO_MAGIC_NUMBER 0x950412de
static grub_err_t
--
2.7.4

View File

@@ -1,6 +1,12 @@
config BR2_TARGET_GRUB2_ARCH_SUPPORTS
bool
default y if BR2_i386
default y if BR2_x86_64
config BR2_TARGET_GRUB2
bool "grub2"
depends on BR2_i386 || BR2_x86_64
depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS
depends on BR2_USE_WCHAR
help
GNU GRUB is a Multiboot boot loader. It was derived from
GRUB, the GRand Unified Bootloader, which was originally
@@ -11,104 +17,8 @@ config BR2_TARGET_GRUB2
Amongst others, GRUB2 offers EFI support, which GRUB Legacy
doesn't provide.
Notes on using Grub2 for BIOS-based platforms
=============================================
1. Create a disk image
dd if=/dev/zero of=disk.img bs=1M count=32
2. Partition it (either legacy or GPT style partitions work)
cfdisk disk.img
- Create one partition, type Linux, for the root
filesystem. The only constraint is to make sure there
is enough free space *before* the first partition to
store Grub2. Leaving 1 MB of free space is safe.
3. Setup loop device and loop partitions
sudo losetup -f disk.img
sudo partx -a /dev/loop0
4. Prepare the root partition
sudo mkfs.ext3 -L root /dev/loop0p1
sudo mount /dev/loop0p1 /mnt
sudo tar -C /mnt -xf output/images/rootfs.tar
sudo umount /mnt
5. Install Grub2
sudo ./output/host/usr/sbin/grub-bios-setup \
-b ./output/host/usr/lib/grub/i386-pc/boot.img \
-c ./output/images/grub.img -d . /dev/loop0
6. Cleanup loop device
sudo partx -d /dev/loop0
sudo losetup -d /dev/loop0
7. Your disk.img is ready!
Using genimage
--------------
If you use genimage to generate your complete image,
installing Grub can be tricky. Here is how to achieve Grub's
installation with genimage:
partition boot {
in-partition-table = "no"
image = "path_to_boot.img"
offset = 0
size = 512
}
partition grub {
in-partition-table = "no"
image = "path_to_grub.img"
offset = 512
}
The result is not byte to byte identical to what
grub-bios-setup does but it works anyway.
To test your BIOS image in Qemu
-------------------------------
qemu-system-{i386,x86-64} -hda disk.img
Notes on using Grub2 for EFI-based platforms
============================================
1. Create a disk image
dd if=/dev/zero of=disk.img bs=1M count=32
2. Partition it with GPT partitions
cgdisk disk.img
- Create a first partition, type EF00, for the
bootloader and kernel image
- Create a second partition, type 8300, for the root
filesystem.
3. Setup loop device and loop partitions
sudo losetup -f disk.img
sudo partx -a /dev/loop0
4. Prepare the boot partition
sudo mkfs.vfat -n boot /dev/loop0p1
sudo mount /dev/loop0p1 /mnt
sudo cp -a output/images/efi-part/* /mnt/
sudo cp output/images/bzImage /mnt/
sudo umount /mnt
5. Prepare the root partition
sudo mkfs.ext3 -L root /dev/loop0p2
sudo mount /dev/loop0p2 /mnt
sudo tar -C /mnt -xf output/images/rootfs.tar
sudo umount /mnt
6 Cleanup loop device
sudo partx -d /dev/loop0
sudo losetup -d /dev/loop0
7. Your disk.img is ready!
To test your 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/
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.
For additional notes on using Grub 2 with Buildroot, see
boot/grub2/readme.txt
http://www.gnu.org/software/grub/
@@ -167,3 +77,7 @@ config BR2_TARGET_GRUB2_BUILTIN_CONFIG
entries cannot be described in this embedded configuration.
endif # BR2_TARGET_GRUB2
comment "grub2 needs a toolchain w/ wchar"
depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS
depends on !BR2_USE_WCHAR

View File

@@ -1,2 +1,2 @@
# Locally calculated after checking pgp signature
sha256 784ec38e7edc32239ad75b8e66df04dc8bfb26d88681bc9f627133a6eb85c458 grub-2.00.tar.xz
# Locally computed:
sha256 810b3798d316394f94096ec2797909dbf23c858e48f7b3830826b8daa06b7b0f grub-2.02.tar.xz

View File

@@ -4,10 +4,10 @@
#
################################################################################
GRUB2_VERSION = 2.00
GRUB2_SITE = $(BR2_GNU_MIRROR)/grub
GRUB2_VERSION = 2.02
GRUB2_SITE = http://ftp.gnu.org/gnu/grub
GRUB2_SOURCE = grub-$(GRUB2_VERSION).tar.xz
GRUB2_LICENSE = GPLv3+
GRUB2_LICENSE = GPL-3.0+
GRUB2_LICENSE_FILES = COPYING
GRUB2_DEPENDENCIES = host-bison host-flex
@@ -46,15 +46,15 @@ endif
# bootloader itself; none of these are used to build the native
# tools.
#
# NOTE: TARGET_STRIP is overridden by BR2_STRIP_none, so always
# NOTE: TARGET_STRIP is overridden by !BR2_STRIP_strip, so always
# use the cross compile variant to ensure grub2 builds
GRUB2_CONF_ENV = \
$(HOST_CONFIGURE_OPTS) \
CPP="$(HOSTCC) -E" \
TARGET_CC="$(TARGET_CC)" \
TARGET_CFLAGS="$(TARGET_CFLAGS) -fno-stack-protector" \
TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
TARGET_CPPFLAGS="$(TARGET_CPPFLAGS) -fno-stack-protector" \
TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
NM="$(TARGET_NM)" \
OBJCOPY="$(TARGET_OBJCOPY)" \
@@ -63,6 +63,8 @@ GRUB2_CONF_ENV = \
GRUB2_CONF_OPTS = \
--target=$(GRUB2_TARGET) \
--with-platform=$(GRUB2_PLATFORM) \
--prefix=/ \
--exec-prefix=/ \
--disable-grub-mkfont \
--enable-efiemu=no \
ac_cv_lib_lzma_lzma_code=no \
@@ -79,15 +81,15 @@ GRUB2_INSTALL_TARGET_OPTS = DESTDIR=$(HOST_DIR) install
ifeq ($(BR2_TARGET_GRUB2_I386_PC),y)
define GRUB2_IMAGE_INSTALL_ELTORITO
cat $(HOST_DIR)/usr/lib/grub/$(GRUB2_TUPLE)/cdboot.img $(GRUB2_IMAGE) > \
cat $(HOST_DIR)/lib/grub/$(GRUB2_TUPLE)/cdboot.img $(GRUB2_IMAGE) > \
$(BINARIES_DIR)/grub-eltorito.img
endef
endif
define GRUB2_IMAGE_INSTALLATION
mkdir -p $(dir $(GRUB2_IMAGE))
$(HOST_DIR)/usr/bin/grub-mkimage \
-d $(HOST_DIR)/usr/lib/grub/$(GRUB2_TUPLE) \
$(HOST_DIR)/bin/grub-mkimage \
-d $(HOST_DIR)/lib/grub/$(GRUB2_TUPLE) \
-O $(GRUB2_TUPLE) \
-o $(GRUB2_IMAGE) \
-p "$(GRUB2_PREFIX)" \

View File

@@ -0,0 +1,98 @@
Notes on using Grub2 for BIOS-based platforms
=============================================
1. Create a disk image
dd if=/dev/zero of=disk.img bs=1M count=32
2. Partition it (either legacy or GPT style partitions work)
cfdisk disk.img
- Create one partition, type Linux, for the root
filesystem. The only constraint is to make sure there
is enough free space *before* the first partition to
store Grub2. Leaving 1 MB of free space is safe.
3. Setup loop device and loop partitions
sudo losetup -f disk.img
sudo partx -a /dev/loop0
4. Prepare the root partition
sudo mkfs.ext3 -L root /dev/loop0p1
sudo mount /dev/loop0p1 /mnt
sudo tar -C /mnt -xf output/images/rootfs.tar
sudo umount /mnt
5. Install Grub2
sudo ./output/host/sbin/grub-bios-setup \
-b ./output/host/lib/grub/i386-pc/boot.img \
-c ./output/images/grub.img -d . /dev/loop0
6. Cleanup loop device
sudo partx -d /dev/loop0
sudo losetup -d /dev/loop0
7. Your disk.img is ready!
Using genimage
--------------
If you use genimage to generate your complete image,
installing Grub can be tricky. Here is how to achieve Grub's
installation with genimage:
partition boot {
in-partition-table = "no"
image = "path_to_boot.img"
offset = 0
size = 512
}
partition grub {
in-partition-table = "no"
image = "path_to_grub.img"
offset = 512
}
The result is not byte to byte identical to what
grub-bios-setup does but it works anyway.
To test your BIOS image in Qemu
-------------------------------
qemu-system-{i386,x86-64} -hda disk.img
Notes on using Grub2 for EFI-based platforms
============================================
1. Create a disk image
dd if=/dev/zero of=disk.img bs=1M count=32
2. Partition it with GPT partitions
cgdisk disk.img
- Create a first partition, type EF00, for the
bootloader and kernel image
- Create a second partition, type 8300, for the root
filesystem.
3. Setup loop device and loop partitions
sudo losetup -f disk.img
sudo partx -a /dev/loop0
4. Prepare the boot partition
sudo mkfs.vfat -n boot /dev/loop0p1
sudo mount /dev/loop0p1 /mnt
sudo cp -a output/images/efi-part/* /mnt/
sudo cp output/images/bzImage /mnt/
sudo umount /mnt
5. Prepare the root partition
sudo mkfs.ext3 -L root /dev/loop0p2
sudo mount /dev/loop0p2 /mnt
sudo tar -C /mnt -xf output/images/rootfs.tar
sudo umount /mnt
6 Cleanup loop device
sudo partx -d /dev/loop0
sudo losetup -d /dev/loop0
7. Your disk.img is ready!
To test your 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/
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.

View File

@@ -7,7 +7,7 @@
GUMMIBOOT_SITE = http://cgit.freedesktop.org/gummiboot
GUMMIBOOT_SITE_METHOD = git
GUMMIBOOT_VERSION = 43
GUMMIBOOT_LICENSE = LGPLv2.1+
GUMMIBOOT_LICENSE = LGPL-2.1+
GUMMIBOOT_LICENSE_FILES = LICENSE
# The git archive does not have the autoconf/automake stuff generated.

View File

@@ -0,0 +1,10 @@
config BR2_TARGET_MV_DDR_MARVELL
bool "mv-ddr-marvell"
depends on BR2_aarch64
help
Marvell keeps algorithms for DDR training in a separate
repository. This code is not built separately, it is needed
as a dependency to build ATF firmware for Marvell Armada 7040
and 8040 SoCs.
https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell/

View File

@@ -0,0 +1,2 @@
# Locally calculated
sha256 d413546367ffa3b5f4373a777b9efeb32dcc74d6106897c248935ecb79afc454 mv-ddr-marvell-656440a9690f3d07be9e3d2c39d7cf56fd96eb7b.tar.gz

View File

@@ -0,0 +1,12 @@
################################################################################
#
# mv-ddr-marvell
#
################################################################################
MV_DDR_MARVELL_VERSION = 656440a9690f3d07be9e3d2c39d7cf56fd96eb7b
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
$(eval $(generic-package))

View File

@@ -13,6 +13,7 @@ else ifeq ($(BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT),y)
MXS_BOOTLETS_SITE = $(BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT_URL)
MXS_BOOTLETS_SITE_METHOD = git
MXS_BOOTLETS_VERSION = $(call qstrip,$(BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT_VERSION))
BR_NO_CHECK_HASH_FOR += $(MXS_BOOTLETS_SOURCE)
else
MXS_BOOTLETS_VERSION = 10.12.01
MXS_BOOTLETS_SITE = http://download.ossystems.com.br/bsp/freescale/source
@@ -35,7 +36,7 @@ MXS_BOOTLETS_ELFTOSB_OPTIONS += -f imx28
endif
MXS_BOOTLETS_DEPENDENCIES = host-elftosb
MXS_BOOTLETS_LICENSE = GPLv2+
MXS_BOOTLETS_LICENSE = GPL-2.0+
ifeq ($(BR2_TARGET_MXS_BOOTLETS_BAREBOX),y)
MXS_BOOTLETS_DEPENDENCIES += barebox
@@ -93,7 +94,7 @@ define MXS_BOOTLETS_BUILD_CMDS
$(MXS_BOOTLETS_SED_BAREBOX)
$(MXS_BOOTLETS_SED_LINUX)
$(MXS_BOOTLETS_SED_UBOOT)
$(HOST_DIR)/usr/bin/elftosb $(MXS_BOOTLETS_ELFTOSB_OPTIONS) \
$(HOST_DIR)/bin/elftosb $(MXS_BOOTLETS_ELFTOSB_OPTIONS) \
-z -c $(@D)/$(MXS_BOOTLETS_BOOTDESC) \
-o $(@D)/$(MXS_BOOTLETS_BOOTSTREAM)
endef

View File

@@ -1,35 +0,0 @@
From 61de7762389d460da7ffdd644f50c60175cce23b Mon Sep 17 00:00:00 2001
From: Steve McIntyre <93sam@debian.org>
Date: Wed, 5 Apr 2017 22:09:37 +0200
Subject: [PATCH] Fix 'ldlinux.elf: Not enough room for program headers, try
linking with -N'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fix for https://bugs.debian.org/846679: syslinux: FTBFS: ld:
ldlinux.elf: Not enough room for program headers, try linking with -N
https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=846679;filename=syslinux_6.03%2Bdfsg-14.1.debdiff;msg=10
Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
---
core/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/Makefile b/core/Makefile
index ad0acb5..58a3545 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -165,7 +165,7 @@ LDSCRIPT = $(SRC)/$(ARCH)/syslinux.ld
%.elf: %.o $(LIBDEP) $(LDSCRIPT) $(AUXLIBS)
$(LD) $(LDFLAGS) -Bsymbolic $(LD_PIE) -E --hash-style=gnu -T $(LDSCRIPT) -M -o $@ $< \
- --start-group $(LIBS) $(subst $(*F).elf,lib$(*F).a,$@) --end-group \
+ --start-group $(LIBS) $(subst $(*F).elf,lib$(*F).a,$@) --end-group --no-dynamic-linker \
> $(@:.elf=.map)
$(OBJDUMP) -h $@ > $(@:.elf=.sec)
$(PERL) $(SRC)/lstadjust.pl $(@:.elf=.lsr) $(@:.elf=.sec) $(@:.elf=.lst)
--
2.7.4

View File

@@ -0,0 +1,37 @@
From 39274503292a6003b1b0c93f694e34f11e85ea44 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net>
Date: Fri, 9 Jun 2017 11:55:14 +0200
Subject: [PATCH] The VPrint definition is now part of the exports of
gnu-efi
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
---
efi/fio.h | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/efi/fio.h b/efi/fio.h
index 65fff8d..a1bfe68 100644
--- a/efi/fio.h
+++ b/efi/fio.h
@@ -11,15 +11,6 @@
#define MAX_EFI_ARGS 64
#define WS(c16) (c16 == L' ' || c16 == CHAR_TAB)
-/* VPrint is not in export declarations in gnu-efi lib yet
- * although it is a global function; declare it here
- */
-extern UINTN
-VPrint (
- IN CHAR16 *fmt,
- va_list args
- );
-
extern EFI_STATUS efi_errno;
void efi_memcpy(unsigned char *dst, unsigned char *src, size_t len);
--
2.1.4

View File

@@ -0,0 +1,37 @@
From 3bd5c2d951421a89f76b2423e5810862f53486c1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net>
Date: Fri, 9 Jun 2017 11:59:43 +0200
Subject: [PATCH] Update the longjump calls to fit the new declaration
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
---
efi/main.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/efi/main.c b/efi/main.c
index 208fee4f..71d31a5c 100644
--- a/efi/main.c
+++ b/efi/main.c
@@ -10,7 +10,6 @@
#include <syslinux/firmware.h>
#include <syslinux/linux.h>
#include <sys/ansi.h>
-#include <setjmp.h>
#include "efi.h"
#include "fio.h"
@@ -30,7 +29,7 @@ uint32_t timer_irq;
__export uint8_t KbdMap[256];
char aux_seg[256];
-static jmp_buf load_error_buf;
+static jmp_buf *load_error_buf;
static inline EFI_STATUS
efi_close_protocol(EFI_HANDLE handle, EFI_GUID *guid, EFI_HANDLE agent,
--
2.13.3

View File

@@ -0,0 +1,32 @@
From ca8aaded0c7c3900397029bd9520132b62629308 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net>
Date: Mon, 12 Jun 2017 14:59:16 +0200
Subject: [PATCH] efi/wrapper: build it with the host toolchain.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The wrapper program is executed on the build machine, so it should be
built with CC_FOR_BUILD.
Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
---
efi/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/efi/Makefile b/efi/Makefile
index d5443bd5..d24d16db 100644
--- a/efi/Makefile
+++ b/efi/Makefile
@@ -79,7 +79,7 @@ syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS)
# cp $^ $@
wrapper: wrapper.c
- $(CC) $^ -o $@
+ $(CC_FOR_BUILD) $^ -o $@
#
# Build the wrapper app and wrap our .so to produce a .efi
--
2.13.3

View File

@@ -0,0 +1,295 @@
From 76946dd67bc856eaf4fe69d0826547a794176f78 Mon Sep 17 00:00:00 2001
From: Sylvain Gault <sylvain.gault@gmail.com>
Date: Tue, 29 Sep 2015 04:45:09 +0200
Subject: [PATCH] bios: Don't try to guess the sections alignment
For the compression / decompression to succeed, the sections layout must
be the same between the virtual memory and load memory. The section
alignment was kept in sync by introducing aligment that should be
greater or equal to the actual section alignment.
This patch compute the load memory addresses of the sections so that
the layout is the same as the virtual memory addresses.
Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
Tested-by: poma <pomidorabelisima@gmail.com>
Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
Upstream: 0cc9a99e560a2f52bcf052fd85b1efae35ee812f
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
core/i386/syslinux.ld | 63 ++++++++++---------------------------------------
core/x86_64/syslinux.ld | 63 ++++++++++---------------------------------------
2 files changed, 24 insertions(+), 102 deletions(-)
diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld
index 73904510..92b75b11 100644
--- a/core/i386/syslinux.ld
+++ b/core/i386/syslinux.ld
@@ -255,10 +255,9 @@ SECTIONS
. = 0x100000;
__pm_code_start = .;
+ __vma_to_lma = __pm_code_lma - __pm_code_start;
- __text_vma = .;
- __text_lma = __pm_code_lma;
- .text : AT(__text_lma) {
+ .text : AT(ADDR(.text) + __vma_to_lma) {
FILL(0x90909090)
__text_start = .;
*(.text)
@@ -266,106 +265,68 @@ SECTIONS
__text_end = .;
}
- . = ALIGN(32);
-
- __rodata_vma = .;
- __rodata_lma = __rodata_vma + __text_lma - __text_vma;
- .rodata : AT(__rodata_lma) {
+ .rodata : AT(ADDR(.rodata) + __vma_to_lma) {
__rodata_start = .;
*(.rodata)
*(.rodata.*)
__rodata_end = .;
}
- . = ALIGN(4);
-
- __ctors_vma = .;
- __ctors_lma = __ctors_vma + __text_lma - __text_vma;
- .ctors : AT(__ctors_lma) {
+ .ctors : AT(ADDR(.ctors) + __vma_to_lma) {
__ctors_start = .;
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
__ctors_end = .;
}
- __dtors_vma = .;
- __dtors_lma = __dtors_vma + __text_lma - __text_vma;
- .dtors : AT(__dtors_lma) {
+ .dtors : AT(ADDR(.dtors) + __vma_to_lma) {
__dtors_start = .;
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
__dtors_end = .;
}
- . = ALIGN(4);
-
- __dynsym_vma = .;
- __dynsym_lma = __dynsym_vma + __text_lma - __text_vma;
- .dynsym : AT(__dynsym_lma) {
+ .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) {
__dynsym_start = .;
*(.dynsym)
__dynsym_end = .;
}
__dynsym_len = __dynsym_end - __dynsym_start;
- . = ALIGN(4);
-
- __dynstr_vma = .;
- __dynstr_lma = __dynstr_vma + __text_lma - __text_vma;
- .dynstr : AT(__dynstr_lma) {
+ .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) {
__dynstr_start = .;
*(.dynstr)
__dynstr_end = .;
}
__dynstr_len = __dynstr_end - __dynstr_start;
- . = ALIGN(4);
-
- __gnu_hash_vma = .;
- __gnu_hash_lma = __gnu_hash_vma + __text_lma - __text_vma;
- .gnu.hash : AT(__gnu_hash_lma) {
+ .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) {
__gnu_hash_start = .;
*(.gnu.hash)
__gnu_hash_end = .;
}
- . = ALIGN(4);
-
- __dynlink_vma = .;
- __dynlink_lma = __dynlink_vma + __text_lma - __text_vma;
- .dynlink : AT(__dynlink_lma) {
+ .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) {
__dynlink_start = .;
*(.dynlink)
__dynlink_end = .;
}
- . = ALIGN(4);
-
- __got_vma = .;
- __got_lma = __got_vma + __text_lma - __text_vma;
- .got : AT(__got_lma) {
+ .got : AT(ADDR(.got) + __vma_to_lma) {
__got_start = .;
KEEP (*(.got.plt))
KEEP (*(.got))
__got_end = .;
}
- . = ALIGN(4);
-
- __dynamic_vma = .;
- __dynamic_lma = __dynamic_vma + __text_lma - __text_vma;
- .dynamic : AT(__dynamic_lma) {
+ .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) {
__dynamic_start = .;
*(.dynamic)
__dynamic_end = .;
}
- . = ALIGN(32);
-
- __data_vma = .;
- __data_lma = __data_vma + __text_lma - __text_vma;
- .data : AT(__data_lma) {
+ .data : AT(ADDR(.data) + __vma_to_lma) {
__data_start = .;
*(.data)
*(.data.*)
diff --git a/core/x86_64/syslinux.ld b/core/x86_64/syslinux.ld
index bf815c46..70c6e00a 100644
--- a/core/x86_64/syslinux.ld
+++ b/core/x86_64/syslinux.ld
@@ -255,10 +255,9 @@ SECTIONS
. = 0x100000;
__pm_code_start = .;
+ __vma_to_lma = __pm_code_lma - __pm_code_start;
- __text_vma = .;
- __text_lma = __pm_code_lma;
- .text : AT(__text_lma) {
+ .text : AT(ADDR(.text) + __vma_to_lma) {
FILL(0x90909090)
__text_start = .;
*(.text)
@@ -266,106 +265,68 @@ SECTIONS
__text_end = .;
}
- . = ALIGN(32);
-
- __rodata_vma = .;
- __rodata_lma = __rodata_vma + __text_lma - __text_vma;
- .rodata : AT(__rodata_lma) {
+ .rodata : AT(ADDR(.rodata) + __vma_to_lma) {
__rodata_start = .;
*(.rodata)
*(.rodata.*)
__rodata_end = .;
}
- . = ALIGN(4);
-
- __ctors_vma = .;
- __ctors_lma = __ctors_vma + __text_lma - __text_vma;
- .ctors : AT(__ctors_lma) {
+ .ctors : AT(ADDR(.ctors) + __vma_to_lma) {
__ctors_start = .;
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
__ctors_end = .;
}
- __dtors_vma = .;
- __dtors_lma = __dtors_vma + __text_lma - __text_vma;
- .dtors : AT(__dtors_lma) {
+ .dtors : AT(ADDR(.dtors) + __vma_to_lma) {
__dtors_start = .;
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
__dtors_end = .;
}
- . = ALIGN(4);
-
- __dynsym_vma = .;
- __dynsym_lma = __dynsym_vma + __text_lma - __text_vma;
- .dynsym : AT(__dynsym_lma) {
+ .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) {
__dynsym_start = .;
*(.dynsym)
__dynsym_end = .;
}
__dynsym_len = __dynsym_end - __dynsym_start;
- . = ALIGN(4);
-
- __dynstr_vma = .;
- __dynstr_lma = __dynstr_vma + __text_lma - __text_vma;
- .dynstr : AT(__dynstr_lma) {
+ .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) {
__dynstr_start = .;
*(.dynstr)
__dynstr_end = .;
}
__dynstr_len = __dynstr_end - __dynstr_start;
- . = ALIGN(4);
-
- __gnu_hash_vma = .;
- __gnu_hash_lma = __gnu_hash_vma + __text_lma - __text_vma;
- .gnu.hash : AT(__gnu_hash_lma) {
+ .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) {
__gnu_hash_start = .;
*(.gnu.hash)
__gnu_hash_end = .;
}
- . = ALIGN(4);
-
- __dynlink_vma = .;
- __dynlink_lma = __dynlink_vma + __text_lma - __text_vma;
- .dynlink : AT(__dynlink_lma) {
+ .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) {
__dynlink_start = .;
*(.dynlink)
__dynlink_end = .;
}
- . = ALIGN(4);
-
- __got_vma = .;
- __got_lma = __got_vma + __text_lma - __text_vma;
- .got : AT(__got_lma) {
+ .got : AT(ADDR(.got) + __vma_to_lma) {
__got_start = .;
KEEP (*(.got.plt))
KEEP (*(.got))
__got_end = .;
}
- . = ALIGN(4);
-
- __dynamic_vma = .;
- __dynamic_lma = __dynamic_vma + __text_lma - __text_vma;
- .dynamic : AT(__dynamic_lma) {
+ .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) {
__dynamic_start = .;
*(.dynamic)
__dynamic_end = .;
}
- . = ALIGN(32);
-
- __data_vma = .;
- __data_lma = __data_vma + __text_lma - __text_vma;
- .data : AT(__data_lma) {
+ .data : AT(ADDR(.data) + __vma_to_lma) {
__data_start = .;
*(.data)
*(.data.*)
--
2.13.3

View File

@@ -0,0 +1,622 @@
From a14b1b3d3e375d2e8af8804171ef5e52574dbb2a Mon Sep 17 00:00:00 2001
From: "H. Peter Anvin" <hpa@zytor.com>
Date: Tue, 9 Feb 2016 18:15:50 -0800
Subject: [PATCH] core: Clean up the i386-bios build
Remove symbols and data structures not used in the i386-bios build,
and clean up the linker script so that most internal symbols are
HIDDEN.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Upstream: ff859050fa4e6535cae098dc35d88a265466448d
This patch fixes the following build failure with i386 binutils 2.28.1:
/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld -Bsymbolic -pie -E --hash-style=gnu -T
/builds/arnout/buildroot/output/build/syslinux-6.03/core/i386/syslinux.ld -M -o ldlinux.elf ldlinux.o \
--start-group libcom32.a --whole-archive /builds/arnout/buildroot/output/build/syslinux-6.03/bios/com32/lib/libcom32core.a libldlinux.a --end-group -N
--no-omagic \
> ldlinux.map
/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld: ldlinux.elf: Not enough room for program headers, try linking with -N
/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld: final link failed: Bad value
/builds/arnout/buildroot/output/build/syslinux-6.03/core/Makefile:167: recipe for target 'ldlinux.elf' failed
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
core/extern.inc | 17 +--
core/i386/syslinux.ld | 287 +++++++++++++++++++++++++-------------------------
core/layout.inc | 11 --
3 files changed, 143 insertions(+), 172 deletions(-)
diff --git a/core/extern.inc b/core/extern.inc
index af8eb04c..ce4abfab 100644
--- a/core/extern.inc
+++ b/core/extern.inc
@@ -12,27 +12,17 @@
; hello.c
extern hello
- ;abort.c
- extern abort_load_new
-
; elflink/load_env32.c
extern load_env32, pm_env32_run
- ; memscan.c
- extern highmem_init
-
- extern linux_kernel
-
extern mp1, mp2, mp3, mp4, mp5
- extern hexdump, mydump
+ extern hexdump
extern mem_init
; fs.c
- extern pm_fs_init, pm_searchdir, getfssec, getfsbytes
- extern pm_mangle_name, pm_load_config
- extern pm_open_file, pm_close_file
+ extern pm_fs_init
extern SectorSize, SectorShift
; chdir.c
@@ -41,9 +31,6 @@
; readdir.c
extern opendir, readdir, closedir
- ; newconfig.c
- extern pm_is_config_file
-
; idle.c
extern __idle
diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld
index 92b75b11..39198d75 100644
--- a/core/i386/syslinux.ld
+++ b/core/i386/syslinux.ld
@@ -1,7 +1,7 @@
/* -----------------------------------------------------------------------
*
* Copyright 2008-2009 H. Peter Anvin - All Rights Reserved
- * Copyright 2009 Intel Corporation; author: H. Peter Anvin
+ * Copyright 2009-2016 Intel Corporation; author: H. Peter Anvin
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -12,7 +12,7 @@
* ----------------------------------------------------------------------- */
/*
- * Linker script for the SYSLINUX core
+ * Linker script for the SYSLINUX core when built for i386-bios
*/
OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
@@ -26,7 +26,7 @@ SECTIONS
{
/* Prefix structure for the compression program */
. = 0;
- __module_start = .;
+ HIDDEN(__module_start = ABSOLUTE(.));
.prefix : {
*(.prefix)
}
@@ -35,81 +35,82 @@ SECTIONS
. = 0x1000;
.earlybss (NOLOAD) : {
- __earlybss_start = .;
+ HIDDEN(__earlybss_start = .);
*(.earlybss)
- __earlybss_end = .;
+ HIDDEN(__earlybss_end = .);
}
- __earlybss_len = ABSOLUTE(__earlybss_end) - ABSOLUTE(__earlybss_start);
- __earlybss_dwords = (__earlybss_len + 3) >> 2;
+ HIDDEN(__earlybss_len = ABSOLUTE(__earlybss_end) - ABSOLUTE(__earlybss_start));
+ HIDDEN(__earlybss_dwords = (__earlybss_len + 3) >> 2);
. = ALIGN(4);
.bss16 (NOLOAD) : {
- __bss16_start = .;
+ HIDDEN(__bss16_start = .);
*(.bss16)
- __bss16_end = .;
+ HIDDEN(__bss16_end = .);
}
- __bss16_len = ABSOLUTE(__bss16_end) - ABSOLUTE(__bss16_start);
- __bss16_dwords = (__bss16_len + 3) >> 2;
+ HIDDEN(__bss16_len = ABSOLUTE(__bss16_end) - ABSOLUTE(__bss16_start));
+ HIDDEN(__bss16_dwords = (__bss16_len + 3) >> 2);
. = ALIGN(4);
.config : AT (__config_lma) {
- __config_start = .;
+ HIDDEN(__config_start = .);
*(.config)
- __config_end = .;
+ HIDDEN(__config_end = .);
}
- __config_len = ABSOLUTE(__config_end) - ABSOLUTE(__config_start);
- __config_dwords = (__config_len + 3) >> 2;
+ HIDDEN(__config_len = ABSOLUTE(__config_end) - ABSOLUTE(__config_start));
+ HIDDEN(__config_dwords = (__config_len + 3) >> 2);
/* Generated and/or copied code */
. = ALIGN(128); /* Minimum separation from mutable data */
.replacestub : AT (__replacestub_lma) {
- __replacestub_start = .;
+ HIDDEN(__replacestub_start = .);
*(.replacestub)
- __replacestub_end = .;
+ HIDDEN(__replacestub_end = .);
}
- __replacestub_len = ABSOLUTE(__replacestub_end) - ABSOLUTE(__replacestub_start);
- __replacestub_dwords = (__replacestub_len + 3) >> 2;
+ HIDDEN(__replacestub_len = ABSOLUTE(__replacestub_end) - ABSOLUTE(__replacestub_start));
+ HIDDEN(__replacestub_dwords = (__replacestub_len + 3) >> 2);
. = ALIGN(16);
- __gentextnr_lma = .;
+ HIDDEN(__gentextnr_lma = .);
.gentextnr : AT(__gentextnr_lma) {
- __gentextnr_start = .;
+ HIDDEN(__gentextnr_start = .);
*(.gentextnr)
- __gentextnr_end = .;
+ HIDDEN(__gentextnr_end = .);
}
- __gentextnr_len = ABSOLUTE(__gentextnr_end) - ABSOLUTE(__gentextnr_start);
- __gentextnr_dwords = (__gentextnr_len + 3) >> 2;
+ HIDDEN(__gentextnr_len = ABSOLUTE(__gentextnr_end) - ABSOLUTE(__gentextnr_start));
+ HIDDEN(__gentextnr_dwords = (__gentextnr_len + 3) >> 2);
. = STACK_BASE;
.stack16 : AT(STACK_BASE) {
- __stack16_start = .;
+ HIDDEN(__stack16_start = .);
. += STACK_LEN;
- __stack16_end = .;
+ HIDDEN(__stack16_end = .);
}
- __stack16_len = ABSOLUTE(__stack16_end) - ABSOLUTE(__stack16_start);
- __stack16_dwords = (__stack16_len + 3) >> 2;
+ HIDDEN(__stack16_len = ABSOLUTE(__stack16_end) - ABSOLUTE(__stack16_start));
+ HIDDEN(__stack16_dwords = (__stack16_len + 3) >> 2);
/* Initialized sections */
. = 0x7c00;
.init : {
FILL(0x90909090)
- __init_start = .;
+ HIDDEN(__init_start = .);
*(.init)
- __init_end = .;
+ HIDDEN(__init_end = .);
}
- __init_len = ABSOLUTE(__init_end) - ABSOLUTE(__init_start);
- __init_dwords = (__init_len + 3) >> 2;
+ HIDDEN(__init_len = ABSOLUTE(__init_end) - ABSOLUTE(__init_start));
+ HIDDEN(__init_dwords = (__init_len + 3) >> 2);
+ . = ALIGN(4);
.text16 : {
FILL(0x90909090)
- __text16_start = .;
+ HIDDEN(__text16_start = .);
*(.text16)
- __text16_end = .;
+ HIDDEN(__text16_end = .);
}
- __text16_len = ABSOLUTE(__text16_end) - ABSOLUTE(__text16_start);
- __text16_dwords = (__text16_len + 3) >> 2;
+ HIDDEN(__text16_len = ABSOLUTE(__text16_end) - ABSOLUTE(__text16_start));
+ HIDDEN(__text16_dwords = (__text16_len + 3) >> 2);
/*
* .textnr is used for 32-bit code that is used on the code
@@ -118,99 +119,92 @@ SECTIONS
. = ALIGN(16);
.textnr : {
FILL(0x90909090)
- __textnr_start = .;
+ HIDDEN(__textnr_start = .);
*(.textnr)
- __textnr_end = .;
+ HIDDEN(__textnr_end = .);
}
- __textnr_len = ABSOLUTE(__textnr_end) - ABSOLUTE(__textnr_start);
- __textnr_dwords = (__textnr_len + 3) >> 2;
+ HIDDEN(__textnr_len = ABSOLUTE(__textnr_end) - ABSOLUTE(__textnr_start));
+ HIDDEN(__textnr_dwords = (__textnr_len + 3) >> 2);
. = ALIGN(16);
- __bcopyxx_start = .;
+ HIDDEN(__bcopyxx_start = .);
.bcopyxx.text : {
FILL(0x90909090)
- __bcopyxx_text_start = .;
+ HIDDEN(__bcopyxx_text_start = .);
*(.bcopyxx.text)
- __bcopyxx_text_end = .;
+ HIDDEN(__bcopyxx_text_end = .);
}
- __bcopyxx_text_len = ABSOLUTE(__bcopyxx_text_end) - ABSOLUTE(__bcopyxx_text_start);
- __bcopyxx_text_dwords = (__bcopyxx_text_len + 3) >> 2;
+ HIDDEN(__bcopyxx_text_len = ABSOLUTE(__bcopyxx_text_end) - ABSOLUTE(__bcopyxx_text_start));
+ HIDDEN(__bcopyxx_text_dwords = (__bcopyxx_text_len + 3) >> 2);
.bcopyxx.data : {
- __bcopyxx_data_start = .;
+ HIDDEN(__bcopyxx_data_start = .);
*(.bcopyxx.text)
- __bcopyxx_data_end = .;
+ HIDDEN(__bcopyxx_data_end = .);
}
- __bcopyxx_data_len = ABSOLUTE(__bcopyxx_data_end) - ABSOLUTE(__bcopyxx_data_start);
- __bcopyxx_data_dwords = (__bcopyxx_data_len + 3) >> 2;
+ HIDDEN(__bcopyxx_data_len = ABSOLUTE(__bcopyxx_data_end) - ABSOLUTE(__bcopyxx_data_start));
+ HIDDEN(__bcopyxx_data_dwords = (__bcopyxx_data_len + 3) >> 2);
- __bcopyxx_end = .;
- __bcopyxx_len = ABSOLUTE(__bcopyxx_end) - ABSOLUTE(__bcopyxx_start);
- __bcopyxx_dwords = (__bcopyxx_len + 3) >> 2;
+ HIDDEN(__bcopyxx_end = .);
+ HIDDEN(__bcopyxx_len = ABSOLUTE(__bcopyxx_end) - ABSOLUTE(__bcopyxx_start));
+ HIDDEN(__bcopyxx_dwords = (__bcopyxx_len + 3) >> 2);
. = ALIGN(4);
.data16 : {
- __data16_start = .;
+ HIDDEN(__data16_start = .);
*(.data16)
- __data16_end = .;
+ HIDDEN(__data16_end = .);
}
- __data16_len = ABSOLUTE(__data16_end) - ABSOLUTE(__data16_start);
- __data16_dwords = (__data16_len + 3) >> 2;
+ HIDDEN(__data16_len = ABSOLUTE(__data16_end) - ABSOLUTE(__data16_start));
+ HIDDEN(__data16_dwords = (__data16_len + 3) >> 2);
. = ALIGN(4);
- __config_lma = .;
+ HIDDEN(__config_lma = ABSOLUTE(.));
. += SIZEOF(.config);
. = ALIGN(4);
- __replacestub_lma = .;
+ HIDDEN(__replacestub_lma = ABSOLUTE(.));
. += SIZEOF(.replacestub);
/* The 32-bit code loads above the non-progbits sections */
. = ALIGN(16);
- __pm_code_lma = .;
+ HIDDEN(__pm_code_lma = ABSOLUTE(.));
- __high_clear_start = .;
+ HIDDEN(__high_clear_start = .);
. = ALIGN(512);
.adv (NOLOAD) : {
- __adv_start = .;
+ HIDDEN(__adv_start = .);
*(.adv)
- __adv_end = .;
+ HIDDEN(__adv_end = .);
}
- __adv_len = ABSOLUTE(__adv_end) - ABSOLUTE(__adv_start);
- __adv_dwords = (__adv_len + 3) >> 2;
+ HIDDEN(__adv_len = ABSOLUTE(__adv_end) - ABSOLUTE(__adv_start));
+ HIDDEN(__adv_dwords = (__adv_len + 3) >> 2);
/* Late uninitialized sections */
. = ALIGN(4);
.uibss (NOLOAD) : {
- __uibss_start = .;
+ HIDDEN(__uibss_start = .);
*(.uibss)
- __uibss_end = .;
+ HIDDEN(__uibss_end = .);
}
- __uibss_len = ABSOLUTE(__uibss_end) - ABSOLUTE(__uibss_start);
- __uibss_dwords = (__uibss_len + 3) >> 2;
+ HIDDEN(__uibss_len = ABSOLUTE(__uibss_end) - ABSOLUTE(__uibss_start));
+ HIDDEN(__uibss_dwords = (__uibss_len + 3) >> 2);
- _end16 = .;
- __assert_end16 = ASSERT(_end16 <= 0x10000, "64K overflow");
+ HIDDEN(_end16 = .);
+ HIDDEN(__assert_end16 = ASSERT(_end16 <= 0x10000, "64K overflow"));
/*
* Special 16-bit segments
*/
-
- . = ALIGN(65536);
- .real_mode (NOLOAD) : {
- *(.real_mode)
- }
- real_mode_seg = core_real_mode >> 4;
-
. = ALIGN(65536);
.xfer_buf (NOLOAD) : {
*(.xfer_buf)
}
- xfer_buf_seg = core_xfer_buf >> 4;
+ HIDDEN(xfer_buf_seg = core_xfer_buf >> 4);
/*
* The auxilliary data segment is used by the 16-bit code
@@ -219,33 +213,33 @@ SECTIONS
. = ALIGN(16);
.auxseg (NOLOAD) : {
- __auxseg_start = .;
+ HIDDEN(__auxseg_start = .);
*(.auxseg)
- __auxseg_end = .;
+ HIDDEN(__auxseg_end = .);
}
- __auxseg_len = ABSOLUTE(__auxseg_end) - ABSOLUTE(__auxseg_start);
- __auxseg_dwords = (__auxseg_len + 3) >> 2;
- aux_seg = __auxseg_start >> 4;
+ HIDDEN(__auxseg_len = ABSOLUTE(__auxseg_end) - ABSOLUTE(__auxseg_start));
+ HIDDEN(__auxseg_dwords = (__auxseg_len + 3) >> 2);
+ HIDDEN(aux_seg = __auxseg_start >> 4);
/*
* Used to allocate lowmem buffers from 32-bit code
*/
.lowmem (NOLOAD) : {
- __lowmem_start = .;
+ HIDDEN(__lowmem_start = .);
*(.lowmem)
- __lowmem_end = .;
+ HIDDEN(__lowmem_end = .);
}
- __lowmem_len = ABSOLUTE(__lowmem_end) - ABSOLUTE(__lowmem_start);
- __lowmem_dwords = (__lowmem_len + 3) >> 2;
+ HIDDEN(__lowmem_len = ABSOLUTE(__lowmem_end) - ABSOLUTE(__lowmem_start));
+ HIDDEN(__lowmem_dwords = (__lowmem_len + 3) >> 2);
- __high_clear_end = .;
+ HIDDEN(__high_clear_end = .);
- __high_clear_len = ABSOLUTE(__high_clear_end) - ABSOLUTE(__high_clear_start);
- __high_clear_dwords = (__high_clear_len + 3) >> 2;
+ HIDDEN(__high_clear_len = ABSOLUTE(__high_clear_end) - ABSOLUTE(__high_clear_start));
+ HIDDEN(__high_clear_dwords = (__high_clear_len + 3) >> 2);
/* Start of the lowmem heap */
. = ALIGN(16);
- __lowmem_heap = .;
+ HIDDEN(__lowmem_heap = .);
/*
* 32-bit code. This is a hack for the moment due to the
@@ -254,136 +248,137 @@ SECTIONS
. = 0x100000;
- __pm_code_start = .;
- __vma_to_lma = __pm_code_lma - __pm_code_start;
+ HIDDEN(__pm_code_start = .);
+ HIDDEN(__vma_to_lma = ABSOLUTE(__pm_code_lma - __pm_code_start));
.text : AT(ADDR(.text) + __vma_to_lma) {
FILL(0x90909090)
- __text_start = .;
+ HIDDEN(__text_start = .);
*(.text)
*(.text.*)
- __text_end = .;
+ HIDDEN(__text_end = .);
}
.rodata : AT(ADDR(.rodata) + __vma_to_lma) {
- __rodata_start = .;
+ HIDDEN(__rodata_start = .);
*(.rodata)
*(.rodata.*)
- __rodata_end = .;
+ HIDDEN(__rodata_end = .);
}
.ctors : AT(ADDR(.ctors) + __vma_to_lma) {
- __ctors_start = .;
+ HIDDEN(__ctors_start = .);
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
- __ctors_end = .;
+ HIDDEN(__ctors_end = .);
}
.dtors : AT(ADDR(.dtors) + __vma_to_lma) {
- __dtors_start = .;
+ HIDDEN(__dtors_start = .);
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
- __dtors_end = .;
+ HIDDEN(__dtors_end = .);
}
.dynsym : AT(ADDR(.dynsym) + __vma_to_lma) {
- __dynsym_start = .;
- *(.dynsym)
- __dynsym_end = .;
+ HIDDEN(__dynsym_start = .);
+ KEEP (*(.dynsym))
+ HIDDEN(__dynsym_end = .);
}
- __dynsym_len = __dynsym_end - __dynsym_start;
+ HIDDEN(__dynsym_len = __dynsym_end - __dynsym_start);
.dynstr : AT(ADDR(.dynstr) + __vma_to_lma) {
- __dynstr_start = .;
- *(.dynstr)
- __dynstr_end = .;
+ HIDDEN(__dynstr_start = .);
+ KEEP (*(.dynstr))
+ HIDDEN(__dynstr_end = .);
}
- __dynstr_len = __dynstr_end - __dynstr_start;
+ HIDDEN(__dynstr_len = __dynstr_end - __dynstr_start);
.gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) {
- __gnu_hash_start = .;
- *(.gnu.hash)
- __gnu_hash_end = .;
+ HIDDEN(__gnu_hash_start = .);
+ KEEP (*(.gnu.hash))
+ HIDDEN(__gnu_hash_end = .);
}
.dynlink : AT(ADDR(.dynlink) + __vma_to_lma) {
- __dynlink_start = .;
- *(.dynlink)
- __dynlink_end = .;
+ HIDDEN(__dynlink_start = .);
+ KEEP (*(.dynlink))
+ HIDDEN(__dynlink_end = .);
}
.got : AT(ADDR(.got) + __vma_to_lma) {
- __got_start = .;
- KEEP (*(.got.plt))
+ HIDDEN(__got_start = .);
KEEP (*(.got))
- __got_end = .;
+ KEEP (*(.got.plt))
+ HIDDEN(__got_end = .);
}
.dynamic : AT(ADDR(.dynamic) + __vma_to_lma) {
- __dynamic_start = .;
- *(.dynamic)
- __dynamic_end = .;
+ HIDDEN(__dynamic_start = .);
+ KEEP (*(.dynamic))
+ HIDDEN(__dynamic_end = .);
}
.data : AT(ADDR(.data) + __vma_to_lma) {
- __data_start = .;
+ HIDDEN(__data_start = .);
*(.data)
*(.data.*)
- __data_end = .;
+ HIDDEN(__data_end = .);
}
- __pm_code_end = .;
- __pm_code_len = ABSOLUTE(__pm_code_end) - ABSOLUTE(__pm_code_start);
- __pm_code_dwords = (__pm_code_len + 3) >> 2;
+ HIDDEN(__pm_code_end = .);
+ HIDDEN(__pm_code_len = ABSOLUTE(__pm_code_end) - ABSOLUTE(__pm_code_start));
+ HIDDEN(__pm_code_dwords = (__pm_code_len + 3) >> 2);
. = ALIGN(128);
- __bss_vma = .;
- __bss_lma = .; /* Dummy */
+ HIDDEN(__bss_vma = .);
+ HIDDEN(__bss_lma = ABSOLUTE(.)); /* Dummy */
.bss (NOLOAD) : AT (__bss_lma) {
- __bss_start = .;
+ HIDDEN(__bss_start = .);
*(.bss)
*(.bss.*)
*(COMMON)
- __bss_end = .;
+ HIDDEN(__bss_end = .);
}
- __bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start);
- __bss_dwords = (__bss_len + 3) >> 2;
+ HIDDEN(__bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start));
+ HIDDEN(__bss_dwords = (__bss_len + 3) >> 2);
/* Very large objects which don't need to be zeroed */
- __hugebss_vma = .;
- __hugebss_lma = .; /* Dummy */
+ HIDDEN(__hugebss_vma = .);
+ HIDDEN(__hugebss_lma = ABSOLUTE(.)); /* Dummy */
.hugebss (NOLOAD) : AT (__hugebss_lma) {
- __hugebss_start = .;
+ HIDDEN(__hugebss_start = .);
*(.hugebss)
*(.hugebss.*)
- __hugebss_end = .;
+ HIDDEN(__hugebss_end = .);
}
- __hugebss_len = ABSOLUTE(__hugebss_end) - ABSOLUTE(__hugebss_start);
- __hugebss_dwords = (__hugebss_len + 3) >> 2;
+ HIDDEN(__hugebss_len = ABSOLUTE(__hugebss_end) - ABSOLUTE(__hugebss_start));
+ HIDDEN(__hugebss_dwords = (__hugebss_len + 3) >> 2);
/* XXX: This stack should be unified with the COM32 stack */
- __stack_vma = .;
- __stack_lma = .; /* Dummy */
+ HIDDEN(__stack_vma = .);
+ HIDDEN(__stack_lma = ABSOLUTE(.)); /* Dummy */
.stack (NOLOAD) : AT(__stack_lma) {
- __stack_start = .;
+ HIDDEN(__stack_start = .);
*(.stack)
- __stack_end = .;
+ HIDDEN(__stack_end = .);
}
- __stack_len = ABSOLUTE(__stack_end) - ABSOLUTE(__stack_start);
- __stack_dwords = (__stack_len + 3) >> 2;
+ HIDDEN(__stack_len = ABSOLUTE(__stack_end) - ABSOLUTE(__stack_start));
+ HIDDEN(__stack_dwords = (__stack_len + 3) >> 2);
- _end = .;
+ HIDDEN(_end = .);
/* COM32R and kernels are loaded after our own PM code */
. = ALIGN(65536);
- free_high_memory = .;
+ HIDDEN(free_high_memory = .);
/* Stuff we don't need... */
/DISCARD/ : {
*(.eh_frame)
+ *(.interp)
}
}
diff --git a/core/layout.inc b/core/layout.inc
index 53ca783d..635df537 100644
--- a/core/layout.inc
+++ b/core/layout.inc
@@ -139,17 +139,6 @@ serial_buf_size equ 4096 ; Should be a power of 2
core_xfer_buf resb 65536
;
-; Segment for the real mode code (needed as long as we have a in-kernel
-; loader and/or COM16 support.
-; One symbol for the segment number, one for the absolute address
-;
- extern real_mode_seg
- section .real_mode write nobits align=65536
- global core_real_mode:data hidden
-core_real_mode resb 65536
-comboot_seg equ real_mode_seg ; COMBOOT image loading zone
-
-;
; At the very end, the lowmem heap
;
extern __lowmem_heap
--
2.13.3

View File

@@ -8,7 +8,7 @@ SYSLINUX_VERSION = 6.03
SYSLINUX_SOURCE = syslinux-$(SYSLINUX_VERSION).tar.xz
SYSLINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/boot/syslinux
SYSLINUX_LICENSE = GPLv2+
SYSLINUX_LICENSE = GPL-2.0+
SYSLINUX_LICENSE_FILES = COPYING
SYSLINUX_INSTALL_IMAGES = YES
@@ -55,7 +55,7 @@ define SYSLINUX_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE1) \
CC="$(TARGET_CC)" \
LD="$(TARGET_LD)" \
NASM="$(HOST_DIR)/usr/bin/nasm" \
NASM="$(HOST_DIR)/bin/nasm" \
CC_FOR_BUILD="$(HOSTCC)" \
CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \
@@ -78,7 +78,7 @@ endef
# However, buildroot makes no usage of it, so better delete it than have it
# installed at the wrong place
define SYSLINUX_POST_INSTALL_CLEANUP
rm -rf $(HOST_DIR)/usr/bin/syslinux
rm -rf $(HOST_DIR)/bin/syslinux
endef
SYSLINUX_POST_INSTALL_TARGET_HOOKS += SYSLINUX_POST_INSTALL_CLEANUP
@@ -97,7 +97,7 @@ define SYSLINUX_INSTALL_IMAGES_CMDS
$(INSTALL) -D -m 0755 $(@D)/$$i $(BINARIES_DIR)/syslinux/$${i##*/}; \
done
for i in $(SYSLINUX_C32); do \
$(INSTALL) -D -m 0755 $(HOST_DIR)/usr/share/syslinux/$${i} \
$(INSTALL) -D -m 0755 $(HOST_DIR)/share/syslinux/$${i} \
$(BINARIES_DIR)/syslinux/$${i}; \
done
endef

View File

@@ -6,7 +6,7 @@
TS4800_MBRBOOT_VERSION = cf8f7072ed5a4a4e48fcb9841b2e31e519ec5dca
TS4800_MBRBOOT_SITE = $(call github,embeddedarm,ts4800-mbrboot,$(TS4800_MBRBOOT_VERSION))
TS4800_MBRBOOT_LICENSE = BSD-2c
TS4800_MBRBOOT_LICENSE = BSD-2-Clause
TS4800_MBRBOOT_LICENSE_FILES = LICENSE
TS4800_MBRBOOT_INSTALL_IMAGES = YES

View File

@@ -38,7 +38,7 @@ choice
Select the specific U-Boot version you want to use
config BR2_TARGET_UBOOT_LATEST_VERSION
bool "2017.01"
bool "2018.01"
config BR2_TARGET_UBOOT_CUSTOM_VERSION
bool "Custom version"
@@ -86,7 +86,7 @@ endif
config BR2_TARGET_UBOOT_VERSION
string
default "2017.01" if BR2_TARGET_UBOOT_LATEST_VERSION
default "2018.01" 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
@@ -129,6 +129,12 @@ config BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE
depends on BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG
help
Path to the U-Boot configuration file.
config BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES
string "Additional configuration fragment files"
help
A space-separated list of configuration fragment files,
that will be merged to the main U-Boot configuration file.
endif
config BR2_TARGET_UBOOT_NEEDS_DTC
@@ -138,6 +144,12 @@ config BR2_TARGET_UBOOT_NEEDS_DTC
Select this option if your U-Boot board configuration
requires the Device Tree compiler to be available.
config BR2_TARGET_UBOOT_NEEDS_PYLIBFDT
bool "U-Boot needs pylibfdt"
help
Select this option if your U-Boot board configuration
requires the Python libfdt library to be available.
config BR2_TARGET_UBOOT_NEEDS_OPENSSL
bool "U-Boot needs OpenSSL"
help
@@ -146,6 +158,18 @@ config BR2_TARGET_UBOOT_NEEDS_OPENSSL
typically the case when the board configuration has
CONFIG_FIT_SIGNATURE enabled.
config BR2_TARGET_UBOOT_NEEDS_ATF_BL31
bool "U-Boot needs ATF BL31"
depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE
depends on !BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
select BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31
help
Some specific platforms (such as Allwinner A64/H5)
encapsulate the BL31 part of ATF inside U-Boot. This option
makes sure ATF gets built prior to U-Boot, and that the BL31
variable pointing to ATF's BL31 binary, is passed during the
Buildroot build.
menu "U-Boot binary format"
config BR2_TARGET_UBOOT_FORMAT_AIS
@@ -159,6 +183,9 @@ config BR2_TARGET_UBOOT_FORMAT_BIN
bool "u-boot.bin"
default y
config BR2_TARGET_UBOOT_FORMAT_DTB_BIN
bool "u-boot-dtb.bin"
config BR2_TARGET_UBOOT_FORMAT_DTB_IMG
bool "u-boot-dtb.img"
@@ -319,13 +346,14 @@ config BR2_TARGET_UBOOT_SPL
into DDR.
config BR2_TARGET_UBOOT_SPL_NAME
string "U-Boot SPL binary image name"
string "U-Boot SPL/TPL binary image name(s)"
default "spl/u-boot-spl.bin"
depends on BR2_TARGET_UBOOT_SPL
help
A space-separated list of SPL binaries, generated during
u-boot build. For most platform it is spl/u-boot-spl.bin
but not always. It is MLO on OMAP for example.
A space-separated list of SPL/TPL binaries, generated during
u-boot build. For most platform SPL name is spl/u-boot-spl.bin
and TPL name is tpl/u-boot-tpl.bin but not always. SPL name is
MLO on OMAP and SPL on i.MX6 for example.
config BR2_TARGET_UBOOT_ZYNQ_IMAGE
bool "Generate image for Xilinx Zynq"
@@ -340,13 +368,29 @@ config BR2_TARGET_UBOOT_ZYNQ_IMAGE
to be set.
config BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC
bool "CRC SPL image for Altera SoC FPGA"
bool "CRC image for Altera SoC FPGA (mkpimage)"
depends on BR2_arm
depends on BR2_TARGET_UBOOT_SPL
depends on BR2_TARGET_UBOOT_SPL || BR2_TARGET_UBOOT_FORMAT_DTB_BIN
help
Generate SPL image fixed by the mkpimage tool to enable
Pass the U-Boot image through the mkpimage tool to enable
booting on the Altera SoC FPGA based platforms.
On some platforms, it's the SPL that needs to be passed
through mkpimage. On some other platforms there is no SPL
because the internal SRAM is big enough to store the full
U-Boot. In this case, it's directly the full U-Boot image
that is passed through mkpimage.
If BR2_TARGET_UBOOT_SPL is enabled then
BR2_TARGET_UBOOT_SPL_NAME is converted by mkpimage using
header version 0.
Otherwise the full u-boot-dtb.bin is converted using
mkpimage header version 1.
In either case the resulting file will be given a .crc
extension.
menuconfig BR2_TARGET_UBOOT_ENVIMAGE
bool "Environment image"
help
@@ -388,4 +432,34 @@ config BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT
endif # BR2_TARGET_UBOOT_ENVIMAGE
config BR2_TARGET_UBOOT_BOOT_SCRIPT
bool "Generate a U-Boot boot script"
help
Generate a U-Boot boot script, given a file listing U-Boot
commands to be executed at boot time. The generated boot
script will be called 'boot.scr'.
if BR2_TARGET_UBOOT_BOOT_SCRIPT
config BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE
string "U-Boot boot script source"
help
Source file to generate the U-Boot boot script.
endif
if BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
config BR2_TARGET_UBOOT_CUSTOM_DTS_PATH
string "Device Tree Source file paths"
help
Space-separated list of paths to device tree source files
that will be copied to arch/ARCH/dts/ before starting the
build.
To use this device tree source file, the U-Boot configuration
file must refer to it.
endif
endif # BR2_TARGET_UBOOT

View File

@@ -1,2 +1,2 @@
# Locally computed:
sha256 6c425175f93a4bcf2ec9faf5658ef279633dbd7856a293d95bd1ff516528ecf2 u-boot-2017.01.tar.bz2
sha256 938f597394b33e82e5af8c98bd5ea1a238f61892aabef36384adbf7ca5b52dda u-boot-2018.01.tar.bz2

View File

@@ -7,7 +7,7 @@
UBOOT_VERSION = $(call qstrip,$(BR2_TARGET_UBOOT_VERSION))
UBOOT_BOARD_NAME = $(call qstrip,$(BR2_TARGET_UBOOT_BOARDNAME))
UBOOT_LICENSE = GPLv2+
UBOOT_LICENSE = GPL-2.0+
UBOOT_LICENSE_FILES = Licenses/gpl-2.0.txt
UBOOT_INSTALL_IMAGES = YES
@@ -17,7 +17,6 @@ ifeq ($(UBOOT_VERSION),custom)
UBOOT_TARBALL = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION))
UBOOT_SITE = $(patsubst %/,%,$(dir $(UBOOT_TARBALL)))
UBOOT_SOURCE = $(notdir $(UBOOT_TARBALL))
BR_NO_CHECK_HASH_FOR += $(UBOOT_SOURCE)
else ifeq ($(BR2_TARGET_UBOOT_CUSTOM_GIT),y)
UBOOT_SITE = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_REPO_URL))
UBOOT_SITE_METHOD = git
@@ -31,9 +30,10 @@ else
# Handle stable official U-Boot versions
UBOOT_SITE = ftp://ftp.denx.de/pub/u-boot
UBOOT_SOURCE = u-boot-$(UBOOT_VERSION).tar.bz2
ifeq ($(BR2_TARGET_UBOOT_CUSTOM_VERSION),y)
BR_NO_CHECK_HASH_FOR += $(UBOOT_SOURCE)
endif
ifeq ($(BR2_TARGET_UBOOT)$(BR2_TARGET_UBOOT_LATEST_VERSION),y)
BR_NO_CHECK_HASH_FOR += $(UBOOT_SOURCE)
endif
ifeq ($(BR2_TARGET_UBOOT_FORMAT_BIN),y)
@@ -74,6 +74,11 @@ UBOOT_BINS += u-boot-dtb.img
UBOOT_MAKE_TARGET += u-boot-dtb.img
endif
ifeq ($(BR2_TARGET_UBOOT_FORMAT_DTB_BIN),y)
UBOOT_BINS += u-boot-dtb.bin
UBOOT_MAKE_TARGET += u-boot-dtb.bin
endif
ifeq ($(BR2_TARGET_UBOOT_FORMAT_IMG),y)
UBOOT_BINS += u-boot.img
UBOOT_MAKE_TARGET += u-boot.img
@@ -126,13 +131,22 @@ endif
UBOOT_MAKE_OPTS += \
CROSS_COMPILE="$(TARGET_CROSS)" \
ARCH=$(UBOOT_ARCH) \
HOSTCC="$(HOSTCC) $(HOST_CFLAGS)" \
HOSTCC="$(HOSTCC) $(subst -I/,-isystem /,$(subst -I /,-isystem /,$(HOST_CFLAGS)))" \
HOSTLDFLAGS="$(HOST_LDFLAGS)"
ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31),y)
UBOOT_DEPENDENCIES += arm-trusted-firmware
UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/bl31.bin
endif
ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y)
UBOOT_DEPENDENCIES += host-dtc
endif
ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYLIBFDT),y)
UBOOT_DEPENDENCIES += host-python host-swig
endif
ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPENSSL),y)
UBOOT_DEPENDENCIES += host-openssl
endif
@@ -148,6 +162,14 @@ endef
UBOOT_POST_EXTRACT_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
UBOOT_POST_RSYNC_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
define UBOOT_XTENSA_OVERLAY_EXTRACT
$(call arch-xtensa-overlay-extract,$(@D),u-boot)
endef
UBOOT_POST_EXTRACT_HOOKS += UBOOT_XTENSA_OVERLAY_EXTRACT
UBOOT_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL)
endif
# Analogous code exists in linux/linux.mk. Basically, the generic
# package infrastructure handles downloading and applying remote
# patches. Local patches are handled depending on whether they are
@@ -166,6 +188,18 @@ define UBOOT_APPLY_LOCAL_PATCHES
endef
UBOOT_POST_PATCH_HOOKS += UBOOT_APPLY_LOCAL_PATCHES
# This is equivalent to upstream commit
# http://git.denx.de/?p=u-boot.git;a=commitdiff;h=e0d20dc1521e74b82dbd69be53a048847798a90a. It
# fixes a build failure when libfdt-devel is installed system-wide.
# This only works when scripts/dtc/libfdt exists (E.G. versions containing
# http://git.denx.de/?p=u-boot.git;a=commitdiff;h=c0e032e0090d6541549b19cc47e06ccd1f302893)
define UBOOT_FIXUP_LIBFDT_INCLUDE
if [ -d $(@D)/scripts/dtc/libfdt ]; then \
$(SED) 's%-I$$(srctree)/lib/libfdt%-I$$(srctree)/scripts/dtc/libfdt%' $(@D)/tools/Makefile; \
fi
endef
UBOOT_POST_PATCH_HOOKS += UBOOT_FIXUP_LIBFDT_INCLUDE
ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY),y)
define UBOOT_CONFIGURE_CMDS
$(TARGET_CONFIGURE_OPTS) \
@@ -179,8 +213,17 @@ else ifeq ($(BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG),y)
UBOOT_KCONFIG_FILE = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE))
endif # BR2_TARGET_UBOOT_USE_DEFCONFIG
UBOOT_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES))
UBOOT_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig
UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS)
# UBOOT_MAKE_OPTS overrides HOSTCC / HOSTLDFLAGS to allow the build to
# find our host-openssl. However, this triggers a bug in the kconfig
# build script that causes it to build with /usr/include/ncurses.h
# (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=""
define UBOOT_HELP_CMDS
@echo ' uboot-menuconfig - Run U-Boot menuconfig'
@echo ' uboot-savedefconfig - Run U-Boot savedefconfig'
@@ -189,7 +232,12 @@ define UBOOT_HELP_CMDS
endef
endif # BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
UBOOT_CUSTOM_DTS_PATH = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_DTS_PATH))
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) \
$(UBOOT_MAKE_TARGET)
@@ -204,10 +252,22 @@ define UBOOT_BUILD_CMDS
endef
define UBOOT_BUILD_OMAP_IFT
$(HOST_DIR)/usr/bin/gpsign -f $(@D)/u-boot.bin \
$(HOST_DIR)/bin/gpsign -f $(@D)/u-boot.bin \
-c $(call qstrip,$(BR2_TARGET_UBOOT_OMAP_IFT_CONFIG))
endef
ifneq ($(BR2_TARGET_UBOOT_ENVIMAGE),)
define UBOOT_GENERATE_ENV_IMAGE
cat $(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)) \
>$(@D)/buildroot-env.txt
$(HOST_DIR)/bin/mkenvimage -s $(BR2_TARGET_UBOOT_ENVIMAGE_SIZE) \
$(if $(BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT),-r) \
$(if $(filter BIG,$(BR2_ENDIAN)),-b) \
-o $(BINARIES_DIR)/uboot-env.bin \
$(@D)/buildroot-env.txt
endef
endif
define UBOOT_INSTALL_IMAGES_CMDS
$(foreach f,$(UBOOT_BINS), \
cp -dpf $(@D)/$(f) $(BINARIES_DIR)/
@@ -219,12 +279,11 @@ define UBOOT_INSTALL_IMAGES_CMDS
cp -dpf $(@D)/$(f) $(BINARIES_DIR)/
)
)
$(if $(BR2_TARGET_UBOOT_ENVIMAGE),
cat $(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)) | \
$(HOST_DIR)/usr/bin/mkenvimage -s $(BR2_TARGET_UBOOT_ENVIMAGE_SIZE) \
$(if $(BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT),-r) \
$(if $(filter BIG,$(BR2_ENDIAN)),-b) \
-o $(BINARIES_DIR)/uboot-env.bin -)
$(UBOOT_GENERATE_ENV_IMAGE)
$(if $(BR2_TARGET_UBOOT_BOOT_SCRIPT),
$(HOST_DIR)/bin/mkimage -C none -A $(MKIMAGE_ARCH) -T script \
-d $(call qstrip,$(BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE)) \
$(BINARIES_DIR)/boot.scr)
endef
define UBOOT_INSTALL_OMAP_IFT_IMAGE
@@ -247,8 +306,8 @@ endif
ifeq ($(BR2_TARGET_UBOOT_ZYNQ_IMAGE),y)
define UBOOT_GENERATE_ZYNQ_IMAGE
$(HOST_DIR)/usr/bin/python2 \
$(HOST_DIR)/usr/bin/zynq-boot-bin.py \
$(HOST_DIR)/bin/python2 \
$(HOST_DIR)/bin/zynq-boot-bin.py \
-u $(@D)/$(firstword $(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME))) \
-o $(BINARIES_DIR)/BOOT.BIN
endef
@@ -257,9 +316,17 @@ UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_GENERATE_ZYNQ_IMAGE
endif
ifeq ($(BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC),y)
ifeq ($(BR2_TARGET_UBOOT_SPL),y)
UBOOT_CRC_ALTERA_SOCFPGA_INPUT_IMAGES = $(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME))
UBOOT_CRC_ALTERA_SOCFPGA_HEADER_VERSION = 0
else
UBOOT_CRC_ALTERA_SOCFPGA_INPUT_IMAGES = u-boot-dtb.bin
UBOOT_CRC_ALTERA_SOCFPGA_HEADER_VERSION = 1
endif
define UBOOT_CRC_ALTERA_SOCFPGA_IMAGE
$(foreach f,$(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME)), \
$(HOST_DIR)/usr/bin/mkpimage \
$(foreach f,$(UBOOT_CRC_ALTERA_SOCFPGA_INPUT_IMAGES), \
$(HOST_DIR)/bin/mkpimage \
-v $(UBOOT_CRC_ALTERA_SOCFPGA_HEADER_VERSION) \
-o $(BINARIES_DIR)/$(notdir $(call qstrip,$(f))).crc \
$(@D)/$(call qstrip,$(f))
)
@@ -280,6 +347,15 @@ endif
UBOOT_DEPENDENCIES += host-uboot-tools
endif
ifeq ($(BR2_TARGET_UBOOT_BOOT_SCRIPT),y)
ifeq ($(BR_BUILDING),y)
ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE)),)
$(error Please define a source file for Uboot boot script (BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE setting))
endif
endif
UBOOT_DEPENDENCIES += host-uboot-tools
endif
ifeq ($(BR2_TARGET_UBOOT)$(BR_BUILDING),yy)
#

View File

@@ -4,3 +4,5 @@ config BR2_TARGET_VEXPRESS_FIRMWARE
help
Versatile Express firmware from ARM, with Linaro mods last
change.
https://git.linaro.org/arm/vexpress-firmware.git

View File

@@ -5,6 +5,8 @@ config BR2_TARGET_XLOADER
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"

View File

@@ -8,7 +8,7 @@ XLOADER_VERSION = 6f3a26101303051e0f91b6213735b68ce804e94e
XLOADER_SITE = git://gitorious.org/x-loader/x-loader.git
XLOADER_BOARD_NAME = $(call qstrip,$(BR2_TARGET_XLOADER_BOARDNAME))
XLOADER_LICENSE = GPLv2+
XLOADER_LICENSE = GPL-2.0+
XLOADER_LICENSE_FILES = README
XLOADER_INSTALL_IMAGES = YES