[PATCH openbmc 5/6] create u-boot-fw-utils for our u-boot version
Andrew Jeffery
andrew at aj.id.au
Mon Jan 25 11:42:49 AEDT 2016
Hi Milton
On Wed, 2016-01-20 at 17:10 -0600, OpenBMC Patches wrote:
> From: "Milton D. Miller II" <miltonm at us.ibm.com>
>
> This commit creates a class and recipie based on the upstream 2015
> branch of u-boot and patches it with our fw_env.config.
>
> Having these tools for the initfs will allow us to modify the u-boot
> enviornment to do things like boot from network for update and set the
> bmc mac addresses in the environment for u-boot and use by the kernel.
>
> Unfornately its broken in that it produces a host binary instead of
> a target binary when building the base package. I have not been able
> to resolve this despite several attempts.
Not sure what you tried, but maybe a hacky approach is to work around
the u-boot build system and set HOSTCC=$CC in the .bb? Would this have
any negative interactions with BBCLASSEXTEND="cross native"?
> ---
> .../u-boot/u-boot-fw-utils_2013.07%.bbappend | 13 ++++++
> .../recipes-bsp/u-boot/u-boot-fw-utils_2013.07.bb | 52 ++++++++++++++++++++++
> 2 files changed, 65 insertions(+)
> create mode 100644 meta-openbmc-bsp/meta-aspeed/meta-ast2400/recipes-bsp/u-boot/u-boot-fw-utils_2013.07%.bbappend
> create mode 100644 meta-phosphor/common/recipes-bsp/u-boot/u-boot-fw-utils_2013.07.bb
>
> diff --git a/meta-openbmc-bsp/meta-aspeed/meta-ast2400/recipes-bsp/u-boot/u-boot-fw-utils_2013.07%.bbappend b/meta-openbmc-bsp/meta-aspeed/meta-ast2400/recipes-bsp/u-boot/u-boot-fw-utils_2013.07%.bbappend
> new file mode 100644
> index 0000000..4020696
> --- /dev/null
> +++ b/meta-openbmc-bsp/meta-aspeed/meta-ast2400/recipes-bsp/u-boot/u-boot-fw-utils_2013.07%.bbappend
> @@ -0,0 +1,13 @@
> +FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
> +
> +SRC_URI += "file://fw_env.config"
> +SRC_URI += "file://config.patch"
> +
> +do_install_append() {
> + if [ -e ${WORKDIR}/fw_env.config ] ; then
> + install -d ${D}${sysconfdir}
> + install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
> + fi
> +}
> +
> +BBCLASSEXTEND += "native"
> diff --git a/meta-phosphor/common/recipes-bsp/u-boot/u-boot-fw-utils_2013.07.bb b/meta-phosphor/common/recipes-bsp/u-boot/u-boot-fw-utils_2013.07.bb
> new file mode 100644
> index 0000000..6f72945
> --- /dev/null
> +++ b/meta-phosphor/common/recipes-bsp/u-boot/u-boot-fw-utils_2013.07.bb
> @@ -0,0 +1,52 @@
> +SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
> +SECTION = "bootloader"
> +DEPENDS = "mtd-utils"
> +
> +LICENSE = "GPLv2+"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb \
> + file://README;beginline=1;endline=22;md5=78b195c11cb6ef63e6985140db7d7bab"
> +
> +# This revision corresponds to the tag "v2013.07"
> +# We use the revision in order to avoid having to fetch it from the
> +# repo during parse
> +# SRCREV = "62c175fbb8a0f9a926c88294ea9f7e88eb898f6c"
> +SRCREV="${AUTOREV}"
> +
> +PV = "v2013.07+git${SRCPV}"
> +
> +UBRANCH = "v2013.07-aspeed-openbmc"
> +SRC_URI = "git://git@github.com/openbmc/u-boot.git;branch=${UBRANCH};protocol=https"
> +S = "${WORKDIR}/git"
> +
> +INSANE_SKIP_${PN} = "already-stripped"
> +EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
> +EXTRA_OEMAKE_class-cross = 'ARCH=${TARGET_ARCH} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
> +
> +inherit uboot-config
> +
> +do_compile () {
> +> > oe_runmake ${UBOOT_MACHINE}
> +> > oe_runmake env
> +}
> +
> +do_install () {
> +> > install -d ${D}${base_sbindir}
> +> > install -d ${D}${sysconfdir}
> +> > install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
> +> > install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
> +> > install -m 0644 ${S}/tools/env/fw_env.config ${D}${sysconfdir}/fw_env.config
> +}
> +
> +do_install_class-cross () {
> +> > install -d ${D}${bindir_cross}
> +> > install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv
> +> > install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_setenv
> +}
> +
> +SYSROOT_PREPROCESS_FUNCS_class-cross = "uboot_fw_utils_cross"
> +uboot_fw_utils_cross() {
> +> > sysroot_stage_dir ${D}${bindir_cross} ${SYSROOT_DESTDIR}${bindir_cross}
> +}
> +
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +BBCLASSEXTEND = "cross native"
More information about the openbmc
mailing list