diff mbox series

[v4] u-boot: Add mkenvimage tool

Message ID 20181120202107.41029-1-abrodkin@synopsys.com
State New
Headers show
Series [v4] u-boot: Add mkenvimage tool | expand

Commit Message

Alexey Brodkin Nov. 20, 2018, 8:21 p.m. UTC
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.

[1] http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/tree/meta-intel-edison-bsp/recipes-bsp/u-boot/u-boot-tools_2014.04.bb

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@synopsys.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Martin Jansa <martin.jansa@gmail.com>
Cc: Ross Burton <ross.burton@intel.com>
Cc: Marek Vasut <marex@denx.de>
---

I may "git grep u-boot-mkimage" in more places:
 1. meta/classes/image_types.bbclass:311:CONVERSION_DEPENDS_u-boot = "u-boot-mkimage-native"
 2. meta/classes/kernel-fitimage.bbclass:7:        depends = "%s u-boot-mkimage-native dtc-native" % depends
 3. meta/classes/kernel-uimage.bbclass:6:        depends = "%s u-boot-mkimage-native" % depends
 4. meta/conf/distro/include/distro_alias.inc:357:DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage Debian=uboot-mkimage"

But that's not clear for me if it's required to swap "u-boot-mkimage"
to "u-boot-tools" see:
 1. "u-boot-mkimage" is still a valid recipe as we export ot via PROVIDES
    (or I'm mixing package name with recipe name which very well might be
     the case)
 2. I don't fully understand a mening of "DISTRO_PN_ALIAS".
    If that's a name of a package from some big Linux distro or how target
    utility is named in that distro. For example in Debian Sid there's
    a package named "u-boot-tools" which includes "mkimage", "mkenvimage",
    "fw_printenv", "fw_setenv" and many more while in "distro_alias.inc"
    we still have:
    ---------------->8----------------
    DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage Debian=uboot-mkimage"
    ---------------->8----------------

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/conf/distro/include/maintainers.inc                         | 2 +-
 .../{u-boot-mkimage_2018.07.bb => u-boot-tools_2018.07.bb}       | 9 ++++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)
 rename meta/recipes-bsp/u-boot/{u-boot-mkimage_2018.07.bb => u-boot-tools_2018.07.bb} (83%)

Comments

Marek Vasut Nov. 20, 2018, 8:22 p.m. UTC | #1
On 11/20/2018 09:21 PM, Alexey Brodkin wrote:
> 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.
> 
> [1] http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/tree/meta-intel-edison-bsp/recipes-bsp/u-boot/u-boot-tools_2014.04.bb
> 
> 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@synopsys.com>
> Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
> Cc: Otavio Salvador <otavio@ossystems.com.br>
> Cc: Martin Jansa <martin.jansa@gmail.com>
> Cc: Ross Burton <ross.burton@intel.com>
> Cc: Marek Vasut <marex@denx.de>
> ---
> 
> I may "git grep u-boot-mkimage" in more places:
>  1. meta/classes/image_types.bbclass:311:CONVERSION_DEPENDS_u-boot = "u-boot-mkimage-native"
>  2. meta/classes/kernel-fitimage.bbclass:7:        depends = "%s u-boot-mkimage-native dtc-native" % depends
>  3. meta/classes/kernel-uimage.bbclass:6:        depends = "%s u-boot-mkimage-native" % depends
>  4. meta/conf/distro/include/distro_alias.inc:357:DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage Debian=uboot-mkimage"
> 
> But that's not clear for me if it's required to swap "u-boot-mkimage"
> to "u-boot-tools" see:
>  1. "u-boot-mkimage" is still a valid recipe as we export ot via PROVIDES
>     (or I'm mixing package name with recipe name which very well might be
>      the case)
>  2. I don't fully understand a mening of "DISTRO_PN_ALIAS".
>     If that's a name of a package from some big Linux distro or how target
>     utility is named in that distro. For example in Debian Sid there's
>     a package named "u-boot-tools" which includes "mkimage", "mkenvimage",
>     "fw_printenv", "fw_setenv" and many more while in "distro_alias.inc"
>     we still have:
>     ---------------->8----------------
>     DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage Debian=uboot-mkimage"
>     ---------------->8----------------

