From 314885b16e5d26d27d46a4bfb0d581b27a03b8fe Mon Sep 17 00:00:00 2001 From: Alexey Brodkin Date: Fri, 23 Nov 2018 01:58:20 +0300 Subject: 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. [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 Cc: Richard Purdie Cc: Otavio Salvador Cc: Martin Jansa Cc: Ross Burton Cc: Marek Vasut Signed-off-by: Richard Purdie --- 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 +- meta/recipes-bsp/u-boot/u-boot-mkimage_2018.07.bb | 29 ------------- meta/recipes-bsp/u-boot/u-boot-tools_2018.07.bb | 52 +++++++++++++++++++++++ 7 files changed, 57 insertions(+), 34 deletions(-) delete mode 100644 meta/recipes-bsp/u-boot/u-boot-mkimage_2018.07.bb create mode 100644 meta/recipes-bsp/u-boot/u-boot-tools_2018.07.bb 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 " RECIPE_MAINTAINER_pn-tzdata = "Armin Kuster " RECIPE_MAINTAINER_pn-u-boot = "Marek Vasut " RECIPE_MAINTAINER_pn-u-boot-fw-utils = "Marek Vasut " -RECIPE_MAINTAINER_pn-u-boot-mkimage = "Marek Vasut " +RECIPE_MAINTAINER_pn-u-boot-tools = "Marek Vasut " RECIPE_MAINTAINER_pn-udev-extraconf = "Ross Burton " RECIPE_MAINTAINER_pn-unfs3 = "Ross Burton " RECIPE_MAINTAINER_pn-unifdef = "Ross Burton " diff --git a/meta/recipes-bsp/u-boot/u-boot-mkimage_2018.07.bb b/meta/recipes-bsp/u-boot/u-boot-mkimage_2018.07.bb deleted file mode 100644 index 08bff1d161..0000000000 --- a/meta/recipes-bsp/u-boot/u-boot-mkimage_2018.07.bb +++ /dev/null @@ -1,29 +0,0 @@ -require u-boot-common_${PV}.inc - -SUMMARY = "U-Boot bootloader image creation tool" -DEPENDS += "openssl" - -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' - -do_compile () { - oe_runmake sandbox_defconfig - - # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and - # generating it requires bin2header tool, which for target build - # is built with target tools and thus cannot be executed on host. - sed -i "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" .config - - oe_runmake cross_tools NO_SDL=1 -} - -do_install () { - install -d ${D}${bindir} - install -m 0755 tools/mkimage ${D}${bindir}/uboot-mkimage - ln -sf uboot-mkimage ${D}${bindir}/mkimage -} - -RDEPENDS_${PN} += "dtc" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-bsp/u-boot/u-boot-tools_2018.07.bb b/meta/recipes-bsp/u-boot/u-boot-tools_2018.07.bb new file mode 100644 index 0000000000..127c4c15d1 --- /dev/null +++ b/meta/recipes-bsp/u-boot/u-boot-tools_2018.07.bb @@ -0,0 +1,52 @@ +require u-boot-common_${PV}.inc + +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' + +do_compile () { + oe_runmake sandbox_defconfig + + # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and + # generating it requires bin2header tool, which for target build + # is built with target tools and thus cannot be executed on host. + sed -i "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" .config + + oe_runmake cross_tools NO_SDL=1 +} + +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 +} + +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" -- cgit 1.2.3-korg