[3rdparty,V3,master] u-boot-toradex-fw-utils: add new recipe

Submitted by Ming Liu on Nov. 20, 2018, 1:36 p.m. | Patch ID: 156429

Details

Message ID 1542721001-30066-1-git-send-email-liu.ming50@gmail.com
State New
Headers show

Commit Message

Ming Liu Nov. 20, 2018, 1:36 p.m.
From: Ming Liu <liu.ming50@gmail.com>

I observed a following build issue:
| ***
| *** Can't find default configuration "arch/../configs/colibri_imx7_emmc_defconfig"!
| ***
| scripts/kconfig/Makefile:128: recipe for target 'colibri_imx7_emmc_defconfig' failed

it's due to the colibri_imx7_emmc_defconfig does not exist in the
source, because u-boot-toradex and u-boot-fw-utils are not built from
same source. so the toradex machine specific uboot configs do not
present in the default u-boot-fw-utils source.

To fix it, a new u-boot-toradex-fw-utils recipe is added, it uses the
same source with u-boot-toradex, some common code is split out to
u-boot-toradex.inc, to be shared by both u-boot-toradex and
u-boot-toradex-fw-utils.

And we need set PREFERRED_PROVIDER and PREFERRED_RPROVIDER in machine
configs to u-boot-toradex-fw-utils.

Some files derive from u-boot-toradex-fw-utils recipe of:
git://git.toradex.com/meta-toradex-nxp.git

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
---
 conf/machine/apalis-imx6.conf                      |  3 ++
 conf/machine/colibri-imx6.conf                     |  3 ++
 conf/machine/colibri-imx6ull.conf                  |  3 ++
 conf/machine/colibri-imx7.conf                     |  2 +
 conf/machine/colibri-vf.conf                       |  2 +
 ...ross-compiling-tools-when-HOSTCC-is-overr.patch | 54 ++++++++++++++++++++++
 .../colibri-imx6ull/fw_env.config                  | 10 ++++
 .../colibri-imx7/fw_env.config                     | 10 ++++
 .../u-boot/u-boot-toradex-fw-utils/fw_env.config   | 22 +++++++++
 .../u-boot-toradex-fw-utils/mx6/fw_env.config      | 17 +++++++
 .../u-boot-toradex-fw-utils/vf/fw_env.config       | 10 ++++
 .../u-boot/u-boot-toradex-fw-utils_2016.11.bb      | 42 +++++++++++++++++
 recipes-bsp/u-boot/u-boot-toradex.inc              | 21 ---------
 recipes-bsp/u-boot/u-boot-toradex_2016.11.bb       | 10 ++--
 recipes-bsp/u-boot/u-boot-toradex_2016.11.inc      | 20 ++++++++
 15 files changed, 203 insertions(+), 26 deletions(-)
 create mode 100644 recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch
 create mode 100644 recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config
 create mode 100644 recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config
 create mode 100644 recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config
 create mode 100644 recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config
 create mode 100644 recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config
 create mode 100644 recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb
 delete mode 100644 recipes-bsp/u-boot/u-boot-toradex.inc
 create mode 100644 recipes-bsp/u-boot/u-boot-toradex_2016.11.inc

Patch hide | download patch | download mbox

diff --git a/conf/machine/apalis-imx6.conf b/conf/machine/apalis-imx6.conf
index 47a9d87..a9b9af0 100644
--- a/conf/machine/apalis-imx6.conf
+++ b/conf/machine/apalis-imx6.conf
@@ -20,6 +20,9 @@  RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
 
 PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"
 PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"
+PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
+PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
+
 SPL_BINARY = "SPL"
 # The SPL configures the DDR RAM depending on the module it runs on. Thus there
 # is no need to distingush between the different module types.
diff --git a/conf/machine/colibri-imx6.conf b/conf/machine/colibri-imx6.conf
index d3c2d00..0c6d7cc 100644
--- a/conf/machine/colibri-imx6.conf
+++ b/conf/machine/colibri-imx6.conf
@@ -20,6 +20,9 @@  RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
 
 PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"
 PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"
+PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
+PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
+
 SPL_BINARY = "SPL"
 UBOOT_CONFIG ??= "spl"
 UBOOT_CONFIG[spl] = "colibri_imx6_defconfig,,u-boot.img"
diff --git a/conf/machine/colibri-imx6ull.conf b/conf/machine/colibri-imx6ull.conf
index 748a12b..a70dd42 100644
--- a/conf/machine/colibri-imx6ull.conf
+++ b/conf/machine/colibri-imx6ull.conf
@@ -17,6 +17,9 @@  RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
 
 PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"
 PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"
+PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
+PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
+
 UBOOT_BINARY = "u-boot-nand.imx"
 UBOOT_MAKE_TARGET = "u-boot-nand.imx"
 UBOOT_MACHINE ?= "colibri-imx6ull_defconfig"
diff --git a/conf/machine/colibri-imx7.conf b/conf/machine/colibri-imx7.conf
index 51048e4..2ad296b 100644
--- a/conf/machine/colibri-imx7.conf
+++ b/conf/machine/colibri-imx7.conf
@@ -20,6 +20,8 @@  RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
 
 PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"
 PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"
+PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
+PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
 
 # U-Boot NAND binary includes 0x400 padding required for NAND boot
 UBOOT_BINARY = "u-boot-nand.imx"
diff --git a/conf/machine/colibri-vf.conf b/conf/machine/colibri-vf.conf
index 2f7a5d8..a03853d 100644
--- a/conf/machine/colibri-vf.conf
+++ b/conf/machine/colibri-vf.conf
@@ -20,6 +20,8 @@  RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
 
 PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"
 PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"
+PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
+PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
 PREFERRED_PROVIDER_virtual/kernel-module-mcc ?= "kernel-module-mcc-toradex"
 PREFERRED_PROVIDER_virtual/kernel-module-mcc-dev ?= "kernel-module-mcc-toradex"
 PREFERRED_VERSION_mqxboot ?= "1.%"
diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch
new file mode 100644
index 0000000..2c087e8
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch
@@ -0,0 +1,54 @@ 
+From 3b0825296aeba69c2cbfd3e179db2e9cbe5e70d7 Mon Sep 17 00:00:00 2001
+From: Masahiro Yamada <yamada.masahiro@socionext.com>
+Date: Mon, 13 Mar 2017 17:43:16 +0900
+Subject: [PATCH] tools: fix cross-compiling tools when HOSTCC is overridden
+
+Upstream-Status: Backport
+
+Richard reported U-Boot tools issues in OpenEmbedded/Yocto project.
+
+OE needs to be able to change the default compiler. If we pass in
+HOSTCC through the make command, it overwrites all HOSTCC instances,
+including ones in tools/Makefile and tools/env/Makefile, which breaks
+"make cross_tools" and "make env", respectively.
+
+Add "override" directives to avoid overriding HOSTCC instances that
+really need to point to the cross-compiler.
+
+Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
+Reported-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+Reviewed-by: Simon Glass <sjg@chromium.org>
+---
+ tools/Makefile     | 2 +-
+ tools/env/Makefile | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tools/Makefile b/tools/Makefile
+index 1c840d7..a894b5c 100644
+--- a/tools/Makefile
++++ b/tools/Makefile
+@@ -262,7 +262,7 @@ $(LOGO_DATA_H):	$(obj)/bmp_logo $(LOGO_BMP)
+ subdir- += env
+ 
+ ifneq ($(CROSS_BUILD_TOOLS),)
+-HOSTCC = $(CC)
++override HOSTCC = $(CC)
+ 
+ quiet_cmd_crosstools_strip = STRIP   $^
+       cmd_crosstools_strip = $(STRIP) $^; touch $@
+diff --git a/tools/env/Makefile b/tools/env/Makefile
+index 38ad118..95b28c0 100644
+--- a/tools/env/Makefile
++++ b/tools/env/Makefile
+@@ -8,7 +8,7 @@
+ # fw_printenv is supposed to run on the target system, which means it should be
+ # built with cross tools. Although it may look weird, we only replace "HOSTCC"
+ # with "CC" here for the maximum code reuse of scripts/Makefile.host.
+-HOSTCC = $(CC)
++override HOSTCC = $(CC)
+ 
+ # Compile for a hosted environment on the target
+ HOST_EXTRACFLAGS  = $(patsubst -I%,-idirafter%, $(filter -I%, $(UBOOTINCLUDE))) \
+-- 
+2.7.4
+
diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config
new file mode 100644
index 0000000..930bcee
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config
@@ -0,0 +1,10 @@ 
+# Configuration file for fw_(printenv/setenv) utility.
+# Up to two entries are valid, in this case the redundant
+# environment sector is assumed present.
+# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash.
+# Futhermore, if the Flash sector size is ommitted, this value is assumed to
+# be the same as the Environment size, which is valid for NOR and SPI-dataflash
+
+# MTD device name	Device offset	Env. size	Flash sector size	Number of sectors
+# Colibri iMX6ULL
+/dev/mtd3		0x00000000	0x00020000	0x20000			4
diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config
new file mode 100644
index 0000000..b59116d
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config
@@ -0,0 +1,10 @@ 
+# Configuration file for fw_(printenv/setenv) utility.
+# Up to two entries are valid, in this case the redundant
+# environment sector is assumed present.
+# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash.
+# Futhermore, if the Flash sector size is ommitted, this value is assumed to
+# be the same as the Environment size, which is valid for NOR and SPI-dataflash
+
+# MTD device name	Device offset	Env. size	Flash sector size	Number of sectors
+# Colibri iMX7
+/dev/mtd3		0x00000000	0x00020000	0x20000			4
diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config
new file mode 100644
index 0000000..e054ccb
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config
@@ -0,0 +1,22 @@ 
+# Configuration file for fw_(printenv/setenv) utility.
+# Up to two entries are valid, in this case the redundant
+# environment sector is assumed present.
+# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash.
+# Futhermore, if the Flash sector size is ommitted, this value is assumed to
+# be the same as the Environment size, which is valid for NOR and SPI-dataflash
+
+# NOR example
+# MTD device name	Device offset	Env. size	Flash sector size	Number of sectors
+#/dev/mtd1		0x0000		0x4000		0x4000
+#/dev/mtd2		0x0000		0x4000		0x4000
+
+# MTD SPI-dataflash example
+# MTD device name	Device offset	Env. size	Flash sector size	Number of sectors
+#/dev/mtd5		0x4200		0x4200
+#/dev/mtd6		0x4200		0x4200
+
+# NAND example
+#/dev/mtd0		0x4000		0x4000		0x20000			2
+
+# Block device example
+#/dev/mmcblk0		0xc0000		0x20000
diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config
new file mode 100644
index 0000000..a9e724e
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config
@@ -0,0 +1,17 @@ 
+# Configuration file for fw_(printenv/setenv) utility.
+# Up to two entries are valid, in this case the redundant
+# environment sector is assumed present.
+# Device offset must be prefixed with 0x to be parsed as a hexadecimal value.
+# On a block device a negative offset is treated as a backwards offset from the
+# end of the device/partition, rather than a forwards offset from the start.
+
+# Colibri iMX6/Apalis iMX6
+# U-Boot environment is stored at the end of the first eMMC boot partition
+# hence use a negative value. The environment is just in front of the config
+# block which occupies the last sector (hence -0x200)
+# Note that /dev/mmcblk0boot0 by default is read only
+# To use fw_setenv you have to first make it writeable, on the cmdline e.g. by
+# $ echo 0 > /sys/block/mmcblk0boot0/force_ro
+
+# Block device name	Device offset	Env. size
+/dev/mmcblk0boot0	-0x2200		0x2000
diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config
new file mode 100644
index 0000000..51f09d1
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config
@@ -0,0 +1,10 @@ 
+# Configuration file for fw_(printenv/setenv) utility.
+# Up to two entries are valid, in this case the redundant
+# environment sector is assumed present.
+# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash.
+# Futhermore, if the Flash sector size is ommitted, this value is assumed to
+# be the same as the Environment size, which is valid for NOR and SPI-dataflash
+
+# MTD device name	Device offset	Env. size	Flash sector size	Number of sectors
+# Colibri VF61
+/dev/mtd2		0x00000000	0x00020000	0x20000			4
diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb b/recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb
new file mode 100644
index 0000000..727c0a8
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb
@@ -0,0 +1,42 @@ 
+require recipes-bsp/u-boot/u-boot-toradex_${PV}.inc
+
+SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
+
+SRC_URI += "file://0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch \
+            file://fw_env.config \
+"
+
+DEPENDS += "mtd-utils"
+
+INSANE_SKIP_${PN} = "already-stripped"
+EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_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 ${WORKDIR}/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_DIRS_append_class-cross = " ${bindir_cross}"
+
+PROVIDES += "u-boot-fw-utils"
+RPROVIDES_${PN} += "u-boot-fw-utils"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+BBCLASSEXTEND = "cross"
diff --git a/recipes-bsp/u-boot/u-boot-toradex.inc b/recipes-bsp/u-boot/u-boot-toradex.inc
deleted file mode 100644
index 67e9976..0000000
--- a/recipes-bsp/u-boot/u-boot-toradex.inc
+++ /dev/null
@@ -1,21 +0,0 @@ 
-# Copyright (C) 2015 Toradex AG
-# Based on u-boot-fslc.inc Copyright (C) 2012-2014 O.S. Systems Software LTDA
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-require recipes-bsp/u-boot/u-boot.inc
-
-inherit fsl-u-boot-localversion
-
-SUMMARY = "U-Boot bootloader with support for Toradex Computer on Modules"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
-
-PROVIDES += "u-boot"
-
-SRC_URI = "git://git.toradex.com/u-boot-toradex.git;branch=${SRCBRANCH}"
-
-S = "${WORKDIR}/git"
-
-inherit dtc-145
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb b/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb
index f54eeaa..e409131 100644
--- a/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb
+++ b/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb
@@ -1,8 +1,8 @@ 
-require recipes-bsp/u-boot/u-boot-toradex.inc
+require recipes-bsp/u-boot/u-boot.inc
+require recipes-bsp/u-boot/u-boot-toradex_${PV}.inc
 
 LOCALVERSION = "-2.8.3"