Just make u-boot-tools RPROVIDE the u-boot-mkimage, and make it generate
a u-boot-mkimage package , no ?
Alexey Brodkin Nov. 20, 2018, 8:34 p.m. UTC | #2
Hi Marek,

> -----Original Message-----
> From: Marek Vasut [mailto:marex@denx.de]
> Sent: Tuesday, November 20, 2018 11:23 PM
> To: Alexey Brodkin <alexey.brodkin@synopsys.com>; openembedded-core@lists.openembedded.org
> Cc: Ross Burton <ross.burton@intel.com>; Khem Raj <raj.khem@gmail.com>; linux-snps-arc@lists.infradead.org; Richard Purdie
> <richard.purdie@linuxfoundation.org>; Otavio Salvador <otavio@ossystems.com.br>; Martin Jansa <martin.jansa@gmail.com>
> Subject: Re: [PATCH v4] u-boot: Add mkenvimage tool
> 
> On 11/20/2018 09:21 PM, Alexey Brodkin wrote:
> > 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.
> >
> > [1] https://urldefense.proofpoint.com/v2/url?u=http-3A__git.yoctoproject.org_cgit_cgit.cgi_meta-2Dintel-2Dedison_tree_meta-
> 2Dintel-2Dedison-2Dbsp_recipes-2Dbsp_u-2Dboot_u-2Dboot-2Dtools-
> 5F2014.04.bb&d=DwICaQ&c=DPL6_X_6JkXFx7AXWqB0tg&r=lqdeeSSEes0GFDDl656eViXO7breS55ytWkhpk5R81I&m=nj37jjvGHLwnN1
> dG2F_IclB3hs-QGaHNS6Z30MOVzGg&s=ReoeMoga0WNrEzYviKd1GBckgNDpZ1E6fs9XguZmy7k&e=
> >
> > 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@synopsys.com>
> > Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
> > Cc: Otavio Salvador <otavio@ossystems.com.br>
> > Cc: Martin Jansa <martin.jansa@gmail.com>
> > Cc: Ross Burton <ross.burton@intel.com>
> > Cc: Marek Vasut <marex@denx.de>
> > ---
> >
> > I may "git grep u-boot-mkimage" in more places:
> >  1. meta/classes/image_types.bbclass:311:CONVERSION_DEPENDS_u-boot = "u-boot-mkimage-native"
> >  2. meta/classes/kernel-fitimage.bbclass:7:        depends = "%s u-boot-mkimage-native dtc-native" % depends
> >  3. meta/classes/kernel-uimage.bbclass:6:        depends = "%s u-boot-mkimage-native" % depends
> >  4. meta/conf/distro/include/distro_alias.inc:357:DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage
> Debian=uboot-mkimage"
> >
> > But that's not clear for me if it's required to swap "u-boot-mkimage"
> > to "u-boot-tools" see:
> >  1. "u-boot-mkimage" is still a valid recipe as we export ot via PROVIDES
> >     (or I'm mixing package name with recipe name which very well might be
> >      the case)
> >  2. I don't fully understand a mening of "DISTRO_PN_ALIAS".
> >     If that's a name of a package from some big Linux distro or how target
> >     utility is named in that distro. For example in Debian Sid there's
> >     a package named "u-boot-tools" which includes "mkimage", "mkenvimage",
> >     "fw_printenv", "fw_setenv" and many more while in "distro_alias.inc"
> >     we still have:
> >     ---------------->8----------------
> >     DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage Debian=uboot-mkimage"
> >     ---------------->8----------------
> 
> Just make u-boot-tools RPROVIDE the u-boot-mkimage, and make it generate
> a u-boot-mkimage package , no ?

Sorry I'm still a bit confused with all those complexities of OE so pls pardon my silly questions.
What are we going to solve with RPROVIDE and how it differs from PROVIDES I already
added in the recipe?

