Message ID | 20200109100257.91010-1-joerg.krause@embedded.rocks |
---|---|
State | Superseded |
Headers | show |
Series | [1/2] package/imx-uuu: new host package | expand |
Hi Jorg, I have some comments on this commit, mainly in the description so nothing big. On Thu, Jan 09, 2020 at 11:02:55AM +0100, Jörg Krause wrote: > NXP deprecated the old mfgtools code. It has been replaced by the > Universal Update Utility (uuu), also called mfgtools v3.0 although > the releases are named v1.x.yy, which is quite confusing. > > This new tool actually resides in the same repository in the master > branch whereas the old one is now in a 'linux' branch. > > The new tool uuu is a completely different tool than the old mfgtools. > This also means, that existing mfgtools scripts will not work with the > uuu tool. > > Therefore, it has been decided to create a new package imx-uuu [1]. > > Note, that uuu uses git to define a version string `GIT_VERSION`. > It does so even when building from a source tarball (automatically > generated by github). The problem is, that git provides the version > information of Buildroot and mfgtools uses this version information to > do a runtime check to detect outdated command list scripts. > > To fix this, we overwrite gen_ver.sh with something that simply prints a > define for `GIT_VERSION` with the uuu version string (preceeded by > "lib", as done in the original gen_ver.sh). > > [1] http://patchwork.ozlabs.org/patch/1112411/ > > Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> > --- > DEVELOPERS | 1 + > package/Config.in.host | 1 + > package/imx-uuu/Config.in.host | 12 ++++++++++++ > package/imx-uuu/imx-uuu.hash | 3 +++ > package/imx-uuu/imx-uuu.mk | 24 ++++++++++++++++++++++++ > 5 files changed, 41 insertions(+) > create mode 100644 package/imx-uuu/Config.in.host > create mode 100644 package/imx-uuu/imx-uuu.hash > create mode 100644 package/imx-uuu/imx-uuu.mk > > diff --git a/DEVELOPERS b/DEVELOPERS > index 1f86c256a5..e1d63e17d2 100644 > --- a/DEVELOPERS > +++ b/DEVELOPERS > @@ -1306,6 +1306,7 @@ F: package/augeas/ > F: package/bluez-alsa/ > F: package/caps/ > F: package/freescale-imx/imx-alsa-plugins/ > +F: package/imx-uuu/ > F: package/libopusenc/ > F: package/libupnpp/ > F: package/luv/ > diff --git a/package/Config.in.host b/package/Config.in.host > index 62e860d7c3..de0cdbae49 100644 > --- a/package/Config.in.host > +++ b/package/Config.in.host > @@ -33,6 +33,7 @@ menu "Host utilities" > source "package/imagemagick/Config.in.host" > source "package/imx-mkimage/Config.in.host" > source "package/imx-usb-loader/Config.in.host" > + source "package/imx-uuu/Config.in.host" > source "package/jq/Config.in.host" > source "package/jsmin/Config.in.host" > source "package/libp11/Config.in.host" > diff --git a/package/imx-uuu/Config.in.host b/package/imx-uuu/Config.in.host > new file mode 100644 > index 0000000000..6121d5435f > --- /dev/null > +++ b/package/imx-uuu/Config.in.host > @@ -0,0 +1,12 @@ > +config BR2_PACKAGE_HOST_IMX_UUU > + bool "host imx-uuu" > + depends on BR2_arm > + help > + Freescale/NXP i.MX Chip image deploy tools (formerly > + mfgtools). > + > + It is designed to program firmware to i.MX boards during > + production. The communication is done over USB using the > + Freescale UTP protocol. Actually this tool doesn't use the UTP at all. It only leverages the SDP protocol (talking to either the BootROM or U-Boot/SPL) and the Fastboot protocol from Android. Let me know if you have any question. Regards, Gary
diff --git a/DEVELOPERS b/DEVELOPERS index 1f86c256a5..e1d63e17d2 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1306,6 +1306,7 @@ F: package/augeas/ F: package/bluez-alsa/ F: package/caps/ F: package/freescale-imx/imx-alsa-plugins/ +F: package/imx-uuu/ F: package/libopusenc/ F: package/libupnpp/ F: package/luv/ diff --git a/package/Config.in.host b/package/Config.in.host index 62e860d7c3..de0cdbae49 100644 --- a/package/Config.in.host +++ b/package/Config.in.host @@ -33,6 +33,7 @@ menu "Host utilities" source "package/imagemagick/Config.in.host" source "package/imx-mkimage/Config.in.host" source "package/imx-usb-loader/Config.in.host" + source "package/imx-uuu/Config.in.host" source "package/jq/Config.in.host" source "package/jsmin/Config.in.host" source "package/libp11/Config.in.host" diff --git a/package/imx-uuu/Config.in.host b/package/imx-uuu/Config.in.host new file mode 100644 index 0000000000..6121d5435f --- /dev/null +++ b/package/imx-uuu/Config.in.host @@ -0,0 +1,12 @@ +config BR2_PACKAGE_HOST_IMX_UUU + bool "host imx-uuu" + depends on BR2_arm + help + Freescale/NXP i.MX Chip image deploy tools (formerly + mfgtools). + + It is designed to program firmware to i.MX boards during + production. The communication is done over USB using the + Freescale UTP protocol. + + https://github.com/NXPmicro/mfgtools diff --git a/package/imx-uuu/imx-uuu.hash b/package/imx-uuu/imx-uuu.hash new file mode 100644 index 0000000000..eaf951b91a --- /dev/null +++ b/package/imx-uuu/imx-uuu.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 0377bb26e4eab20e32f2daaecaa9394048ab4443f5b517acde6c27e2dc5310d5 imx-uuu-1.3.102.tar.gz +sha256 cc8d47f7b9260f6669ecd41c24554c552f17581d81ee8fc602c6d23edb8bf495 LICENSE diff --git a/package/imx-uuu/imx-uuu.mk b/package/imx-uuu/imx-uuu.mk new file mode 100644 index 0000000000..aef53bd6c3 --- /dev/null +++ b/package/imx-uuu/imx-uuu.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# imx-uuu +# +################################################################################ + +IMX_UUU_VERSION = 1.3.102 +IMX_UUU_SITE = $(call github,NXPmicro,mfgtools,uuu_$(IMX_UUU_VERSION)) +IMX_UUU_LICENSE = BSD-3-Clause +IMX_UUU_LICENSE_FILES = LICENSE +HOST_IMX_UUU_DEPENDENCIES = host-libusb host-libzip host-zlib + +# Version string generation is broken in mfgtools as it relies on git, even +# when building from a source tarball. The version string is used by mfgtools +# do a runtime check to detect outdated command list scripts. We overwrite +# gen_ver.sh with something that simply prints a define for GIT_VERSION with +# the mfgtools version (preceeded by "lib", as done in the original gen_ver.sh). +define HOST_IMX_UUU_OVERWRITE_GEN_VER_SH + echo '#!/bin/sh' > $(@D)/libuuu/gen_ver.sh + echo 'echo "#define GIT_VERSION \"lib$(IMX_UUU_VERSION)\"" > $$1' >> $(@D)/libuuu/gen_ver.sh +endef +HOST_IMX_UUU_POST_PATCH_HOOKS += HOST_IMX_UUU_OVERWRITE_GEN_VER_SH + +$(eval $(host-cmake-package))
NXP deprecated the old mfgtools code. It has been replaced by the Universal Update Utility (uuu), also called mfgtools v3.0 although the releases are named v1.x.yy, which is quite confusing. This new tool actually resides in the same repository in the master branch whereas the old one is now in a 'linux' branch. The new tool uuu is a completely different tool than the old mfgtools. This also means, that existing mfgtools scripts will not work with the uuu tool. Therefore, it has been decided to create a new package imx-uuu [1]. Note, that uuu uses git to define a version string `GIT_VERSION`. It does so even when building from a source tarball (automatically generated by github). The problem is, that git provides the version information of Buildroot and mfgtools uses this version information to do a runtime check to detect outdated command list scripts. To fix this, we overwrite gen_ver.sh with something that simply prints a define for `GIT_VERSION` with the uuu version string (preceeded by "lib", as done in the original gen_ver.sh). [1] http://patchwork.ozlabs.org/patch/1112411/ Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> --- DEVELOPERS | 1 + package/Config.in.host | 1 + package/imx-uuu/Config.in.host | 12 ++++++++++++ package/imx-uuu/imx-uuu.hash | 3 +++ package/imx-uuu/imx-uuu.mk | 24 ++++++++++++++++++++++++ 5 files changed, 41 insertions(+) create mode 100644 package/imx-uuu/Config.in.host create mode 100644 package/imx-uuu/imx-uuu.hash create mode 100644 package/imx-uuu/imx-uuu.mk