[OE-core] [pull-oe-uboot 1/2] u-boot: remove UBOOT_MACHINE and COMPATIBLE_MACHINES

Jason Kridner jkridner at beagleboard.org
Thu May 26 07:47:35 UTC 2011


I think this is a good change. One comment below...

On May 26, 2011, at 12:02 AM, Darren Hart <dvhart at linux.intel.com> wrote:

> oe-core does not define any machines, so it does not make sense to
> add machine specific information in the oe-core u-boot recipe and
> infrastructure. Also note that COMPATIBLE_MACHINES is not easily extended due to
> its regex syntax: "(machine_a|machine_b)", making it difficult to extend the
> u-boot recipe in bbappend files without resorting to machine specific overrides.
> 
> Remove COMPATIBLE_MACHINES and the default UBOOT_MACHINE from the recipe and
> insert some anonymous python into u-boot.inc to raise SkipPackage if
> UBOOT_MACHINE is not set (this ensures 'world' still works for machines that
> can't build u-boot).
> 
> UBOOT_MACHINE must now be specified in each machine config that requires u-boot.
> This is an improvement over requiring machine specific overrides in every BSP
> layer's u-boot_git.bbappend file. For example, a beagleboard machine config
> currently contains:
> 
> UBOOT_ENTRYPOINT = "0x80008000"
> UBOOT_LOADADDRESS = "0x80008000"
> 
> With this change, it must now contain:
> 
> UBOOT_MACHINE = "omap3_beagle_config"
> UBOOT_ENTRYPOINT = "0x80008000"
> UBOOT_LOADADDRESS = "0x80008000"
> 
> So long as the SRC_URI in the base recipe can build a working u-boot for a given
> machine, there is no need to create a u-boot_git.bbappend file. If additional
> patches are deemed necessary, a BSP layer creates a u-boot_git.bbappend file and
> extends the SRC_URI to include general or machine specific backports.
> 
> Signed-off-by: Darren Hart <dvhart at linux.intel.com>
> Cc: Richard Purdie <richard.purdie at linuxfoundation.org>
> Cc: Koen Kooi <koen at dominion.thruhere.net>
> Cc: Jason Kridner <jkridner at beagleboard.org>
> ---
> meta/recipes-bsp/uboot/u-boot.inc    |    8 +++++++-
> meta/recipes-bsp/uboot/u-boot_git.bb |   11 ++++++-----
> 2 files changed, 13 insertions(+), 6 deletions(-)
> 
> diff --git a/meta/recipes-bsp/uboot/u-boot.inc b/meta/recipes-bsp/uboot/u-boot.inc
> index 058e3ba..a54cf24 100644
> --- a/meta/recipes-bsp/uboot/u-boot.inc
> +++ b/meta/recipes-bsp/uboot/u-boot.inc
> @@ -11,7 +11,13 @@ PARALLEL_MAKE=""
> # GCC 4.5.1 builds unusable binaries using -Os, remove it from OPTFLAGS
> EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} OPTFLAGS='-O2'"
> 
> -UBOOT_MACHINE ?= "${MACHINE}_config"
> +python () {
> +    if not bb.data.getVar('UBOOT_MACHINE', d, 1):
> +        bb.debug("To build %s, see u-boot_git.bb for instructions on \

If this file was renamed, don't you also want to update this printout?

> +              setting up your machine config" % pn)
> +        raise bb.parse.SkipPackage("because UBOOT_MACHINE is not set")
> +}
> +
> UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.bin"
> UBOOT_SYMLINK ?= "u-boot-${MACHINE}.bin"
> UBOOT_MAKE_TARGET ?= "all"
> diff --git a/meta/recipes-bsp/uboot/u-boot_git.bb b/meta/recipes-bsp/uboot/u-boot_git.bb
> index 4c8f5df..0fbb9ba 100644
> --- a/meta/recipes-bsp/uboot/u-boot_git.bb
> +++ b/meta/recipes-bsp/uboot/u-boot_git.bb
> @@ -1,5 +1,11 @@
> require u-boot.inc
> 
> +# To build u-boot for your machine, provide the following lines in your machine
> +# config, replacing the assignments as appropriate for your machine.
> +# UBOOT_MACHINE = "omap3_beagle_config"
> +# UBOOT_ENTRYPOINT = "0x80008000"
> +# UBOOT_LOADADDRESS = "0x80008000"
> +
> LICENSE = "GPLv2+"
> LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb \
>                     file://README;beginline=1;endline=22;md5=3a00ef51d3fc96e9d6c1bc4708ccd3b5"
> @@ -12,11 +18,6 @@ PR="r3"
> 
> SRC_URI = "git://git.denx.de/u-boot.git;branch=master;protocol=git"
> 
> -UBOOT_MACHINE_beagleboard = "omap3_beagle_config"
> -UBOOT_MACHINE_overo = "omap3_overo_config"
> -
> S = "${WORKDIR}/git"
> 
> PACKAGE_ARCH = "${MACHINE_ARCH}"
> -
> -COMPATIBLE_MACHINE = "(beagleboard|overo)"
> -- 
> 1.7.1
> 




More information about the Openembedded-core mailing list