-Alexey
Richard Purdie Nov. 20, 2018, 10:02 p.m. UTC | #3
On Tue, 2018-11-20 at 23:21 +0300, Alexey Brodkin wrote:
> 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.
> 
> [1] 
> http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/tree/meta-intel-edison-bsp/recipes-bsp/u-boot/u-boot-tools_2014.04.bb
> 
> 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@synopsys.com>
> Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
> Cc: Otavio Salvador <otavio@ossystems.com.br>
> Cc: Martin Jansa <martin.jansa@gmail.com>
> Cc: Ross Burton <ross.burton@intel.com>
> Cc: Marek Vasut <marex@denx.de>
> ---
> 
> I may "git grep u-boot-mkimage" in more places:
>  1. meta/classes/image_types.bbclass:311:CONVERSION_DEPENDS_u-boot =
> "u-boot-mkimage-native"
>  2. meta/classes/kernel-fitimage.bbclass:7:        depends = "%s u-
> boot-mkimage-native dtc-native" % depends
>  3. meta/classes/kernel-uimage.bbclass:6:        depends = "%s u-
> boot-mkimage-native" % depends
>  4. meta/conf/distro/include/distro_alias.inc:357:DISTRO_PN_ALIAS_pn-
> u-boot-mkimage = "Ubuntu=uboot-mkimage Debian=uboot-mkimage"
> 
> But that's not clear for me if it's required to swap "u-boot-mkimage"
> to "u-boot-tools" see:
>  1. "u-boot-mkimage" is still a valid recipe as we export ot via
> PROVIDES
>     (or I'm mixing package name with recipe name which very well
> might be
>      the case)
>  2. I don't fully understand a mening of "DISTRO_PN_ALIAS".
>     If that's a name of a package from some big Linux distro or how
> target
>     utility is named in that distro. For example in Debian Sid
> there's
>     a package named "u-boot-tools" which includes "mkimage",
> "mkenvimage",
>     "fw_printenv", "fw_setenv" and many more while in
> "distro_alias.inc"
>     we still have:
>     ---------------->8----------------
>     DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage
> Debian=uboot-mkimage"
>     ---------------->8----------------

Sorry, the tests in meta-oe have exposed another issue:

https://8n1.org/14048/3f99

which means the PROVIDES isn't quite right. The reason is there is
magic in the recipe which extends it to the native and nativesdk cases
but its not quite working.

I think the easiest way to address this may be

PROVIDES = "${MLPREFIX}u-boot-mkimage ${MLPREFIX}u-boot-mkenvimage"
PROVIDES_class-native = "u-boot-mkimage-native u-boot-mkenvimage-
native"

since in the nativesdk case, MLPREFIX expands to nativesdk-. The second
class-native line may not be needed. You could check with:

bitbake u-boot-tools -e | grep ^PROVIDES=

and see if it computes the value without manually overriding it.

Cheers,

Richard
Richard Purdie Nov. 20, 2018, 10:05 p.m. UTC | #4
On Tue, 2018-11-20 at 23:21 +0300, Alexey Brodkin wrote:
> 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.
> 
> [1] 
> http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/tree/meta-intel-edison-bsp/recipes-bsp/u-boot/u-boot-tools_2014.04.bb
> 
> 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@synopsys.com>
> Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
> Cc: Otavio Salvador <otavio@ossystems.com.br>
> Cc: Martin Jansa <martin.jansa@gmail.com>
> Cc: Ross Burton <ross.burton@intel.com>
> Cc: Marek Vasut <marex@denx.de>
> ---
> 
> I may "git grep u-boot-mkimage" in more places:
>  1. meta/classes/image_types.bbclass:311:CONVERSION_DEPENDS_u-boot =
> "u-boot-mkimage-native"
>  2. meta/classes/kernel-fitimage.bbclass:7:        depends = "%s u-
> boot-mkimage-native dtc-native" % depends
>  3. meta/classes/kernel-uimage.bbclass:6:        depends = "%s u-
> boot-mkimage-native" % depends
>  4. meta/conf/distro/include/distro_alias.inc:357:DISTRO_PN_ALIAS_pn-
> u-boot-mkimage = "Ubuntu=uboot-mkimage Debian=uboot-mkimage"
> 
> But that's not clear for me if it's required to swap "u-boot-mkimage"
> to "u-boot-tools" see:
>  1. "u-boot-mkimage" is still a valid recipe as we export ot via
> PROVIDES
>     (or I'm mixing package name with recipe name which very well
> might be
>      the case)
>  2. I don't fully understand a mening of "DISTRO_PN_ALIAS".
>     If that's a name of a package from some big Linux distro or how
> target
>     utility is named in that distro. For example in Debian Sid
> there's
>     a package named "u-boot-tools" which includes "mkimage",
> "mkenvimage",
>     "fw_printenv", "fw_setenv" and many more while in
> "distro_alias.inc"
>     we still have:
>     ---------------->8----------------
>     DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage
> Debian=uboot-mkimage"
>     ---------------->8----------------