-PV_append = "+git${SRCPV}"
 
-SRCREV = "aca804c9ddadbf34a8ff82779e5598ec5e319f23"
-SRCBRANCH = "2016.11-toradex"
-COMPATIBLE_MACHINE = "(mx6|mx7|vf|use-mainline-bsp)"
+PROVIDES += "u-boot"
+
+inherit fsl-u-boot-localversion dtc-145
diff --git a/recipes-bsp/u-boot/u-boot-toradex_2016.11.inc b/recipes-bsp/u-boot/u-boot-toradex_2016.11.inc
new file mode 100644
index 0000000..dd8c921
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-toradex_2016.11.inc
@@ -0,0 +1,20 @@ 
+# Copyright (C) 2015 Toradex AG
+# Based on u-boot-fslc.inc Copyright (C) 2012-2014 O.S. Systems Software LTDA
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "U-Boot bootloader with support for Toradex Computer on Modules"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
+
+SRC_URI = "git://git.toradex.com/u-boot-toradex.git;branch=${SRCBRANCH}"
+
+SRCREV ?= "aca804c9ddadbf34a8ff82779e5598ec5e319f23"
+SRCBRANCH ?= "2016.11-toradex"
+
+S = "${WORKDIR}/git"
+
+PV = "2016.11+git${SRCPV}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+COMPATIBLE_MACHINE = "(mx6|mx7|vf|use-mainline-bsp)"

Comments

Ming Liu Nov. 20, 2018, 1:40 p.m.
Changes in V3:

1 Dropped 'v' from PV.

some test results:

with this change, the end users might encounter a QA issue as follows:
```
ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0
do_packagedata: QA Issue: Package version for package
u-boot-toradex-fw-utils-dbg went backwards which would break package feeds
from (0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0)
[version-going-backwards]
ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0
do_packagedata: QA Issue: Package version for package
u-boot-toradex-fw-utils-staticdev went backwards which would break package
feeds from (0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0)
[version-going-backwards]
ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0
do_packagedata: QA Issue: Package version for package
u-boot-toradex-fw-utils-dev went backwards which would break package feeds
from (0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0)
[version-going-backwards]
ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0
do_packagedata: QA Issue: Package version for package
u-boot-toradex-fw-utils-doc went backwards which would break package feeds
from (0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0)
[version-going-backwards]
ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0
do_packagedata: QA Issue: Package version for package
u-boot-toradex-fw-utils-locale went backwards which would break package
feeds from (0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0)
[version-going-backwards]
ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0
do_packagedata: QA Issue: Package version for package
u-boot-toradex-fw-utils went backwards which would break package feeds from
(0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0)
[version-going-backwards]
ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata: QA
Issue: Package version for package u-boot-toradex-dbg went backwards which
would break package feeds from (0:v2016.11+git0+f4db39ecb6-r0 to
0:2016.11+git0+f4db39ecb6-r0) [version-going-backwards]
ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata: QA
Issue: Package version for package u-boot-toradex-staticdev went backwards
which would break package feeds from (0:v2016.11+git0+f4db39ecb6-r0 to
0:2016.11+git0+f4db39ecb6-r0) [version-going-backwards]
ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata: QA
Issue: Package version for package u-boot-toradex-dev went backwards which
would break package feeds from (0:v2016.11+git0+f4db39ecb6-r0 to
0:2016.11+git0+f4db39ecb6-r0) [version-going-backwards]
ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata: QA
Issue: Package version for package u-boot-toradex-doc went backwards which
would break package feeds from (0:v2016.11+git0+f4db39ecb6-r0 to
0:2016.11+git0+f4db39ecb6-r0) [version-going-backwards]
ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata: QA
Issue: Package version for package u-boot-toradex-locale went backwards
which would break package feeds from (0:v2016.11+git0+f4db39ecb6-r0 to
0:2016.11+git0+f4db39ecb6-r0) [version-going-backwards]
ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata: QA
Issue: Package version for package u-boot-toradex went backwards which
would break package feeds from (0:v2016.11+git0+f4db39ecb6-r0 to
0:2016.11+git0+f4db39ecb6-r0) [version-going-backwards]
```

this is caused by the "vxxxx" is treated as a lager number than "2xxxx".

the best,
thank you





<liu.ming50@gmail.com> 於 2018年11月20日 週二 下午2:36寫道:

> From: Ming Liu <liu.ming50@gmail.com>
>
> I observed a following build issue:
> | ***
> | *** Can't find default configuration
> "arch/../configs/colibri_imx7_emmc_defconfig"!
> | ***
> | scripts/kconfig/Makefile:128: recipe for target
> 'colibri_imx7_emmc_defconfig' failed
>
> it's due to the colibri_imx7_emmc_defconfig does not exist in the
> source, because u-boot-toradex and u-boot-fw-utils are not built from
> same source. so the toradex machine specific uboot configs do not
> present in the default u-boot-fw-utils source.
>
> To fix it, a new u-boot-toradex-fw-utils recipe is added, it uses the
> same source with u-boot-toradex, some common code is split out to
> u-boot-toradex.inc, to be shared by both u-boot-toradex and
> u-boot-toradex-fw-utils.
>
> And we need set PREFERRED_PROVIDER and PREFERRED_RPROVIDER in machine
> configs to u-boot-toradex-fw-utils.
>
> Some files derive from u-boot-toradex-fw-utils recipe of:
> git://git.toradex.com/meta-toradex-nxp.git
>
> Signed-off-by: Ming Liu <liu.ming50@gmail.com>
> ---
>  conf/machine/apalis-imx6.conf                      |  3 ++
>  conf/machine/colibri-imx6.conf                     |  3 ++
>  conf/machine/colibri-imx6ull.conf                  |  3 ++
>  conf/machine/colibri-imx7.conf                     |  2 +
>  conf/machine/colibri-vf.conf                       |  2 +
>  ...ross-compiling-tools-when-HOSTCC-is-overr.patch | 54
> ++++++++++++++++++++++
>  .../colibri-imx6ull/fw_env.config                  | 10 ++++
>  .../colibri-imx7/fw_env.config                     | 10 ++++
>  .../u-boot/u-boot-toradex-fw-utils/fw_env.config   | 22 +++++++++
>  .../u-boot-toradex-fw-utils/mx6/fw_env.config      | 17 +++++++
>  .../u-boot-toradex-fw-utils/vf/fw_env.config       | 10 ++++
>  .../u-boot/u-boot-toradex-fw-utils_2016.11.bb      | 42 +++++++++++++++++
>  recipes-bsp/u-boot/u-boot-toradex.inc              | 21 ---------
>  recipes-bsp/u-boot/u-boot-toradex_2016.11.bb       | 10 ++--
>  recipes-bsp/u-boot/u-boot-toradex_2016.11.inc      | 20 ++++++++
>  15 files changed, 203 insertions(+), 26 deletions(-)
>  create mode 100644
> recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch
>  create mode 100644
> recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config
>  create mode 100644
> recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config
>  create mode 100644
> recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config
>  create mode 100644
> recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config
>  create mode 100644
> recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config
>  create mode 100644 recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb
>  delete mode 100644 recipes-bsp/u-boot/u-boot-toradex.inc
>  create mode 100644 recipes-bsp/u-boot/u-boot-toradex_2016.11.inc
>
> diff --git a/conf/machine/apalis-imx6.conf b/conf/machine/apalis-imx6.conf
> index 47a9d87..a9b9af0 100644
> --- a/conf/machine/apalis-imx6.conf
> +++ b/conf/machine/apalis-imx6.conf
> @@ -20,6 +20,9 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
>
>  PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"
>  PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"
> +PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> +PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> +
>  SPL_BINARY = "SPL"
>  # The SPL configures the DDR RAM depending on the module it runs on. Thus
> there
>  # is no need to distingush between the different module types.
> diff --git a/conf/machine/colibri-imx6.conf
> b/conf/machine/colibri-imx6.conf
> index d3c2d00..0c6d7cc 100644
> --- a/conf/machine/colibri-imx6.conf
> +++ b/conf/machine/colibri-imx6.conf
> @@ -20,6 +20,9 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
>
>  PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"
>  PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"
> +PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> +PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> +
>  SPL_BINARY = "SPL"
>  UBOOT_CONFIG ??= "spl"
>  UBOOT_CONFIG[spl] = "colibri_imx6_defconfig,,u-boot.img"
> diff --git a/conf/machine/colibri-imx6ull.conf
> b/conf/machine/colibri-imx6ull.conf
> index 748a12b..a70dd42 100644
> --- a/conf/machine/colibri-imx6ull.conf
> +++ b/conf/machine/colibri-imx6ull.conf
> @@ -17,6 +17,9 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
>
>  PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"
>  PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"
> +PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> +PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> +
>  UBOOT_BINARY = "u-boot-nand.imx"
>  UBOOT_MAKE_TARGET = "u-boot-nand.imx"
>  UBOOT_MACHINE ?= "colibri-imx6ull_defconfig"
> diff --git a/conf/machine/colibri-imx7.conf
> b/conf/machine/colibri-imx7.conf
> index 51048e4..2ad296b 100644
> --- a/conf/machine/colibri-imx7.conf
> +++ b/conf/machine/colibri-imx7.conf
> @@ -20,6 +20,8 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
>
>  PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"
>  PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"
> +PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> +PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
>
>  # U-Boot NAND binary includes 0x400 padding required for NAND boot
>  UBOOT_BINARY = "u-boot-nand.imx"
> diff --git a/conf/machine/colibri-vf.conf b/conf/machine/colibri-vf.conf
> index 2f7a5d8..a03853d 100644
> --- a/conf/machine/colibri-vf.conf
> +++ b/conf/machine/colibri-vf.conf
> @@ -20,6 +20,8 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
>
>  PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"
>  PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"
> +PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> +PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
>  PREFERRED_PROVIDER_virtual/kernel-module-mcc ?=
> "kernel-module-mcc-toradex"
>  PREFERRED_PROVIDER_virtual/kernel-module-mcc-dev ?=
> "kernel-module-mcc-toradex"
>  PREFERRED_VERSION_mqxboot ?= "1.%"
> diff --git
> a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch
> new file mode 100644
> index 0000000..2c087e8
> --- /dev/null
> +++
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch
> @@ -0,0 +1,54 @@
> +From 3b0825296aeba69c2cbfd3e179db2e9cbe5e70d7 Mon Sep 17 00:00:00 2001
> +From: Masahiro Yamada <yamada.masahiro@socionext.com>
> +Date: Mon, 13 Mar 2017 17:43:16 +0900
> +Subject: [PATCH] tools: fix cross-compiling tools when HOSTCC is
> overridden
> +
> +Upstream-Status: Backport
> +
> +Richard reported U-Boot tools issues in OpenEmbedded/Yocto project.
> +
> +OE needs to be able to change the default compiler. If we pass in
> +HOSTCC through the make command, it overwrites all HOSTCC instances,
> +including ones in tools/Makefile and tools/env/Makefile, which breaks
> +"make cross_tools" and "make env", respectively.
> +
> +Add "override" directives to avoid overriding HOSTCC instances that
> +really need to point to the cross-compiler.
> +
> +Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> +Reported-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> +Reviewed-by: Simon Glass <sjg@chromium.org>
> +---
> + tools/Makefile     | 2 +-
> + tools/env/Makefile | 2 +-
> + 2 files changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/tools/Makefile b/tools/Makefile
> +index 1c840d7..a894b5c 100644
> +--- a/tools/Makefile
> ++++ b/tools/Makefile
> +@@ -262,7 +262,7 @@ $(LOGO_DATA_H):    $(obj)/bmp_logo $(LOGO_BMP)
> + subdir- += env
> +
> + ifneq ($(CROSS_BUILD_TOOLS),)
> +-HOSTCC = $(CC)
> ++override HOSTCC = $(CC)
> +
> + quiet_cmd_crosstools_strip = STRIP   $^
> +       cmd_crosstools_strip = $(STRIP) $^; touch $@
> +diff --git a/tools/env/Makefile b/tools/env/Makefile
> +index 38ad118..95b28c0 100644
> +--- a/tools/env/Makefile
> ++++ b/tools/env/Makefile
> +@@ -8,7 +8,7 @@
> + # fw_printenv is supposed to run on the target system, which means it
> should be
> + # built with cross tools. Although it may look weird, we only replace
> "HOSTCC"
> + # with "CC" here for the maximum code reuse of scripts/Makefile.host.
> +-HOSTCC = $(CC)
> ++override HOSTCC = $(CC)
> +
> + # Compile for a hosted environment on the target
> + HOST_EXTRACFLAGS  = $(patsubst -I%,-idirafter%, $(filter -I%,
> $(UBOOTINCLUDE))) \
> +--
> +2.7.4
> +
> diff --git
> a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config
> new file mode 100644
> index 0000000..930bcee
> --- /dev/null
> +++
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config
> @@ -0,0 +1,10 @@
> +# Configuration file for fw_(printenv/setenv) utility.
> +# Up to two entries are valid, in this case the redundant
> +# environment sector is assumed present.
> +# Notice, that the "Number of sectors" is not required on NOR and
> SPI-dataflash.
> +# Futhermore, if the Flash sector size is ommitted, this value is assumed
> to
> +# be the same as the Environment size, which is valid for NOR and
> SPI-dataflash
> +
> +# MTD device name      Device offset   Env. size       Flash sector size
>      Number of sectors
> +# Colibri iMX6ULL
> +/dev/mtd3              0x00000000      0x00020000      0x20000
>      4
> diff --git
> a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config
> new file mode 100644
> index 0000000..b59116d
> --- /dev/null
> +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config
> @@ -0,0 +1,10 @@
> +# Configuration file for fw_(printenv/setenv) utility.
> +# Up to two entries are valid, in this case the redundant
> +# environment sector is assumed present.
> +# Notice, that the "Number of sectors" is not required on NOR and
> SPI-dataflash.
> +# Futhermore, if the Flash sector size is ommitted, this value is assumed
> to
> +# be the same as the Environment size, which is valid for NOR and
> SPI-dataflash
> +
> +# MTD device name      Device offset   Env. size       Flash sector size
>      Number of sectors
> +# Colibri iMX7
> +/dev/mtd3              0x00000000      0x00020000      0x20000
>      4
> diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config
> new file mode 100644
> index 0000000..e054ccb
> --- /dev/null
> +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config
> @@ -0,0 +1,22 @@
> +# Configuration file for fw_(printenv/setenv) utility.
> +# Up to two entries are valid, in this case the redundant
> +# environment sector is assumed present.
> +# Notice, that the "Number of sectors" is not required on NOR and
> SPI-dataflash.
> +# Futhermore, if the Flash sector size is ommitted, this value is assumed
> to
> +# be the same as the Environment size, which is valid for NOR and
> SPI-dataflash
> +
> +# NOR example
> +# MTD device name      Device offset   Env. size       Flash sector size
>      Number of sectors
> +#/dev/mtd1             0x0000          0x4000          0x4000
> +#/dev/mtd2             0x0000          0x4000          0x4000
> +
> +# MTD SPI-dataflash example
> +# MTD device name      Device offset   Env. size       Flash sector size
>      Number of sectors
> +#/dev/mtd5             0x4200          0x4200
> +#/dev/mtd6             0x4200          0x4200
> +
> +# NAND example
> +#/dev/mtd0             0x4000          0x4000          0x20000
>      2
> +
> +# Block device example
> +#/dev/mmcblk0          0xc0000         0x20000
> diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config
> new file mode 100644
> index 0000000..a9e724e
> --- /dev/null
> +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config
> @@ -0,0 +1,17 @@
> +# Configuration file for fw_(printenv/setenv) utility.
> +# Up to two entries are valid, in this case the redundant
> +# environment sector is assumed present.
> +# Device offset must be prefixed with 0x to be parsed as a hexadecimal
> value.
> +# On a block device a negative offset is treated as a backwards offset
> from the
> +# end of the device/partition, rather than a forwards offset from the
> start.
> +
> +# Colibri iMX6/Apalis iMX6
> +# U-Boot environment is stored at the end of the first eMMC boot partition
> +# hence use a negative value. The environment is just in front of the
> config
> +# block which occupies the last sector (hence -0x200)
> +# Note that /dev/mmcblk0boot0 by default is read only
> +# To use fw_setenv you have to first make it writeable, on the cmdline
> e.g. by
> +# $ echo 0 > /sys/block/mmcblk0boot0/force_ro
> +
> +# Block device name    Device offset   Env. size
> +/dev/mmcblk0boot0      -0x2200         0x2000
> diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config
> new file mode 100644
> index 0000000..51f09d1
> --- /dev/null
> +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config
> @@ -0,0 +1,10 @@
> +# Configuration file for fw_(printenv/setenv) utility.
> +# Up to two entries are valid, in this case the redundant
> +# environment sector is assumed present.
> +# Notice, that the "Number of sectors" is not required on NOR and
> SPI-dataflash.
> +# Futhermore, if the Flash sector size is ommitted, this value is assumed
> to
> +# be the same as the Environment size, which is valid for NOR and
> SPI-dataflash
> +
> +# MTD device name      Device offset   Env. size       Flash sector size
>      Number of sectors
> +# Colibri VF61
> +/dev/mtd2              0x00000000      0x00020000      0x20000
>      4
> diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb
> new file mode 100644
> index 0000000..727c0a8
> --- /dev/null
> +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb
> @@ -0,0 +1,42 @@
> +require recipes-bsp/u-boot/u-boot-toradex_${PV}.inc
> +
> +SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
> +
> +SRC_URI +=
> "file://0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch \
> +            file://fw_env.config \
> +"
> +
> +DEPENDS += "mtd-utils"
> +
> +INSANE_SKIP_${PN} = "already-stripped"
> +EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}
> ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_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 ${WORKDIR}/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_DIRS_append_class-cross = " ${bindir_cross}"
> +
> +PROVIDES += "u-boot-fw-utils"
> +RPROVIDES_${PN} += "u-boot-fw-utils"
> +
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +BBCLASSEXTEND = "cross"
> diff --git a/recipes-bsp/u-boot/u-boot-toradex.inc
> b/recipes-bsp/u-boot/u-boot-toradex.inc
> deleted file mode 100644
> index 67e9976..0000000
> --- a/recipes-bsp/u-boot/u-boot-toradex.inc
> +++ /dev/null
> @@ -1,21 +0,0 @@
> -# Copyright (C) 2015 Toradex AG
> -# Based on u-boot-fslc.inc Copyright (C) 2012-2014 O.S. Systems Software
> LTDA
> -# Released under the MIT license (see COPYING.MIT for the terms)
> -
> -require recipes-bsp/u-boot/u-boot.inc
> -
> -inherit fsl-u-boot-localversion
> -
> -SUMMARY = "U-Boot bootloader with support for Toradex Computer on Modules"
> -LICENSE = "GPLv2+"
> -LIC_FILES_CHKSUM =
> "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
> -
> -PROVIDES += "u-boot"
> -
> -SRC_URI = "git://git.toradex.com/u-boot-toradex.git;branch=${SRCBRANCH}
> <http://git.toradex.com/u-boot-toradex.git;branch=$%7BSRCBRANCH%7D>"
> -
> -S = "${WORKDIR}/git"
> -
> -inherit dtc-145
> -
> -PACKAGE_ARCH = "${MACHINE_ARCH}"
> diff --git a/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb
> b/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb
> index f54eeaa..e409131 100644
> --- a/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb
> +++ b/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb
> @@ -1,8 +1,8 @@
> -require recipes-bsp/u-boot/u-boot-toradex.inc
> +require recipes-bsp/u-boot/u-boot.inc
> +require recipes-bsp/u-boot/u-boot-toradex_${PV}.inc
>
>  LOCALVERSION = "-2.8.3"
> -PV_append = "+git${SRCPV}"
>
> -SRCREV = "aca804c9ddadbf34a8ff82779e5598ec5e319f23"
> -SRCBRANCH = "2016.11-toradex"
> -COMPATIBLE_MACHINE = "(mx6|mx7|vf|use-mainline-bsp)"
> +PROVIDES += "u-boot"
> +
> +inherit fsl-u-boot-localversion dtc-145
> diff --git a/recipes-bsp/u-boot/u-boot-toradex_2016.11.inc
> b/recipes-bsp/u-boot/u-boot-toradex_2016.11.inc
> new file mode 100644
> index 0000000..dd8c921
> --- /dev/null
> +++ b/recipes-bsp/u-boot/u-boot-toradex_2016.11.inc
> @@ -0,0 +1,20 @@
> +# Copyright (C) 2015 Toradex AG
> +# Based on u-boot-fslc.inc Copyright (C) 2012-2014 O.S. Systems Software
> LTDA
> +# Released under the MIT license (see COPYING.MIT for the terms)
> +
> +SUMMARY = "U-Boot bootloader with support for Toradex Computer on Modules"
> +LICENSE = "GPLv2+"
> +LIC_FILES_CHKSUM =
> "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
> +
> +SRC_URI = "git://git.toradex.com/u-boot-toradex.git;branch=${SRCBRANCH}
> <http://git.toradex.com/u-boot-toradex.git;branch=$%7BSRCBRANCH%7D>"
> +
> +SRCREV ?= "aca804c9ddadbf34a8ff82779e5598ec5e319f23"
> +SRCBRANCH ?= "2016.11-toradex"
> +
> +S = "${WORKDIR}/git"
> +
> +PV = "2016.11+git${SRCPV}"
> +
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +
> +COMPATIBLE_MACHINE = "(mx6|mx7|vf|use-mainline-bsp)"
> --
> 2.7.4
>
>
Max Krummenacher Nov. 20, 2018, 1:47 p.m.
Hi Ming

