Thanks for the reviewing, will fix those in V2. the best, thank you
Max Krummenacher <max.krummenac...@toradex.com> 於 2018年11月19日 週一 下午3:42寫道: > Hi Ming, > > Thank you for up-streaming this to meta-freescale-3rdparty. > See inline comments below, all starting with "Max:". > > Best Regards. > Max > > On Sun, 2018-11-18 at 20:56 +0100, liu.min...@gmail.com wrote: > > From: Ming Liu <liu.min...@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.min...@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 | 11 +++++ > > .../colibri-imx7/fw_env.config | 11 +++++ > > .../u-boot/u-boot-toradex-fw-utils/fw_env.config | 22 +++++++++ > > .../u-boot-toradex-fw-utils/mx6/fw_env.config | 15 ++++++ > > .../u-boot-toradex-fw-utils/vf/fw_env.config | 11 +++++ > > .../u-boot/u-boot-toradex-fw-utils_2016.11.bb | 42 > +++++++++++++++++ > > recipes-bsp/u-boot/u-boot-toradex.inc | 11 ++--- > > recipes-bsp/u-boot/u-boot-toradex_2016.11.bb | 8 ++-- > > 14 files changed, 188 insertions(+), 10 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 > > > > 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.masah...@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.masah...@socionext.com> > > +Reported-by: Richard Purdie <richard.pur...@linuxfoundation.org> > > +Reviewed-by: Simon Glass <s...@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..30b8b90 > > --- /dev/null > > +++ > b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config > > @@ -0,0 +1,11 @@ > > +# 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 > > Max: > You copied this typo from meta-toradex-nxp, could we change this to > Colibri iMX6ULL here? > > > +/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..30b8b90 > > --- /dev/null > > +++ > b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config > > @@ -0,0 +1,11 @@ > > +# 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..731d874 > > --- /dev/null > > +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config > > @@ -0,0 +1,15 @@ > > +# 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) > > Max: > Could we provide a comment here that /dev/mmcblk0boot0 by default is read > only? > E.g.: > # 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..c1581ea > > --- /dev/null > > +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config > > @@ -0,0 +1,11 @@ > > +# 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..1ed37fc > > --- /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.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 > > index 67e9976..a67b469 100644 > > --- a/recipes-bsp/u-boot/u-boot-toradex.inc > > +++ b/recipes-bsp/u-boot/u-boot-toradex.inc > > Max: > I think we should rename this include file to u-boot-toradex_2016.11.inc > as this > include file now pulls and sets the version of the sources. > Of course with a follow up in the two *bb files using the inc file. > > > @@ -2,20 +2,17 @@ > > # 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>" > > > > +SRCREV ?= "aca804c9ddadbf34a8ff82779e5598ec5e319f23" > > +SRCBRANCH ?= "2016.11-toradex" > > + > > S = "${WORKDIR}/git" > > > > -inherit dtc-145 > > +PV = "v2016.11+git${SRCPV}" > > > > 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..2c82daf 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,10 @@ > > +require recipes-bsp/u-boot/u-boot.inc > > require recipes-bsp/u-boot/u-boot-toradex.inc > > > > LOCALVERSION = "-2.8.3" > > -PV_append = "+git${SRCPV}" > > > > -SRCREV = "aca804c9ddadbf34a8ff82779e5598ec5e319f23" > > -SRCBRANCH = "2016.11-toradex" > > +PROVIDES += "u-boot" > > + > > +inherit fsl-u-boot-localversion dtc-145 > > + > > COMPATIBLE_MACHINE = "(mx6|mx7|vf|use-mainline-bsp)" > > Max: > I think COMPATIBLE_MACHINE should be also set for the fw-utils, thus I > would move > this to the *.inc file. >
-- _______________________________________________ meta-freescale mailing list meta-freescale@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-freescale