I meant to say, for cleanliness, all the references you mentioned
should also be converted in this patch. Most will work with PROVIDES
mapping but we should improve them.

Cheers,

Richard
Otavio Salvador Nov. 21, 2018, 3:45 p.m. UTC | #5
On Tue, Nov 20, 2018 at 6:22 PM Marek Vasut <marex@denx.de> wrote:
> On 11/20/2018 09:21 PM, Alexey Brodkin wrote:
> > 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.
> >
> > [1] http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/tree/meta-intel-edison-bsp/recipes-bsp/u-boot/u-boot-tools_2014.04.bb
> >
> > 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@synopsys.com>
> > Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
> > Cc: Otavio Salvador <otavio@ossystems.com.br>
> > Cc: Martin Jansa <martin.jansa@gmail.com>
> > Cc: Ross Burton <ross.burton@intel.com>
> > Cc: Marek Vasut <marex@denx.de>
> > ---
> >
> > I may "git grep u-boot-mkimage" in more places:
> >  1. meta/classes/image_types.bbclass:311:CONVERSION_DEPENDS_u-boot = "u-boot-mkimage-native"
> >  2. meta/classes/kernel-fitimage.bbclass:7:        depends = "%s u-boot-mkimage-native dtc-native" % depends
> >  3. meta/classes/kernel-uimage.bbclass:6:        depends = "%s u-boot-mkimage-native" % depends
> >  4. meta/conf/distro/include/distro_alias.inc:357:DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage Debian=uboot-mkimage"
> >
> > But that's not clear for me if it's required to swap "u-boot-mkimage"
> > to "u-boot-tools" see:
> >  1. "u-boot-mkimage" is still a valid recipe as we export ot via PROVIDES
> >     (or I'm mixing package name with recipe name which very well might be
> >      the case)
> >  2. I don't fully understand a mening of "DISTRO_PN_ALIAS".
> >     If that's a name of a package from some big Linux distro or how target
> >     utility is named in that distro. For example in Debian Sid there's
> >     a package named "u-boot-tools" which includes "mkimage", "mkenvimage",
> >     "fw_printenv", "fw_setenv" and many more while in "distro_alias.inc"
> >     we still have:
> >     ---------------->8----------------
> >     DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage Debian=uboot-mkimage"
> >     ---------------->8----------------
>
> Just make u-boot-tools RPROVIDE the u-boot-mkimage, and make it generate
> a u-boot-mkimage package , no ?

In fact, it should:

PROVIDE += "u-boot-mkimage"

So dependencies are going to keep working; as Richard said, it should
use the new name for the sake of correctness though.

The package split will define how it will need to be handled for the
runtime counterpart.

If we adopt:

PACKAGES += "${PN}-mkimage ${PN}-mkenvimage"

Then we need to add:

RPROVIDES_${PN}-mkimage = "u-boot-mkimage"
RREPLACES_${PN}-mkimage = "u-boot-mkimage"
RCONFLICTS_${PN}-mkimage = "u-boot-mkimage"

So it provides the upgrade path to the original package.