On Tue, 2018-11-20 at 14:40 +0100, Ming Liu wrote:
> Changes in V3:

> 

> 1 Dropped 'v' from PV.

> 

> some test results:

> 

> with this change, the end users might encounter a QA issue as follows:

> ```

> ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0 do_packagedata: QA Issue: Package version for package u-boot-toradex-fw-utils-dbg went backwards which would break package feeds from (0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0) [version-going-backwards]

> ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0 do_packagedata: QA Issue: Package version for package u-boot-toradex-fw-utils-staticdev went backwards which would break package feeds from (0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0) [version-going-backwards]

> ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0 do_packagedata: QA Issue: Package version for package u-boot-toradex-fw-utils-dev went backwards which would break package feeds from (0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0) [version-going-backwards]

> ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0 do_packagedata: QA Issue: Package version for package u-boot-toradex-fw-utils-doc went backwards which would break package feeds from (0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0) [version-going-backwards]

> ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0 do_packagedata: QA Issue: Package version for package u-boot-toradex-fw-utils-locale went backwards which would break package feeds from (0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0) [version-going-backwards]

> ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0 do_packagedata: QA Issue: Package version for package u-boot-toradex-fw-utils went backwards which would break package feeds from (0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0) [version-going-backwards]

> ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata: QA Issue: Package version for package u-boot-toradex-dbg went backwards which would break package feeds from (0:v2016.11+git0+f4db39ecb6-r0 to 0:2016.11+git0+f4db39ecb6-r0) [version-going-backwards]

> ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata: QA Issue: Package version for package u-boot-toradex-staticdev went backwards which would break package feeds from (0:v2016.11+git0+f4db39ecb6-r0 to 0:2016.11+git0+f4db39ecb6-r0) [version-going-backwards]

> ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata: QA Issue: Package version for package u-boot-toradex-dev went backwards which would break package feeds from (0:v2016.11+git0+f4db39ecb6-r0 to 0:2016.11+git0+f4db39ecb6-r0) [version-going-backwards]

> ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata: QA Issue: Package version for package u-boot-toradex-doc went backwards which would break package feeds from (0:v2016.11+git0+f4db39ecb6-r0 to 0:2016.11+git0+f4db39ecb6-r0) [version-going-backwards]

> ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata: QA Issue: Package version for package u-boot-toradex-locale went backwards which would break package feeds from (0:v2016.11+git0+f4db39ecb6-r0 to 0:2016.11+git0+f4db39ecb6-r0) [version-going-backwards]

> ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata: QA Issue: Package version for package u-boot-toradex went backwards which would break package feeds from (0:v2016.11+git0+f4db39ecb6-r0 to 0:2016.11+git0+f4db39ecb6-r0) [version-going-backwards]

> ```


That should only happen to people who already applied v1 or v2 of the patch and then built the recipes.
For all the others the previous built PV did not start with the 'v'.

Max

> 

> this is caused by the "vxxxx" is treated as a lager number than "2xxxx".

> 

> the best,

> thank you

> 

> 

> 

> 

> 

> <liu.ming50@gmail.com> 於 2018年11月20日 週二 下午2:36寫道:

> > From: Ming Liu <liu.ming50@gmail.com>

> > 

> > I observed a following build issue:

> > | ***

> > | *** Can't find default configuration "arch/../configs/colibri_imx7_emmc_defconfig"!

> > | ***

> > | scripts/kconfig/Makefile:128: recipe for target 'colibri_imx7_emmc_defconfig' failed

> > 

> > it's due to the colibri_imx7_emmc_defconfig does not exist in the

> > source, because u-boot-toradex and u-boot-fw-utils are not built from

> > same source. so the toradex machine specific uboot configs do not

> > present in the default u-boot-fw-utils source.

> > 

> > To fix it, a new u-boot-toradex-fw-utils recipe is added, it uses the

> > same source with u-boot-toradex, some common code is split out to

> > u-boot-toradex.inc, to be shared by both u-boot-toradex and

> > u-boot-toradex-fw-utils.

> > 

> > And we need set PREFERRED_PROVIDER and PREFERRED_RPROVIDER in machine

> > configs to u-boot-toradex-fw-utils.

> > 

> > Some files derive from u-boot-toradex-fw-utils recipe of:

> > git://git.toradex.com/meta-toradex-nxp.git

