u-boot: Add mkenvimage tool
PATCH v6 1/1 u-boot: Add mkenvimage tool
This utility is used for creation of images containing usable in run-time U-Boot environment.
As of today this utility is added per-board like here [1] for Intel Edison board.
Given there're quite some U-Boot tools that we may want to add later this recipe name switch from "u-boot-mkimage" to generic "u-boot-tools" still for compatibility we provide "u-boot-mkimage" with help of PROVIDES as well as proposed "u-boot-mkenvimage".
---
Changes v5 -> v6:
* Really enable separate pakaging of mkimage and mkenvimage
Changes v4 -> v5:
* Added backward compatibility with "u-boot-mkimage" recipe
* Improved handling of nativesdk
* Update all references from "u-boot-mkimage" to "u-boot-tools"
Changes v3 -> v4:
* Updated maintainer info to make Yocto autobuilder happy again
Changes v2 -> v3:
* Recipe renamed to "u-boot-tools" to better match its contents (especially in the future as we add more tools there)
* Existing "u-boot-mkimage" and newly introduced "u-boot-mkenvimage" made avaialble via PROVIDES
Changes v1 -> v2:
* Got rid of a separate recipe and instead added mkenvimage to u-boot mkimage recipe
meta/classes/image_types.bbclass | 2 +-
meta/classes/kernel-fitimage.bbclass | 2 +-
meta/classes/kernel-uimage.bbclass | 2 +-
meta/conf/distro/include/distro_alias.inc | 2 +-
meta/conf/distro/include/maintainers.inc | 2 +-
...-mkimage_2018.07.bb => u-boot-tools_2018.07.bb} | 26 ++++++++++++++++++++--
6 files changed, 29 insertions(+), 7 deletions(-)
rename meta/recipes-bsp/u-boot/{u-boot-mkimage_2018.07.bb => u-boot-tools_2018.07.bb} (56%)meta/classes/image_types.bbclass +1 -1
@@ -308,7 +308,7 @@ CONVERSION_DEPENDS_lzo = "lzop-native" CONVERSION_DEPENDS_zip = "zip-native" CONVERSION_DEPENDS_sum = "mtd-utils-native" CONVERSION_DEPENDS_bmap = "bmap-tools-native" -CONVERSION_DEPENDS_u-boot = "u-boot-mkimage-native" +CONVERSION_DEPENDS_u-boot = "u-boot-tools-native" CONVERSION_DEPENDS_vmdk = "qemu-native" CONVERSION_DEPENDS_vdi = "qemu-native" CONVERSION_DEPENDS_qcow2 = "qemu-native"
meta/classes/kernel-fitimage.bbclass +1 -1
@@ -4,7 +4,7 @@ python __anonymous () { kerneltypes = d.getVar('KERNEL_IMAGETYPES') or "" if 'fitImage' in kerneltypes.split(): depends = d.getVar("DEPENDS") - depends = "%s u-boot-mkimage-native dtc-native" % depends + depends = "%s u-boot-tools-native dtc-native" % depends d.setVar("DEPENDS", depends) uarch = d.getVar("UBOOT_ARCH")
meta/classes/kernel-uimage.bbclass +1 -1
@@ -3,7 +3,7 @@ inherit kernel-uboot python __anonymous () { if "uImage" in d.getVar('KERNEL_IMAGETYPES'): depends = d.getVar("DEPENDS") - depends = "%s u-boot-mkimage-native" % depends + depends = "%s u-boot-tools-native" % depends d.setVar("DEPENDS", depends) # Override KERNEL_IMAGETYPE_FOR_MAKE variable, which is internal
meta/conf/distro/include/distro_alias.inc +1 -1
@@ -354,7 +354,7 @@ DISTRO_PN_ALIAS_pn-tremor = "OSPDT upstream=http://www.xiph.org/vorbis/" DISTRO_PN_ALIAS_pn-ttf-bitstream-vera = "Debian=ttf-bitstream-vera Ubuntu=ttf-bitstream-vera" DISTRO_PN_ALIAS_pn-tzcode = "OSPDT" DISTRO_PN_ALIAS_pn-u-boot-fw-utils = "Ubuntu=u-boot-tools Debian=u-boot-tools" -DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage Debian=uboot-mkimage" +DISTRO_PN_ALIAS_pn-u-boot-tools = "Ubuntu=u-boot-tools Debian=uboot-tools" DISTRO_PN_ALIAS_pn-udev = "Mandriva=udev Fedora=udev" DISTRO_PN_ALIAS_pn-udev-extraconf = "OE-Core" DISTRO_PN_ALIAS_pn-unfs3 = "Debian=unfs3 Fedora=unfs3"
meta/conf/distro/include/maintainers.inc +1 -1
@@ -654,7 +654,7 @@ RECIPE_MAINTAINER_pn-tzcode-native = "Armin Kuster <akuster808 at gmail.com>" RECIPE_MAINTAINER_pn-tzdata = "Armin Kuster <akuster808 at gmail.com>" RECIPE_MAINTAINER_pn-u-boot = "Marek Vasut <marek.vasut at gmail.com>" RECIPE_MAINTAINER_pn-u-boot-fw-utils = "Marek Vasut <marek.vasut at gmail.com>" -RECIPE_MAINTAINER_pn-u-boot-mkimage = "Marek Vasut <marek.vasut at gmail.com>" +RECIPE_MAINTAINER_pn-u-boot-tools = "Marek Vasut <marek.vasut at gmail.com>" RECIPE_MAINTAINER_pn-udev-extraconf = "Ross Burton <ross.burton at intel.com>" RECIPE_MAINTAINER_pn-unfs3 = "Ross Burton <ross.burton at intel.com>" RECIPE_MAINTAINER_pn-unifdef = "Ross Burton <ross.burton at intel.com>"
meta/recipes-bsp/u-boot/u-boot-tools_2018.07.bb renamed from meta/recipes-bsp/u-boot/u-boot-mkimage_2018.07.bb +24 -2
@@ -1,8 +1,18 @@ require u-boot-common_${PV}.inc -SUMMARY = "U-Boot bootloader image creation tool" +SUMMARY = "U-Boot bootloader tools" DEPENDS += "openssl" +PROVIDES = "${MLPREFIX}u-boot-mkimage ${MLPREFIX}u-boot-mkenvimage" +PROVIDES_class-native = "u-boot-mkimage-native u-boot-mkenvimage-native" + +PACKAGES += "${PN}-mkimage ${PN}-mkenvimage" + +# Required for backward compatibility with "u-boot-mkimage-xxx.bb" +RPROVIDES_${PN}-mkimage = "u-boot-mkimage" +RREPLACES_${PN}-mkimage = "u-boot-mkimage" +RCONFLICTS_${PN}-mkimage = "u-boot-mkimage" + EXTRA_OEMAKE_class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1' EXTRA_OEMAKE_class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1' EXTRA_OEMAKE_class-nativesdk = 'CROSS_COMPILE="${HOST_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
@@ -20,10 +30,22 @@ do_compile () { do_install () { install -d ${D}${bindir} + + # mkimage install -m 0755 tools/mkimage ${D}${bindir}/uboot-mkimage ln -sf uboot-mkimage ${D}${bindir}/mkimage + + # mkenvimage + install -m 0755 tools/mkenvimage ${D}${bindir}/uboot-mkenvimage + ln -sf uboot-mkenvimage ${D}${bindir}/mkenvimage } -RDEPENDS_${PN} += "dtc" +ALLOW_EMPTY_${PN} = "1" +FILES_${PN} = "" +FILES_${PN}-mkimage = "${bindir}/uboot-mkimage ${bindir}/mkimage" +FILES_${PN}-mkenvimage = "${bindir}/uboot-mkenvimage ${bindir}/mkenvimage" + +RDEPENDS_${PN}-mkimage += "dtc" +RDEPENDS_${PN} += "${PN}-mkimage ${PN}-mkenvimage" BBCLASSEXTEND = "native nativesdk"
Signature · 1 line
2.16.2
PATCH v6 1/1 u-boot: Add mkenvimage tool
Hello Alexey,
Quoted 14 lines · Alexey Brodkin
This utility is used for creation of images containing usable in run-time U-Boot environment.
As of today this utility is added per-board like here [1] for Intel Edison board.
Given there're quite some U-Boot tools that we may want to add later this recipe name switch from "u-boot-mkimage" to generic "u-boot-tools" still for compatibility we provide "u-boot-mkimage" with help of PROVIDES as well as proposed "u-boot-mkenvimage".
Quoted 6 lines
Signed-off-by Alexey Brodkin <abrodkin at synopsys.com>Cc Richard Purdie <richard.purdie at linuxfoundation.org>Cc Otavio Salvador <otavio at ossystems.com.br>Cc Martin Jansa <martin.jansa at gmail.com>Cc Ross Burton <ross.burton at intel.com>Cc Marek Vasut <marex at denx.de>
I'd like to thank you to keep the pace until it was ready. I know it may be challenging to contribute to new projects and OpenEmbedded is no different.
You were very welcoming to comments and change requests and I believe it was a great thread of changes which lead to a good patch. I look forward to the new patches you'll start submitting from now on :-)
Keep the good work.
Best Regards,
Signature · 3 lines
Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9 9981-7854 Mobile: +1 (347) 903-9750
PATCH v6 1/1 u-boot: Add mkenvimage tool
Hi Otavio,
Quoted 27 lines · Otavio Salvador
Hello Alexey,
Quoted 14 lines · Alexey Brodkin
This utility is used for creation of images containing usable in run-time U-Boot environment.
As of today this utility is added per-board like here [1] for Intel Edison board.
Given there're quite some U-Boot tools that we may want to add later this recipe name switch from "u-boot-mkimage" to generic "u-boot-tools" still for compatibility we provide "u-boot-mkimage" with help of PROVIDES as well as proposed "u-boot-mkenvimage".
Quoted 6 lines
Signed-off-by Alexey Brodkin <abrodkin at synopsys.com>Cc Richard Purdie <richard.purdie at linuxfoundation.org>Cc Otavio Salvador <otavio at ossystems.com.br>Cc Martin Jansa <martin.jansa at gmail.com>Cc Ross Burton <ross.burton at intel.com>Cc Marek Vasut <marex at denx.de>Acked-by Otavio Salvador <otavio at ossystems.com.br>
Quoted 7 lines
I'd like to thank you to keep the pace until it was ready. I know it may be challenging to contribute to new projects and OpenEmbedded is no different.
You were very welcoming to comments and change requests and I believe it was a great thread of changes which lead to a good patch. I look forward to the new patches you'll start submitting from now on :-)
I'd like to thank you guys as well for being patient and providing meaningful comments for my naive and sometime silly changes.
And sure there will be more patches as now we start using OE for quite some projects basically trying to get ARC up to speed in OE as good as possible and given our architecture differs a bit from others (as any other arch) we're not only adding features but more fix issues that were not seen before due to pure luck... like we typically have 8k MMU page a bit exotic int64_t alignment by 32 bits etc so there'll be more stuff from us in the foreseeable future :)
-Alexey
PATCH v6 1/1 u-boot: Add mkenvimage tool
Quoted 42 lines · Alexey Brodkin
Hi Otavio,
Quoted 27 lines · Otavio Salvador
Hello Alexey,
Quoted 14 lines · Alexey Brodkin
This utility is used for creation of images containing usable in run-time U-Boot environment.
As of today this utility is added per-board like here [1] for Intel Edison board.
Given there're quite some U-Boot tools that we may want to add later this recipe name switch from "u-boot-mkimage" to generic "u-boot-tools" still for compatibility we provide "u-boot-mkimage" with help of PROVIDES as well as proposed "u-boot-mkenvimage".
Quoted 6 lines
Signed-off-by Alexey Brodkin <abrodkin at synopsys.com>Cc Richard Purdie <richard.purdie at linuxfoundation.org>Cc Otavio Salvador <otavio at ossystems.com.br>Cc Martin Jansa <martin.jansa at gmail.com>Cc Ross Burton <ross.burton at intel.com>Cc Marek Vasut <marex at denx.de>Acked-by Otavio Salvador <otavio at ossystems.com.br>Quoted 7 lines
I'd like to thank you to keep the pace until it was ready. I know it may be challenging to contribute to new projects and OpenEmbedded is no different.
You were very welcoming to comments and change requests and I believe it was a great thread of changes which lead to a good patch. I look forward to the new patches you'll start submitting from now on :-)
I'd like to thank you guys as well for being patient and providing meaningful comments for my naive and sometime silly changes.
Quoted 8 lines
And sure there will be more patches as now we start using OE for quite some projects basically trying to get ARC up to speed in OE as good as possible and given our architecture differs a bit from others (as any other arch) we're not only adding features but more fix issues that were not seen before due to pure luck... like we typically have 8k MMU page a bit exotic
int64_talignment by 32 bits etc so there'll be more stuff from us in the foreseeable future :)
Looking forward to show the iterations behind this series to contribution newbies. It's a good example of when things work well both sides! I had this little piece of u-boot-tools flying around in several projects, but never found the time to figure out a reasonable approach to reconcile it cleanly with the other u-boot components. Of course, I'm first of all showing myself that I'd have better contributed it at first to leverage all suggestions that came out of this discussion. Thanks Alexey for taking care of this all!
PATCH v6 1/1 u-boot: Add mkenvimage tool
In reply to Alexey BrodkinHi, Richard, Otavio,
Quoted 38 lines · Alexey Brodkin
This utility is used for creation of images containing usable in run-time U-Boot environment.
As of today this utility is added per-board like here [1] for Intel Edison board.
Given there're quite some U-Boot tools that we may want to add later this recipe name switch from "u-boot-mkimage" to generic "u-boot-tools" still for compatibility we provide "u-boot-mkimage" with help of PROVIDES as well as proposed "u-boot-mkenvimage".
Signed-off-by Alexey Brodkin <abrodkin at synopsys.com>Cc Richard Purdie <richard.purdie at linuxfoundation.org>Cc Otavio Salvador <otavio at ossystems.com.br>Cc Martin Jansa <martin.jansa at gmail.com>Cc Ross Burton <ross.burton at intel.com>Cc Marek Vasut <marex at denx.de>---
Changes v5 -> v6:
* Really enable separate pakaging of mkimage and mkenvimageChanges v4 -> v5:
* Added backward compatibility with "u-boot-mkimage" recipe
* Improved handling of nativesdk
* Update all references from "u-boot-mkimage" to "u-boot-tools"Changes v3 -> v4:
* Updated maintainer info to make Yocto autobuilder happy againChanges v2 -> v3:
* Recipe renamed to "u-boot-tools" to better match its contents (especially in the future as we add more tools there)
* Existing "u-boot-mkimage" and newly introduced "u-boot-mkenvimage" made avaialble via PROVIDES
Quoted 3 lines
Changes v1 -> v2:
* Got rid of a separate recipe and instead added mkenvimage to u-boot mkimage recipe
So apparently something is still broken :(
------------------------->8-------------------------------
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'u-boot-tools-native-mkimage-native' (but virtual:native:.../openembedded-core/meta/recipes-bsp/u-boot/u-boot- tools_2018.07.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'u-boot-tools-native-mkimage-native' is unbuildable, removing... Missing or unbuildable dependency chain was: ['u-boot-tools-native-mkimage-native']
ERROR: Required build target 'core-image-base' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-base', 'virtual/kernel', 'u-boot-tools-native', 'u-boot-tools-native-mkimage-native'] ------------------------->8-------------------------------
Indeed "u-boot-tools-native-mkimage-native" looks quite odd.
Any hints on how that could be addressed?
-Alexey
PATCH v6 1/1 u-boot: Add mkenvimage tool
Quoted 68 lines · Alexey Brodkin
Hi, Richard, Otavio,
Quoted 42 lines · Alexey Brodkin
This utility is used for creation of images containing usable in run-time U-Boot environment.
As of today this utility is added per-board like here [1] for Intel Edison board.
Given there're quite some U-Boot tools that we may want to add later
this recipe name switch from "u-boot-mkimage" to generic "u-boot- tools"
still for compatibility we provide "u-boot-mkimage" with help of PROVIDES as well as proposed "u-boot-mkenvimage".Signed-off-by Alexey Brodkin <abrodkin at synopsys.com>Cc Richard Purdie <richard.purdie at linuxfoundation.org>Cc Otavio Salvador <otavio at ossystems.com.br>Cc Martin Jansa <martin.jansa at gmail.com>Cc Ross Burton <ross.burton at intel.com>Cc Marek Vasut <marex at denx.de>---
Changes v5 -> v6:
* Really enable separate pakaging of mkimage and mkenvimageChanges v4 -> v5:
* Added backward compatibility with "u-boot-mkimage" recipe
* Improved handling of nativesdk
* Update all references from "u-boot-mkimage" to "u-boot-tools"Changes v3 -> v4:
* Updated maintainer info to make Yocto autobuilder happy againChanges v2 -> v3:
* Recipe renamed to "u-boot-tools" to better match its contents (especially in the future as we add more tools there)
* Existing "u-boot-mkimage" and newly introduced "u-boot-
mkenvimage"
made avaialble via PROVIDESQuoted 3 lines
Changes v1 -> v2:
* Got rid of a separate recipe and instead added mkenvimage to u-boot mkimage recipeSo apparently something is still broken :( ------------------------->8-------------------------------
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'u-boot-tools-native-mkimage-native' (but virtual:native:.../openembedded-core/meta/recipes-bsp/u-boot/u-boot- tools_2018.07.bb RDEPENDS on or otherwise requires it)NOTE: Runtime target 'u-boot-tools-native-mkimage-native' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['u-boot-tools-native- mkimage-native']ERROR: Required build target 'core-image-base' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-base', 'virtual/kernel', 'u-boot-tools-native', 'u-boot-tools-native- mkimage-native'] ------------------------->8-------------------------------
Quoted 3 lines
Indeed "u-boot-tools-native-mkimage-native" looks quite odd.
Any hints on how that could be addressed?
Just guessing but maybe
RDEPENDS_${PN}_class-native = ""
?
Cheers,
Richard