(this is my vote, btw)
Marek Vasut Nov. 21, 2018, 3:47 p.m. UTC | #6
On 11/21/2018 04:45 PM, Otavio Salvador wrote:
> On Tue, Nov 20, 2018 at 6:22 PM Marek Vasut <marex@denx.de> wrote:
>> On 11/20/2018 09:21 PM, Alexey Brodkin wrote:
>>> 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.
>>>
>>> [1] http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/tree/meta-intel-edison-bsp/recipes-bsp/u-boot/u-boot-tools_2014.04.bb
>>>
>>> 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@synopsys.com>
>>> Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
>>> Cc: Otavio Salvador <otavio@ossystems.com.br>
>>> Cc: Martin Jansa <martin.jansa@gmail.com>
>>> Cc: Ross Burton <ross.burton@intel.com>
>>> Cc: Marek Vasut <marex@denx.de>
>>> ---
>>>
>>> I may "git grep u-boot-mkimage" in more places:
>>>  1. meta/classes/image_types.bbclass:311:CONVERSION_DEPENDS_u-boot = "u-boot-mkimage-native"
>>>  2. meta/classes/kernel-fitimage.bbclass:7:        depends = "%s u-boot-mkimage-native dtc-native" % depends
>>>  3. meta/classes/kernel-uimage.bbclass:6:        depends = "%s u-boot-mkimage-native" % depends
>>>  4. meta/conf/distro/include/distro_alias.inc:357:DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage Debian=uboot-mkimage"
>>>
>>> But that's not clear for me if it's required to swap "u-boot-mkimage"
>>> to "u-boot-tools" see:
>>>  1. "u-boot-mkimage" is still a valid recipe as we export ot via PROVIDES
>>>     (or I'm mixing package name with recipe name which very well might be
>>>      the case)
>>>  2. I don't fully understand a mening of "DISTRO_PN_ALIAS".
>>>     If that's a name of a package from some big Linux distro or how target
>>>     utility is named in that distro. For example in Debian Sid there's
>>>     a package named "u-boot-tools" which includes "mkimage", "mkenvimage",
>>>     "fw_printenv", "fw_setenv" and many more while in "distro_alias.inc"
>>>     we still have:
>>>     ---------------->8----------------
>>>     DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage Debian=uboot-mkimage"
>>>     ---------------->8----------------
>>
>> Just make u-boot-tools RPROVIDE the u-boot-mkimage, and make it generate
>> a u-boot-mkimage package , no ?
> 
> In fact, it should:
> 
> PROVIDE += "u-boot-mkimage"
> 
> So dependencies are going to keep working; as Richard said, it should
> use the new name for the sake of correctness though.
> 
> The package split will define how it will need to be handled for the
> runtime counterpart.
> 
> If we adopt:
> 
> PACKAGES += "${PN}-mkimage ${PN}-mkenvimage"
> 
> Then we need to add:
> 
> RPROVIDES_${PN}-mkimage = "u-boot-mkimage"
> RREPLACES_${PN}-mkimage = "u-boot-mkimage"
> RCONFLICTS_${PN}-mkimage = "u-boot-mkimage"
> 
> So it provides the upgrade path to the original package.
> 
> (this is my vote, btw)

Cool, all right.
diff mbox series

Patch

diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 0889c1c429..825c24a3f8 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -654,7 +654,7 @@  RECIPE_MAINTAINER_pn-tzcode-native = "Armin Kuster <akuster808@gmail.com>"
 RECIPE_MAINTAINER_pn-tzdata = "Armin Kuster <akuster808@gmail.com>"
 RECIPE_MAINTAINER_pn-u-boot = "Marek Vasut <marek.vasut@gmail.com>"
 RECIPE_MAINTAINER_pn-u-boot-fw-utils = "Marek Vasut <marek.vasut@gmail.com>"
-RECIPE_MAINTAINER_pn-u-boot-mkimage = "Marek Vasut <marek.vasut@gmail.com>"
+RECIPE_MAINTAINER_pn-u-boot-tools = "Marek Vasut <marek.vasut@gmail.com>"
 RECIPE_MAINTAINER_pn-udev-extraconf = "Ross Burton <ross.burton@intel.com>"
 RECIPE_MAINTAINER_pn-unfs3 = "Ross Burton <ross.burton@intel.com>"
 RECIPE_MAINTAINER_pn-unifdef = "Ross Burton <ross.burton@intel.com>"
diff --git a/meta/recipes-bsp/u-boot/u-boot-mkimage_2018.07.bb b/meta/recipes-bsp/u-boot/u-boot-tools_2018.07.bb
similarity index 83%
rename from meta/recipes-bsp/u-boot/u-boot-mkimage_2018.07.bb
rename to meta/recipes-bsp/u-boot/u-boot-tools_2018.07.bb
index 08bff1d161..140afa8dfe 100644
--- a/meta/recipes-bsp/u-boot/u-boot-mkimage_2018.07.bb
+++ b/meta/recipes-bsp/u-boot/u-boot-tools_2018.07.bb
@@ -1,7 +1,8 @@ 
 require u-boot-common_${PV}.inc
 
-SUMMARY = "U-Boot bootloader image creation tool"
+SUMMARY = "U-Boot bootloader tools"
 DEPENDS += "openssl"
+PROVIDES = "u-boot-mkimage u-boot-mkenvimage"
 
 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'
@@ -20,8 +21,14 @@  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"