> > 

> > Signed-off-by: Ming Liu <liu.ming50@gmail.com>

> > ---

> >  conf/machine/apalis-imx6.conf                      |  3 ++

> >  conf/machine/colibri-imx6.conf                     |  3 ++

> >  conf/machine/colibri-imx6ull.conf                  |  3 ++

> >  conf/machine/colibri-imx7.conf                     |  2 +

> >  conf/machine/colibri-vf.conf                       |  2 +

> >  ...ross-compiling-tools-when-HOSTCC-is-overr.patch | 54 ++++++++++++++++++++++

> >  .../colibri-imx6ull/fw_env.config                  | 10 ++++

> >  .../colibri-imx7/fw_env.config                     | 10 ++++

> >  .../u-boot/u-boot-toradex-fw-utils/fw_env.config   | 22 +++++++++

> >  .../u-boot-toradex-fw-utils/mx6/fw_env.config      | 17 +++++++

> >  .../u-boot-toradex-fw-utils/vf/fw_env.config       | 10 ++++

> >  .../u-boot/u-boot-toradex-fw-utils_2016.11.bb      | 42 +++++++++++++++++

> >  recipes-bsp/u-boot/u-boot-toradex.inc              | 21 ---------

> >  recipes-bsp/u-boot/u-boot-toradex_2016.11.bb       | 10 ++--

> >  recipes-bsp/u-boot/u-boot-toradex_2016.11.inc      | 20 ++++++++

> >  15 files changed, 203 insertions(+), 26 deletions(-)

> >  create mode 100644 recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch

> >  create mode 100644 recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config

> >  create mode 100644 recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config

> >  create mode 100644 recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config

> >  create mode 100644 recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config

> >  create mode 100644 recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config

> >  create mode 100644 recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb

> >  delete mode 100644 recipes-bsp/u-boot/u-boot-toradex.inc

> >  create mode 100644 recipes-bsp/u-boot/u-boot-toradex_2016.11.inc

> > 

> > diff --git a/conf/machine/apalis-imx6.conf b/conf/machine/apalis-imx6.conf

> > index 47a9d87..a9b9af0 100644

> > --- a/conf/machine/apalis-imx6.conf

> > +++ b/conf/machine/apalis-imx6.conf

> > @@ -20,6 +20,9 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""

> > 

> >  PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"

> >  PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"

> > +PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"

> > +PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"

> > +

> >  SPL_BINARY = "SPL"

> >  # The SPL configures the DDR RAM depending on the module it runs on. Thus there

> >  # is no need to distingush between the different module types.

> > diff --git a/conf/machine/colibri-imx6.conf b/conf/machine/colibri-imx6.conf

> > index d3c2d00..0c6d7cc 100644

> > --- a/conf/machine/colibri-imx6.conf

> > +++ b/conf/machine/colibri-imx6.conf

> > @@ -20,6 +20,9 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""

> > 

> >  PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"

> >  PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"

> > +PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"

> > +PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"

> > +

> >  SPL_BINARY = "SPL"

> >  UBOOT_CONFIG ??= "spl"

> >  UBOOT_CONFIG[spl] = "colibri_imx6_defconfig,,u-boot.img"

> > diff --git a/conf/machine/colibri-imx6ull.conf b/conf/machine/colibri-imx6ull.conf

> > index 748a12b..a70dd42 100644

> > --- a/conf/machine/colibri-imx6ull.conf

> > +++ b/conf/machine/colibri-imx6ull.conf

> > @@ -17,6 +17,9 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""

> > 

> >  PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"

> >  PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"

> > +PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"

> > +PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"

> > +

> >  UBOOT_BINARY = "u-boot-nand.imx"

> >  UBOOT_MAKE_TARGET = "u-boot-nand.imx"

> >  UBOOT_MACHINE ?= "colibri-imx6ull_defconfig"

> > diff --git a/conf/machine/colibri-imx7.conf b/conf/machine/colibri-imx7.conf

> > index 51048e4..2ad296b 100644

> > --- a/conf/machine/colibri-imx7.conf

> > +++ b/conf/machine/colibri-imx7.conf

> > @@ -20,6 +20,8 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""

> > 

> >  PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"

> >  PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"

> > +PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"

> > +PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"

> > 

> >  # U-Boot NAND binary includes 0x400 padding required for NAND boot

> >  UBOOT_BINARY = "u-boot-nand.imx"

> > diff --git a/conf/machine/colibri-vf.conf b/conf/machine/colibri-vf.conf

> > index 2f7a5d8..a03853d 100644

> > --- a/conf/machine/colibri-vf.conf

> > +++ b/conf/machine/colibri-vf.conf

> > @@ -20,6 +20,8 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""

> > 

> >  PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"

> >  PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"

> > +PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"

> > +PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"

> >  PREFERRED_PROVIDER_virtual/kernel-module-mcc ?= "kernel-module-mcc-toradex"

> >  PREFERRED_PROVIDER_virtual/kernel-module-mcc-dev ?= "kernel-module-mcc-toradex"

> >  PREFERRED_VERSION_mqxboot ?= "1.%"

> > diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch

> > new file mode 100644

> > index 0000000..2c087e8

> > --- /dev/null

> > +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch

> > @@ -0,0 +1,54 @@

> > +From 3b0825296aeba69c2cbfd3e179db2e9cbe5e70d7 Mon Sep 17 00:00:00 2001

> > +From: Masahiro Yamada <yamada.masahiro@socionext.com>

> > +Date: Mon, 13 Mar 2017 17:43:16 +0900

> > +Subject: [PATCH] tools: fix cross-compiling tools when HOSTCC is overridden

> > +

> > +Upstream-Status: Backport

> > +

> > +Richard reported U-Boot tools issues in OpenEmbedded/Yocto project.

> > +

> > +OE needs to be able to change the default compiler. If we pass in

> > +HOSTCC through the make command, it overwrites all HOSTCC instances,

> > +including ones in tools/Makefile and tools/env/Makefile, which breaks

> > +"make cross_tools" and "make env", respectively.

> > +

> > +Add "override" directives to avoid overriding HOSTCC instances that

> > +really need to point to the cross-compiler.

> > +

> > +Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

> > +Reported-by: Richard Purdie <richard.purdie@linuxfoundation.org>

> > +Reviewed-by: Simon Glass <sjg@chromium.org>

> > +---

> > + tools/Makefile     | 2 +-

> > + tools/env/Makefile | 2 +-

> > + 2 files changed, 2 insertions(+), 2 deletions(-)

> > +

> > +diff --git a/tools/Makefile b/tools/Makefile

> > +index 1c840d7..a894b5c 100644

> > +--- a/tools/Makefile

> > ++++ b/tools/Makefile

> > +@@ -262,7 +262,7 @@ $(LOGO_DATA_H):    $(obj)/bmp_logo $(LOGO_BMP)

> > + subdir- += env

> > + 

> > + ifneq ($(CROSS_BUILD_TOOLS),)

> > +-HOSTCC = $(CC)

> > ++override HOSTCC = $(CC)

> > + 

> > + quiet_cmd_crosstools_strip = STRIP   $^

> > +       cmd_crosstools_strip = $(STRIP) $^; touch $@

> > +diff --git a/tools/env/Makefile b/tools/env/Makefile

> > +index 38ad118..95b28c0 100644

> > +--- a/tools/env/Makefile

> > ++++ b/tools/env/Makefile

> > +@@ -8,7 +8,7 @@

> > + # fw_printenv is supposed to run on the target system, which means it should be

> > + # built with cross tools. Although it may look weird, we only replace "HOSTCC"

> > + # with "CC" here for the maximum code reuse of scripts/Makefile.host.

> > +-HOSTCC = $(CC)

> > ++override HOSTCC = $(CC)

> > + 

> > + # Compile for a hosted environment on the target

> > + HOST_EXTRACFLAGS  = $(patsubst -I%,-idirafter%, $(filter -I%, $(UBOOTINCLUDE))) \

> > +-- 

> > +2.7.4

> > +

> > diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config

> > new file mode 100644

> > index 0000000..930bcee

> > --- /dev/null

> > +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config

> > @@ -0,0 +1,10 @@

> > +# Configuration file for fw_(printenv/setenv) utility.

> > +# Up to two entries are valid, in this case the redundant

> > +# environment sector is assumed present.

> > +# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash.

> > +# Futhermore, if the Flash sector size is ommitted, this value is assumed to

> > +# be the same as the Environment size, which is valid for NOR and SPI-dataflash

> > +

> > +# MTD device name      Device offset   Env. size       Flash sector size       Number of sectors

> > +# Colibri iMX6ULL

> > +/dev/mtd3              0x00000000      0x00020000      0x20000                 4

> > diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config

> > new file mode 100644

> > index 0000000..b59116d

> > --- /dev/null

> > +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config

> > @@ -0,0 +1,10 @@

> > +# Configuration file for fw_(printenv/setenv) utility.

> > +# Up to two entries are valid, in this case the redundant

> > +# environment sector is assumed present.

> > +# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash.

> > +# Futhermore, if the Flash sector size is ommitted, this value is assumed to

> > +# be the same as the Environment size, which is valid for NOR and SPI-dataflash

> > +

> > +# MTD device name      Device offset   Env. size       Flash sector size       Number of sectors

> > +# Colibri iMX7

> > +/dev/mtd3              0x00000000      0x00020000      0x20000                 4

> > diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config

> > new file mode 100644

> > index 0000000..e054ccb

> > --- /dev/null

> > +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config

> > @@ -0,0 +1,22 @@

> > +# Configuration file for fw_(printenv/setenv) utility.

> > +# Up to two entries are valid, in this case the redundant

> > +# environment sector is assumed present.

> > +# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash.

> > +# Futhermore, if the Flash sector size is ommitted, this value is assumed to

> > +# be the same as the Environment size, which is valid for NOR and SPI-dataflash

> > +

> > +# NOR example

> > +# MTD device name      Device offset   Env. size       Flash sector size       Number of sectors

> > +#/dev/mtd1             0x0000          0x4000          0x4000

> > +#/dev/mtd2             0x0000          0x4000          0x4000

