Message ID | 20181122225820.2553-1-abrodkin@synopsys.com |
---|---|
State | New |
Headers | show |
Series | [v7] u-boot: Add mkenvimage tool | expand |
http://errors.yoctoproject.org/Errors/Details/202185/ On Thu, Nov 22, 2018 at 2:58 PM Alexey Brodkin <alexey.brodkin@synopsys.com> 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> > --- > > Changes v6 -> v7: > * Fix building "u-boot-tools-native" > > 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} | 27 ++++++++++++++++++++-- > 6 files changed, 30 insertions(+), 7 deletions(-) > rename meta/recipes-bsp/u-boot/{u-boot-mkimage_2018.07.bb => u-boot-tools_2018.07.bb} (55%) > > diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass > index 05e5b0a2e0..5c406481ef 100644 > --- a/meta/classes/image_types.bbclass > +++ b/meta/classes/image_types.bbclass > @@ -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" > diff --git a/meta/classes/kernel-fitimage.bbclass b/meta/classes/kernel-fitimage.bbclass > index 4c4fd99ff4..328bef4069 100644 > --- a/meta/classes/kernel-fitimage.bbclass > +++ b/meta/classes/kernel-fitimage.bbclass > @@ -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") > diff --git a/meta/classes/kernel-uimage.bbclass b/meta/classes/kernel-uimage.bbclass > index c2de6bb40d..cedb4fa070 100644 > --- a/meta/classes/kernel-uimage.bbclass > +++ b/meta/classes/kernel-uimage.bbclass > @@ -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 > diff --git a/meta/conf/distro/include/distro_alias.inc b/meta/conf/distro/include/distro_alias.inc > index 7502542e89..f23db1e8a4 100644 > --- a/meta/conf/distro/include/distro_alias.inc > +++ b/meta/conf/distro/include/distro_alias.inc > @@ -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" > diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc > index 05a2c9f38a..8a4362d947 100644 > --- a/meta/conf/distro/include/maintainers.inc > +++ b/meta/conf/distro/include/maintainers.inc > @@ -656,7 +656,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 55% > 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..127c4c15d1 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,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,23 @@ 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" > +RDEPENDS_${PN}_class-native = "" > > BBCLASSEXTEND = "native nativesdk" > -- > 2.16.2 >
Hi Khem, On Sat, 2018-11-24 at 06:57 -0800, Khem Raj wrote: > > http://errors.yoctoproject.org/Errors/Details/202185/ Looking at the target name "u-boot-tools-1_2018.11-r0 do_compile" I think it might have something to do with bump of U-Boot to v2018.11 and the error message in question was added in v2018.11-rc1, see http://git.denx.de/?p=u-boot.git;a=commitdiff;h=a4958a71017fb142542f977c843c5fce769fc6ea The problem is we use "sandbox_defconfig" as a dummy defconfig because otherwise (not configured) U-Boot's build-system won't allow us to proceed and in its turn mentioned patch adds a check for a target platform like "if defined(__x86_64__)" which we essentially don't satisfy and so we fail. There're the following solutions: 1. Revert mentioned patch 2. Disable "CONFIG_EFI_LOADER" Reverting is not nice and not future-proof. Disabling of "CONFIG_EFI_LOADER" might be done in a couple of ways like: 1. Patching sandbox_defconfig 2. Filtering "CONFIG_EFI_LOADER" from "sandbox_defconfig" right before execution of "make sandbox_defconfig" I think latter option is the simplest and cleanest. Should I send a patch for that? -Alexey
On Mon, Nov 26, 2018 at 1:30 PM Alexey Brodkin <alexey.brodkin@synopsys.com> wrote: > > Hi Khem, > > > On Sat, 2018-11-24 at 06:57 -0800, Khem Raj wrote: > > > > http://errors.yoctoproject.org/Errors/Details/202185/ > > Looking at the target name "u-boot-tools-1_2018.11-r0 do_compile" > I think it might have something to do with bump of U-Boot to v2018.11 > and the error message in question was added in v2018.11-rc1, > see http://git.denx.de/?p=u-boot.git;a=commitdiff;h=a4958a71017fb142542f977c843c5fce769fc6ea > > The problem is we use "sandbox_defconfig" as a dummy defconfig > because otherwise (not configured) U-Boot's build-system won't > allow us to proceed and in its turn mentioned patch adds a check > for a target platform like "if defined(__x86_64__)" which > we essentially don't satisfy and so we fail. > > There're the following solutions: > 1. Revert mentioned patch > 2. Disable "CONFIG_EFI_LOADER" > > Reverting is not nice and not future-proof. > Disabling of "CONFIG_EFI_LOADER" might be done in a couple of ways > like: > 1. Patching sandbox_defconfig > 2. Filtering "CONFIG_EFI_LOADER" from "sandbox_defconfig" right before > execution of "make sandbox_defconfig" > > I think latter option is the simplest and cleanest. > > Should I send a patch for that? seems ok. Please do > > -Alexey
Hello Alexey, On Mon, Nov 26, 2018 at 7:30 PM Alexey Brodkin <alexey.brodkin@synopsys.com> wrote: > On Sat, 2018-11-24 at 06:57 -0800, Khem Raj wrote: > > > > http://errors.yoctoproject.org/Errors/Details/202185/ > > Looking at the target name "u-boot-tools-1_2018.11-r0 do_compile" > I think it might have something to do with bump of U-Boot to v2018.11 > and the error message in question was added in v2018.11-rc1, > see http://git.denx.de/?p=u-boot.git;a=commitdiff;h=a4958a71017fb142542f977c843c5fce769fc6ea > > The problem is we use "sandbox_defconfig" as a dummy defconfig > because otherwise (not configured) U-Boot's build-system won't > allow us to proceed and in its turn mentioned patch adds a check > for a target platform like "if defined(__x86_64__)" which > we essentially don't satisfy and so we fail. > > There're the following solutions: > 1. Revert mentioned patch > 2. Disable "CONFIG_EFI_LOADER" > > Reverting is not nice and not future-proof. > Disabling of "CONFIG_EFI_LOADER" might be done in a couple of ways > like: > 1. Patching sandbox_defconfig > 2. Filtering "CONFIG_EFI_LOADER" from "sandbox_defconfig" right before > execution of "make sandbox_defconfig" > > I think latter option is the simplest and cleanest. > > Should I send a patch for that? Let's add Tom (U-Boot upstream main maintainer) to this so he can comment.
On Mon, Nov 26, 2018 at 09:07:37PM -0200, Otavio Salvador wrote: > Hello Alexey, > > On Mon, Nov 26, 2018 at 7:30 PM Alexey Brodkin > <alexey.brodkin@synopsys.com> wrote: > > On Sat, 2018-11-24 at 06:57 -0800, Khem Raj wrote: > > > > > > http://errors.yoctoproject.org/Errors/Details/202185/ > > > > Looking at the target name "u-boot-tools-1_2018.11-r0 do_compile" > > I think it might have something to do with bump of U-Boot to v2018.11 > > and the error message in question was added in v2018.11-rc1, > > see http://git.denx.de/?p=u-boot.git;a=commitdiff;h=a4958a71017fb142542f977c843c5fce769fc6ea > > > > The problem is we use "sandbox_defconfig" as a dummy defconfig > > because otherwise (not configured) U-Boot's build-system won't > > allow us to proceed and in its turn mentioned patch adds a check > > for a target platform like "if defined(__x86_64__)" which > > we essentially don't satisfy and so we fail. > > > > There're the following solutions: > > 1. Revert mentioned patch > > 2. Disable "CONFIG_EFI_LOADER" > > > > Reverting is not nice and not future-proof. > > Disabling of "CONFIG_EFI_LOADER" might be done in a couple of ways > > like: > > 1. Patching sandbox_defconfig > > 2. Filtering "CONFIG_EFI_LOADER" from "sandbox_defconfig" right before > > execution of "make sandbox_defconfig" > > > > I think latter option is the simplest and cleanest. > > > > Should I send a patch for that? > > Let's add Tom (U-Boot upstream main maintainer) to this so he can comment. Hey, so you've hit the problem Fedora also hit, but we haven't gotten a real solution to. Yes, the best "fix" here for just building tools would be to turn off EFI_LOADER in sandbox, on all arches.
Hi Tom, On Mon, 2018-11-26 at 19:51 -0500, Tom Rini wrote: > On Mon, Nov 26, 2018 at 09:07:37PM -0200, Otavio Salvador wrote: > > Hello Alexey, > > > > On Mon, Nov 26, 2018 at 7:30 PM Alexey Brodkin > > <alexey.brodkin@synopsys.com> wrote: > > > On Sat, 2018-11-24 at 06:57 -0800, Khem Raj wrote: > > > > http://errors.yoctoproject.org/Errors/Details/202185/ > > > > > > Looking at the target name "u-boot-tools-1_2018.11-r0 do_compile" > > > I think it might have something to do with bump of U-Boot to v2018.11 > > > and the error message in question was added in v2018.11-rc1, > > > see http://git.denx.de/?p=u-boot.git;a=commitdiff;h=a4958a71017fb142542f977c843c5fce769fc6ea > > > > > > The problem is we use "sandbox_defconfig" as a dummy defconfig > > > because otherwise (not configured) U-Boot's build-system won't > > > allow us to proceed and in its turn mentioned patch adds a check > > > for a target platform like "if defined(__x86_64__)" which > > > we essentially don't satisfy and so we fail. > > > > > > There're the following solutions: > > > 1. Revert mentioned patch > > > 2. Disable "CONFIG_EFI_LOADER" > > > > > > Reverting is not nice and not future-proof. > > > Disabling of "CONFIG_EFI_LOADER" might be done in a couple of ways > > > like: > > > 1. Patching sandbox_defconfig > > > 2. Filtering "CONFIG_EFI_LOADER" from "sandbox_defconfig" right before > > > execution of "make sandbox_defconfig" > > > > > > I think latter option is the simplest and cleanest. > > > > > > Should I send a patch for that? > > > > Let's add Tom (U-Boot upstream main maintainer) to this so he can comment. > > Hey, so you've hit the problem Fedora also hit, but we haven't gotten a > real solution to. Yes, the best "fix" here for just building tools > would be to turn off EFI_LOADER in sandbox, on all arches. But why don't we simply use our own really dummy defconfig like that? ------------------->8-------------------- echo "CONFIG_SYS_TEXT_BASE=0" > .config make olddefconfig make tools ------------------->8-------------------- This is much cleaner approach and much simpler to implement. -Alexey
diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index 05e5b0a2e0..5c406481ef 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass @@ -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" diff --git a/meta/classes/kernel-fitimage.bbclass b/meta/classes/kernel-fitimage.bbclass index 4c4fd99ff4..328bef4069 100644 --- a/meta/classes/kernel-fitimage.bbclass +++ b/meta/classes/kernel-fitimage.bbclass @@ -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") diff --git a/meta/classes/kernel-uimage.bbclass b/meta/classes/kernel-uimage.bbclass index c2de6bb40d..cedb4fa070 100644 --- a/meta/classes/kernel-uimage.bbclass +++ b/meta/classes/kernel-uimage.bbclass @@ -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 diff --git a/meta/conf/distro/include/distro_alias.inc b/meta/conf/distro/include/distro_alias.inc index 7502542e89..f23db1e8a4 100644 --- a/meta/conf/distro/include/distro_alias.inc +++ b/meta/conf/distro/include/distro_alias.inc @@ -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" diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 05a2c9f38a..8a4362d947 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -656,7 +656,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 55% 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..127c4c15d1 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,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,23 @@ 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" +RDEPENDS_${PN}_class-native = "" BBCLASSEXTEND = "native nativesdk"
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> --- Changes v6 -> v7: * Fix building "u-boot-tools-native" 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} | 27 ++++++++++++++++++++-- 6 files changed, 30 insertions(+), 7 deletions(-) rename meta/recipes-bsp/u-boot/{u-boot-mkimage_2018.07.bb => u-boot-tools_2018.07.bb} (55%)