> > +

> > +# MTD SPI-dataflash example

> > +# MTD device name      Device offset   Env. size       Flash sector size       Number of sectors

> > +#/dev/mtd5             0x4200          0x4200

> > +#/dev/mtd6             0x4200          0x4200

> > +

> > +# NAND example

> > +#/dev/mtd0             0x4000          0x4000          0x20000                 2

> > +

> > +# Block device example

> > +#/dev/mmcblk0          0xc0000         0x20000

> > diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config

> > new file mode 100644

> > index 0000000..a9e724e

> > --- /dev/null

> > +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config

> > @@ -0,0 +1,17 @@

> > +# Configuration file for fw_(printenv/setenv) utility.

> > +# Up to two entries are valid, in this case the redundant

> > +# environment sector is assumed present.

> > +# Device offset must be prefixed with 0x to be parsed as a hexadecimal value.

> > +# On a block device a negative offset is treated as a backwards offset from the

> > +# end of the device/partition, rather than a forwards offset from the start.

> > +

> > +# Colibri iMX6/Apalis iMX6

> > +# U-Boot environment is stored at the end of the first eMMC boot partition

> > +# hence use a negative value. The environment is just in front of the config

> > +# block which occupies the last sector (hence -0x200)

> > +# Note that /dev/mmcblk0boot0 by default is read only

> > +# To use fw_setenv you have to first make it writeable, on the cmdline e.g. by

> > +# $ echo 0 > /sys/block/mmcblk0boot0/force_ro

> > +

> > +# Block device name    Device offset   Env. size

> > +/dev/mmcblk0boot0      -0x2200         0x2000

> > diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config

> > new file mode 100644

> > index 0000000..51f09d1

> > --- /dev/null

> > +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config

> > @@ -0,0 +1,10 @@

> > +# Configuration file for fw_(printenv/setenv) utility.

> > +# Up to two entries are valid, in this case the redundant

> > +# environment sector is assumed present.

> > +# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash.

> > +# Futhermore, if the Flash sector size is ommitted, this value is assumed to

> > +# be the same as the Environment size, which is valid for NOR and SPI-dataflash

> > +

> > +# MTD device name      Device offset   Env. size       Flash sector size       Number of sectors

> > +# Colibri VF61

> > +/dev/mtd2              0x00000000      0x00020000      0x20000                 4

> > diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb b/recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb

> > new file mode 100644

> > index 0000000..727c0a8

> > --- /dev/null

> > +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb

> > @@ -0,0 +1,42 @@

> > +require recipes-bsp/u-boot/u-boot-toradex_${PV}.inc

> > +

> > +SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"

> > +

> > +SRC_URI += "file://0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch \

> > +            file://fw_env.config \

> > +"

> > +

> > +DEPENDS += "mtd-utils"

> > +

> > +INSANE_SKIP_${PN} = "already-stripped"

> > +EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_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 ${WORKDIR}/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_DIRS_append_class-cross = " ${bindir_cross}"

> > +

> > +PROVIDES += "u-boot-fw-utils"

> > +RPROVIDES_${PN} += "u-boot-fw-utils"

> > +

> > +PACKAGE_ARCH = "${MACHINE_ARCH}"

> > +BBCLASSEXTEND = "cross"

> > diff --git a/recipes-bsp/u-boot/u-boot-toradex.inc b/recipes-bsp/u-boot/u-boot-toradex.inc

> > deleted file mode 100644

> > index 67e9976..0000000

> > --- a/recipes-bsp/u-boot/u-boot-toradex.inc

> > +++ /dev/null

> > @@ -1,21 +0,0 @@

> > -# Copyright (C) 2015 Toradex AG

> > -# Based on u-boot-fslc.inc Copyright (C) 2012-2014 O.S. Systems Software LTDA

> > -# Released under the MIT license (see COPYING.MIT for the terms)

> > -

> > -require recipes-bsp/u-boot/u-boot.inc

> > -

> > -inherit fsl-u-boot-localversion

> > -

> > -SUMMARY = "U-Boot bootloader with support for Toradex Computer on Modules"

> > -LICENSE = "GPLv2+"

> > -LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"

> > -

> > -PROVIDES += "u-boot"

> > -

> > -SRC_URI = "git://git.toradex.com/u-boot-toradex.git;branch=${SRCBRANCH}"

> > -

> > -S = "${WORKDIR}/git"

> > -

> > -inherit dtc-145

> > -

> > -PACKAGE_ARCH = "${MACHINE_ARCH}"

> > diff --git a/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb b/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb

> > index f54eeaa..e409131 100644

> > --- a/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb

> > +++ b/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb

> > @@ -1,8 +1,8 @@

> > -require recipes-bsp/u-boot/u-boot-toradex.inc

> > +require recipes-bsp/u-boot/u-boot.inc

> > +require recipes-bsp/u-boot/u-boot-toradex_${PV}.inc

> > 

> >  LOCALVERSION = "-2.8.3"

> > -PV_append = "+git${SRCPV}"

> > 

> > -SRCREV = "aca804c9ddadbf34a8ff82779e5598ec5e319f23"

> > -SRCBRANCH = "2016.11-toradex"

> > -COMPATIBLE_MACHINE = "(mx6|mx7|vf|use-mainline-bsp)"

> > +PROVIDES += "u-boot"

> > +

> > +inherit fsl-u-boot-localversion dtc-145

> > diff --git a/recipes-bsp/u-boot/u-boot-toradex_2016.11.inc b/recipes-bsp/u-boot/u-boot-toradex_2016.11.inc

> > new file mode 100644

> > index 0000000..dd8c921

> > --- /dev/null

> > +++ b/recipes-bsp/u-boot/u-boot-toradex_2016.11.inc

> > @@ -0,0 +1,20 @@

> > +# Copyright (C) 2015 Toradex AG

> > +# Based on u-boot-fslc.inc Copyright (C) 2012-2014 O.S. Systems Software LTDA

> > +# Released under the MIT license (see COPYING.MIT for the terms)

> > +

> > +SUMMARY = "U-Boot bootloader with support for Toradex Computer on Modules"

> > +LICENSE = "GPLv2+"

> > +LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"

> > +

> > +SRC_URI = "git://git.toradex.com/u-boot-toradex.git;branch=${SRCBRANCH}"

> > +

> > +SRCREV ?= "aca804c9ddadbf34a8ff82779e5598ec5e319f23"

> > +SRCBRANCH ?= "2016.11-toradex"

> > +

> > +S = "${WORKDIR}/git"

> > +

> > +PV = "2016.11+git${SRCPV}"

> > +

> > +PACKAGE_ARCH = "${MACHINE_ARCH}"

> > +

> > +COMPATIBLE_MACHINE = "(mx6|mx7|vf|use-mainline-bsp)"
Ming Liu Nov. 20, 2018, 2:02 p.m.
Arha, yes, you are absolutely right.

//Ming Liu

Max Krummenacher <max.krummenacher@toradex.com> 於 2018年11月20日 週二 下午2:47寫道:

> Hi Ming
>
> On Tue, 2018-11-20 at 14:40 +0100, Ming Liu wrote:
> > Changes in V3:
> >
> > 1 Dropped 'v' from PV.
> >
> > some test results:
> >
> > with this change, the end users might encounter a QA issue as follows:
> > ```
> > ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0
> do_packagedata: QA Issue: Package version for package
> u-boot-toradex-fw-utils-dbg went backwards which would break package feeds
> from (0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0)
> [version-going-backwards]
> > ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0
> do_packagedata: QA Issue: Package version for package
> u-boot-toradex-fw-utils-staticdev went backwards which would break package
> feeds from (0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0)
> [version-going-backwards]
> > ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0
> do_packagedata: QA Issue: Package version for package
> u-boot-toradex-fw-utils-dev went backwards which would break package feeds
> from (0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0)
> [version-going-backwards]
> > ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0
> do_packagedata: QA Issue: Package version for package
> u-boot-toradex-fw-utils-doc went backwards which would break package feeds
> from (0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0)
> [version-going-backwards]
> > ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0
> do_packagedata: QA Issue: Package version for package
> u-boot-toradex-fw-utils-locale went backwards which would break package
> feeds from (0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0)
> [version-going-backwards]
> > ERROR: u-boot-toradex-fw-utils-2016.11+gitAUTOINC+aca804c9dd-r0
> do_packagedata: QA Issue: Package version for package
> u-boot-toradex-fw-utils went backwards which would break package feeds from
> (0:v2016.11+git0+aca804c9dd-r0 to 0:2016.11+git0+aca804c9dd-r0)
> [version-going-backwards]
> > ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata:
> QA Issue: Package version for package u-boot-toradex-dbg went backwards
> which would break package feeds from (0:v2016.11+git0+f4db39ecb6-r0 to
> 0:2016.11+git0+f4db39ecb6-r0) [version-going-backwards]
> > ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata:
> QA Issue: Package version for package u-boot-toradex-staticdev went
> backwards which would break package feeds from
> (0:v2016.11+git0+f4db39ecb6-r0 to 0:2016.11+git0+f4db39ecb6-r0)
> [version-going-backwards]
> > ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata:
> QA Issue: Package version for package u-boot-toradex-dev went backwards
> which would break package feeds from (0:v2016.11+git0+f4db39ecb6-r0 to
> 0:2016.11+git0+f4db39ecb6-r0) [version-going-backwards]
> > ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata:
> QA Issue: Package version for package u-boot-toradex-doc went backwards
> which would break package feeds from (0:v2016.11+git0+f4db39ecb6-r0 to
> 0:2016.11+git0+f4db39ecb6-r0) [version-going-backwards]
> > ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata:
> QA Issue: Package version for package u-boot-toradex-locale went backwards
> which would break package feeds from (0:v2016.11+git0+f4db39ecb6-r0 to
> 0:2016.11+git0+f4db39ecb6-r0) [version-going-backwards]
> > ERROR: u-boot-toradex-2016.11+gitAUTOINC+f4db39ecb6-r0 do_packagedata:
> QA Issue: Package version for package u-boot-toradex went backwards which
> would break package feeds from (0:v2016.11+git0+f4db39ecb6-r0 to
> 0:2016.11+git0+f4db39ecb6-r0) [version-going-backwards]
> > ```
>
> That should only happen to people who already applied v1 or v2 of the
> patch and then built the recipes.
> For all the others the previous built PV did not start with the 'v'.
>
> Max
>
> >
> > this is caused by the "vxxxx" is treated as a lager number than "2xxxx".
> >
> > the best,
> > thank you
> >
> >
> >
> >
> >
> > <liu.ming50@gmail.com> 於 2018年11月20日 週二 下午2:36寫道:
> > > From: Ming Liu <liu.ming50@gmail.com>
> > >
> > > I observed a following build issue:
> > > | ***
> > > | *** Can't find default configuration
> "arch/../configs/colibri_imx7_emmc_defconfig"!
> > > | ***
> > > | scripts/kconfig/Makefile:128: recipe for target
> 'colibri_imx7_emmc_defconfig' failed
> > >
> > > it's due to the colibri_imx7_emmc_defconfig does not exist in the
> > > source, because u-boot-toradex and u-boot-fw-utils are not built from
> > > same source. so the toradex machine specific uboot configs do not
> > > present in the default u-boot-fw-utils source.
> > >
> > > To fix it, a new u-boot-toradex-fw-utils recipe is added, it uses the
> > > same source with u-boot-toradex, some common code is split out to
> > > u-boot-toradex.inc, to be shared by both u-boot-toradex and
> > > u-boot-toradex-fw-utils.
> > >
> > > And we need set PREFERRED_PROVIDER and PREFERRED_RPROVIDER in machine
> > > configs to u-boot-toradex-fw-utils.
> > >
> > > Some files derive from u-boot-toradex-fw-utils recipe of:
> > > git://git.toradex.com/meta-toradex-nxp.git
> > >
> > > Signed-off-by: Ming Liu <liu.ming50@gmail.com>
> > > ---
> > >  conf/machine/apalis-imx6.conf                      |  3 ++
> > >  conf/machine/colibri-imx6.conf                     |  3 ++
> > >  conf/machine/colibri-imx6ull.conf                  |  3 ++
> > >  conf/machine/colibri-imx7.conf                     |  2 +
> > >  conf/machine/colibri-vf.conf                       |  2 +
> > >  ...ross-compiling-tools-when-HOSTCC-is-overr.patch | 54
> ++++++++++++++++++++++
> > >  .../colibri-imx6ull/fw_env.config                  | 10 ++++
> > >  .../colibri-imx7/fw_env.config                     | 10 ++++
> > >  .../u-boot/u-boot-toradex-fw-utils/fw_env.config   | 22 +++++++++
> > >  .../u-boot-toradex-fw-utils/mx6/fw_env.config      | 17 +++++++
> > >  .../u-boot-toradex-fw-utils/vf/fw_env.config       | 10 ++++
> > >  .../u-boot/u-boot-toradex-fw-utils_2016.11.bb      | 42
> +++++++++++++++++
> > >  recipes-bsp/u-boot/u-boot-toradex.inc              | 21 ---------
> > >  recipes-bsp/u-boot/u-boot-toradex_2016.11.bb       | 10 ++--
> > >  recipes-bsp/u-boot/u-boot-toradex_2016.11.inc      | 20 ++++++++
> > >  15 files changed, 203 insertions(+), 26 deletions(-)
> > >  create mode 100644
> recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch
> > >  create mode 100644
> recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config
> > >  create mode 100644
> recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config
> > >  create mode 100644
> recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config
> > >  create mode 100644
> recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config
> > >  create mode 100644
> recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config
> > >  create mode 100644 recipes-bsp/u-boot/
> u-boot-toradex-fw-utils_2016.11.bb
> > >  delete mode 100644 recipes-bsp/u-boot/u-boot-toradex.inc
> > >  create mode 100644 recipes-bsp/u-boot/u-boot-toradex_2016.11.inc
> > >
> > > diff --git a/conf/machine/apalis-imx6.conf
> b/conf/machine/apalis-imx6.conf
> > > index 47a9d87..a9b9af0 100644
> > > --- a/conf/machine/apalis-imx6.conf
> > > +++ b/conf/machine/apalis-imx6.conf
> > > @@ -20,6 +20,9 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
> > >
> > >  PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"
> > >  PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"
> > > +PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> > > +PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> > > +
> > >  SPL_BINARY = "SPL"
> > >  # The SPL configures the DDR RAM depending on the module it runs on.
> Thus there
> > >  # is no need to distingush between the different module types.
> > > diff --git a/conf/machine/colibri-imx6.conf
> b/conf/machine/colibri-imx6.conf
> > > index d3c2d00..0c6d7cc 100644
> > > --- a/conf/machine/colibri-imx6.conf
> > > +++ b/conf/machine/colibri-imx6.conf
> > > @@ -20,6 +20,9 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
> > >
> > >  PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"
> > >  PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"
> > > +PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> > > +PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> > > +
> > >  SPL_BINARY = "SPL"
> > >  UBOOT_CONFIG ??= "spl"
> > >  UBOOT_CONFIG[spl] = "colibri_imx6_defconfig,,u-boot.img"
> > > diff --git a/conf/machine/colibri-imx6ull.conf
> b/conf/machine/colibri-imx6ull.conf
> > > index 748a12b..a70dd42 100644
> > > --- a/conf/machine/colibri-imx6ull.conf
> > > +++ b/conf/machine/colibri-imx6ull.conf
> > > @@ -17,6 +17,9 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
> > >
> > >  PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"
> > >  PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"
> > > +PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> > > +PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> > > +
> > >  UBOOT_BINARY = "u-boot-nand.imx"
> > >  UBOOT_MAKE_TARGET = "u-boot-nand.imx"
> > >  UBOOT_MACHINE ?= "colibri-imx6ull_defconfig"
> > > diff --git a/conf/machine/colibri-imx7.conf
> b/conf/machine/colibri-imx7.conf
> > > index 51048e4..2ad296b 100644
> > > --- a/conf/machine/colibri-imx7.conf
> > > +++ b/conf/machine/colibri-imx7.conf
> > > @@ -20,6 +20,8 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
> > >
> > >  PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"
> > >  PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"
> > > +PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> > > +PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> > >
> > >  # U-Boot NAND binary includes 0x400 padding required for NAND boot
> > >  UBOOT_BINARY = "u-boot-nand.imx"
> > > diff --git a/conf/machine/colibri-vf.conf
> b/conf/machine/colibri-vf.conf
> > > index 2f7a5d8..a03853d 100644
> > > --- a/conf/machine/colibri-vf.conf
> > > +++ b/conf/machine/colibri-vf.conf
> > > @@ -20,6 +20,8 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
> > >
> > >  PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"
> > >  PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"
> > > +PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> > > +PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
> > >  PREFERRED_PROVIDER_virtual/kernel-module-mcc ?=
> "kernel-module-mcc-toradex"
> > >  PREFERRED_PROVIDER_virtual/kernel-module-mcc-dev ?=
> "kernel-module-mcc-toradex"
> > >  PREFERRED_VERSION_mqxboot ?= "1.%"
> > > diff --git
> a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch
> > > new file mode 100644
> > > index 0000000..2c087e8
> > > --- /dev/null
> > > +++
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch
> > > @@ -0,0 +1,54 @@
> > > +From 3b0825296aeba69c2cbfd3e179db2e9cbe5e70d7 Mon Sep 17 00:00:00 2001
> > > +From: Masahiro Yamada <yamada.masahiro@socionext.com>
> > > +Date: Mon, 13 Mar 2017 17:43:16 +0900
> > > +Subject: [PATCH] tools: fix cross-compiling tools when HOSTCC is
> overridden
> > > +
> > > +Upstream-Status: Backport
> > > +
> > > +Richard reported U-Boot tools issues in OpenEmbedded/Yocto project.
> > > +
> > > +OE needs to be able to change the default compiler. If we pass in
> > > +HOSTCC through the make command, it overwrites all HOSTCC instances,
> > > +including ones in tools/Makefile and tools/env/Makefile, which breaks
> > > +"make cross_tools" and "make env", respectively.
> > > +
> > > +Add "override" directives to avoid overriding HOSTCC instances that
> > > +really need to point to the cross-compiler.
> > > +
> > > +Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> > > +Reported-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > > +Reviewed-by: Simon Glass <sjg@chromium.org>
> > > +---
> > > + tools/Makefile     | 2 +-
> > > + tools/env/Makefile | 2 +-
> > > + 2 files changed, 2 insertions(+), 2 deletions(-)
> > > +
> > > +diff --git a/tools/Makefile b/tools/Makefile
> > > +index 1c840d7..a894b5c 100644
> > > +--- a/tools/Makefile
> > > ++++ b/tools/Makefile
> > > +@@ -262,7 +262,7 @@ $(LOGO_DATA_H):    $(obj)/bmp_logo $(LOGO_BMP)
> > > + subdir- += env
> > > +
> > > + ifneq ($(CROSS_BUILD_TOOLS),)
> > > +-HOSTCC = $(CC)
> > > ++override HOSTCC = $(CC)
> > > +
> > > + quiet_cmd_crosstools_strip = STRIP   $^
> > > +       cmd_crosstools_strip = $(STRIP) $^; touch $@
> > > +diff --git a/tools/env/Makefile b/tools/env/Makefile
> > > +index 38ad118..95b28c0 100644
> > > +--- a/tools/env/Makefile
> > > ++++ b/tools/env/Makefile
> > > +@@ -8,7 +8,7 @@
> > > + # fw_printenv is supposed to run on the target system, which means
> it should be
> > > + # built with cross tools. Although it may look weird, we only
> replace "HOSTCC"
> > > + # with "CC" here for the maximum code reuse of scripts/Makefile.host.
> > > +-HOSTCC = $(CC)
> > > ++override HOSTCC = $(CC)
> > > +
> > > + # Compile for a hosted environment on the target
> > > + HOST_EXTRACFLAGS  = $(patsubst -I%,-idirafter%, $(filter -I%,
> $(UBOOTINCLUDE))) \
> > > +--
> > > +2.7.4
> > > +
> > > diff --git
> a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config
> > > new file mode 100644
> > > index 0000000..930bcee
> > > --- /dev/null
> > > +++
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config
> > > @@ -0,0 +1,10 @@
> > > +# Configuration file for fw_(printenv/setenv) utility.
> > > +# Up to two entries are valid, in this case the redundant
> > > +# environment sector is assumed present.
> > > +# Notice, that the "Number of sectors" is not required on NOR and
> SPI-dataflash.
> > > +# Futhermore, if the Flash sector size is ommitted, this value is
> assumed to
> > > +# be the same as the Environment size, which is valid for NOR and
> SPI-dataflash
> > > +
> > > +# MTD device name      Device offset   Env. size       Flash sector
> size       Number of sectors
> > > +# Colibri iMX6ULL
> > > +/dev/mtd3              0x00000000      0x00020000      0x20000
>          4
> > > diff --git
> a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config
> > > new file mode 100644
> > > index 0000000..b59116d
> > > --- /dev/null
> > > +++
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config
> > > @@ -0,0 +1,10 @@
> > > +# Configuration file for fw_(printenv/setenv) utility.
> > > +# Up to two entries are valid, in this case the redundant
> > > +# environment sector is assumed present.
> > > +# Notice, that the "Number of sectors" is not required on NOR and
> SPI-dataflash.
> > > +# Futhermore, if the Flash sector size is ommitted, this value is
> assumed to
> > > +# be the same as the Environment size, which is valid for NOR and
> SPI-dataflash
> > > +
> > > +# MTD device name      Device offset   Env. size       Flash sector
> size       Number of sectors
> > > +# Colibri iMX7
> > > +/dev/mtd3              0x00000000      0x00020000      0x20000
>          4
> > > diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config
> > > new file mode 100644
> > > index 0000000..e054ccb
> > > --- /dev/null
> > > +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config
> > > @@ -0,0 +1,22 @@
> > > +# Configuration file for fw_(printenv/setenv) utility.
> > > +# Up to two entries are valid, in this case the redundant
> > > +# environment sector is assumed present.
> > > +# Notice, that the "Number of sectors" is not required on NOR and
> SPI-dataflash.
> > > +# Futhermore, if the Flash sector size is ommitted, this value is
> assumed to
> > > +# be the same as the Environment size, which is valid for NOR and
> SPI-dataflash
> > > +
> > > +# NOR example
> > > +# MTD device name      Device offset   Env. size       Flash sector
> size       Number of sectors
> > > +#/dev/mtd1             0x0000          0x4000          0x4000
> > > +#/dev/mtd2             0x0000          0x4000          0x4000
> > > +
> > > +# MTD SPI-dataflash example
> > > +# MTD device name      Device offset   Env. size       Flash sector
> size       Number of sectors
> > > +#/dev/mtd5             0x4200          0x4200
> > > +#/dev/mtd6             0x4200          0x4200
> > > +
> > > +# NAND example
> > > +#/dev/mtd0             0x4000          0x4000          0x20000
>          2
> > > +
> > > +# Block device example
> > > +#/dev/mmcblk0          0xc0000         0x20000
> > > diff --git
> a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config
> > > new file mode 100644
> > > index 0000000..a9e724e
> > > --- /dev/null
> > > +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config
> > > @@ -0,0 +1,17 @@
> > > +# Configuration file for fw_(printenv/setenv) utility.
> > > +# Up to two entries are valid, in this case the redundant
> > > +# environment sector is assumed present.
> > > +# Device offset must be prefixed with 0x to be parsed as a
> hexadecimal value.
> > > +# On a block device a negative offset is treated as a backwards
> offset from the
> > > +# end of the device/partition, rather than a forwards offset from the
> start.
> > > +
> > > +# Colibri iMX6/Apalis iMX6
> > > +# U-Boot environment is stored at the end of the first eMMC boot
> partition
> > > +# hence use a negative value. The environment is just in front of the
> config
> > > +# block which occupies the last sector (hence -0x200)
> > > +# Note that /dev/mmcblk0boot0 by default is read only
> > > +# To use fw_setenv you have to first make it writeable, on the
> cmdline e.g. by
> > > +# $ echo 0 > /sys/block/mmcblk0boot0/force_ro
> > > +
> > > +# Block device name    Device offset   Env. size
> > > +/dev/mmcblk0boot0      -0x2200         0x2000
> > > diff --git
> a/recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config
> > > new file mode 100644
> > > index 0000000..51f09d1
> > > --- /dev/null
> > > +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config
> > > @@ -0,0 +1,10 @@
> > > +# Configuration file for fw_(printenv/setenv) utility.
> > > +# Up to two entries are valid, in this case the redundant
> > > +# environment sector is assumed present.
> > > +# Notice, that the "Number of sectors" is not required on NOR and
> SPI-dataflash.
> > > +# Futhermore, if the Flash sector size is ommitted, this value is
> assumed to
> > > +# be the same as the Environment size, which is valid for NOR and
> SPI-dataflash
> > > +
> > > +# MTD device name      Device offset   Env. size       Flash sector
> size       Number of sectors
> > > +# Colibri VF61
> > > +/dev/mtd2              0x00000000      0x00020000      0x20000
>          4
> > > diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb
> b/recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb
> > > new file mode 100644
> > > index 0000000..727c0a8
> > > --- /dev/null
> > > +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb
> > > @@ -0,0 +1,42 @@
> > > +require recipes-bsp/u-boot/u-boot-toradex_${PV}.inc
> > > +
> > > +SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
> > > +
> > > +SRC_URI +=
> "file://0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch \
> > > +            file://fw_env.config \
> > > +"
> > > +
> > > +DEPENDS += "mtd-utils"
> > > +
> > > +INSANE_SKIP_${PN} = "already-stripped"
> > > +EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}
> ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_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 ${WORKDIR}/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_DIRS_append_class-cross = " ${bindir_cross}"
> > > +
> > > +PROVIDES += "u-boot-fw-utils"
> > > +RPROVIDES_${PN} += "u-boot-fw-utils"
> > > +
> > > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> > > +BBCLASSEXTEND = "cross"
> > > diff --git a/recipes-bsp/u-boot/u-boot-toradex.inc
> b/recipes-bsp/u-boot/u-boot-toradex.inc
> > > deleted file mode 100644
> > > index 67e9976..0000000
> > > --- a/recipes-bsp/u-boot/u-boot-toradex.inc
> > > +++ /dev/null
> > > @@ -1,21 +0,0 @@
> > > -# Copyright (C) 2015 Toradex AG
> > > -# Based on u-boot-fslc.inc Copyright (C) 2012-2014 O.S. Systems
> Software LTDA
> > > -# Released under the MIT license (see COPYING.MIT for the terms)
> > > -
> > > -require recipes-bsp/u-boot/u-boot.inc
> > > -
> > > -inherit fsl-u-boot-localversion
> > > -
> > > -SUMMARY = "U-Boot bootloader with support for Toradex Computer on
> Modules"
> > > -LICENSE = "GPLv2+"
> > > -LIC_FILES_CHKSUM =
> "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
> > > -
> > > -PROVIDES += "u-boot"
> > > -
> > > -SRC_URI = "git://
> git.toradex.com/u-boot-toradex.git;branch=${SRCBRANCH}
> <http://git.toradex.com/u-boot-toradex.git;branch=$%7BSRCBRANCH%7D>"
> > > -
> > > -S = "${WORKDIR}/git"
> > > -
> > > -inherit dtc-145
> > > -
> > > -PACKAGE_ARCH = "${MACHINE_ARCH}"
> > > diff --git a/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb
> b/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb
> > > index f54eeaa..e409131 100644
> > > --- a/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb
> > > +++ b/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb
> > > @@ -1,8 +1,8 @@
> > > -require recipes-bsp/u-boot/u-boot-toradex.inc
> > > +require recipes-bsp/u-boot/u-boot.inc
> > > +require recipes-bsp/u-boot/u-boot-toradex_${PV}.inc
> > >
> > >  LOCALVERSION = "-2.8.3"
> > > -PV_append = "+git${SRCPV}"
> > >
> > > -SRCREV = "aca804c9ddadbf34a8ff82779e5598ec5e319f23"
> > > -SRCBRANCH = "2016.11-toradex"
> > > -COMPATIBLE_MACHINE = "(mx6|mx7|vf|use-mainline-bsp)"
> > > +PROVIDES += "u-boot"
> > > +
> > > +inherit fsl-u-boot-localversion dtc-145
> > > diff --git a/recipes-bsp/u-boot/u-boot-toradex_2016.11.inc
> b/recipes-bsp/u-boot/u-boot-toradex_2016.11.inc
> > > new file mode 100644
> > > index 0000000..dd8c921
> > > --- /dev/null
> > > +++ b/recipes-bsp/u-boot/u-boot-toradex_2016.11.inc
> > > @@ -0,0 +1,20 @@
> > > +# Copyright (C) 2015 Toradex AG
> > > +# Based on u-boot-fslc.inc Copyright (C) 2012-2014 O.S. Systems
> Software LTDA
> > > +# Released under the MIT license (see COPYING.MIT for the terms)
> > > +
> > > +SUMMARY = "U-Boot bootloader with support for Toradex Computer on
> Modules"
> > > +LICENSE = "GPLv2+"
> > > +LIC_FILES_CHKSUM =
> "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
> > > +
> > > +SRC_URI = "git://
> git.toradex.com/u-boot-toradex.git;branch=${SRCBRANCH}
> <http://git.toradex.com/u-boot-toradex.git;branch=$%7BSRCBRANCH%7D>"
> > > +
> > > +SRCREV ?= "aca804c9ddadbf34a8ff82779e5598ec5e319f23"
> > > +SRCBRANCH ?= "2016.11-toradex"
> > > +
> > > +S = "${WORKDIR}/git"
> > > +
> > > +PV = "2016.11+git${SRCPV}"
> > > +
> > > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> > > +
> > > +COMPATIBLE_MACHINE = "(mx6|mx7|vf|use-mainline-bsp)"