This patch removes the forked mkimage u-boot tool and uses the mainline
u-boot code to build this tool.

Signed-off-by: Andreas Bießmann <andr...@biessmann.de>
---
Changes since v1:
 * add ROOTFS_FW_ENV_CONFIG parameter which installes /etc/fw_env.config
 * changes requested by Michael

Changes since v2:
 * fix wrong 'fw_saveenv' command -> use correct 'fw_setenv'

 ...f8dcdbe5c690c-compiler.h-add-uint-typedef.patch |   26 ------
 patches/u-boot-mkimage-2010.03-1/series            |    1 -
 platforms/hosttools.in                             |    2 +-
 platforms/image_uimage.in                          |    8 +-
 platforms/kernel.in                                |    2 +-
 rules/host-u-boot-tools.in                         |    5 +
 rules/host-u-boot-tools.make                       |   35 +++++++++
 rules/host-umkimage.in                             |    8 --
 rules/host-umkimage.make                           |   37 ---------
 rules/rootfs.in                                    |    9 ++
 rules/rootfs.make                                  |    3 +
 rules/templates/template-kernel-in                 |    2 +-
 rules/u-boot-tools.in                              |   32 ++++++++
 rules/u-boot-tools.make                            |   81 ++++++++++++++++++++
 rules/umkimage.in                                  |    8 --
 rules/umkimage.make                                |   66 ----------------
 16 files changed, 172 insertions(+), 153 deletions(-)
 delete mode 100644 
patches/u-boot-mkimage-2010.03-1/b050c72d52c4e30d5b978ab6758f8dcdbe5c690c-compiler.h-add-uint-typedef.patch
 delete mode 100644 patches/u-boot-mkimage-2010.03-1/series
 create mode 100644 rules/host-u-boot-tools.in
 create mode 100644 rules/host-u-boot-tools.make
 delete mode 100644 rules/host-umkimage.in
 delete mode 100644 rules/host-umkimage.make
 create mode 100644 rules/u-boot-tools.in
 create mode 100644 rules/u-boot-tools.make
 delete mode 100644 rules/umkimage.in
 delete mode 100644 rules/umkimage.make

diff --git 
a/patches/u-boot-mkimage-2010.03-1/b050c72d52c4e30d5b978ab6758f8dcdbe5c690c-compiler.h-add-uint-typedef.patch
 
b/patches/u-boot-mkimage-2010.03-1/b050c72d52c4e30d5b978ab6758f8dcdbe5c690c-compiler.h-add-uint-typedef.patch
deleted file mode 100644
index f20a663..0000000
--- 
a/patches/u-boot-mkimage-2010.03-1/b050c72d52c4e30d5b978ab6758f8dcdbe5c690c-compiler.h-add-uint-typedef.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-commit b050c72d52c4e30d5b978ab6758f8dcdbe5c690c
-Author: Mike Frysinger <vap...@gentoo.org>
-Date:   Tue Apr 20 05:49:30 2010 -0400
-
-    compiler.h: add uint typedef
-    
-    Recent crc changes started using the "uint" type in headers that are used
-    on the build system.  This subsequently broke mingw targets as they do not
-    provide such a type.  So add this basic typedef to compiler.h so that we
-    do not have to worry about this breaking again in the future.
-    
-    Signed-off-by: Mike Frysinger <vap...@gentoo.org>
-    Signed-off-by: Remy Bohmer <li...@bohmer.net>
-
-diff --git a/include/compiler.h b/include/compiler.h
-index 332618e..8030bf6 100644
---- a/include/compiler.h
-+++ b/include/compiler.h
-@@ -55,6 +55,7 @@ typedef unsigned int  uint;
- typedef uint8_t __u8;
- typedef uint16_t __u16;
- typedef uint32_t __u32;
-+typedef unsigned int uint;
- 
- #define uswap_16(x) \
-       ((((x) & 0xff00) >> 8) | \
diff --git a/patches/u-boot-mkimage-2010.03-1/series 
b/patches/u-boot-mkimage-2010.03-1/series
deleted file mode 100644
index dbf4bb4..0000000
--- a/patches/u-boot-mkimage-2010.03-1/series
+++ /dev/null
@@ -1 +0,0 @@
-b050c72d52c4e30d5b978ab6758f8dcdbe5c690c-compiler.h-add-uint-typedef.patch
diff --git a/platforms/hosttools.in b/platforms/hosttools.in
index 155b30b..e9ce0fc 100644
--- a/platforms/hosttools.in
+++ b/platforms/hosttools.in
@@ -19,7 +19,7 @@ source "rules/host-mtd-utils.in"
 source "rules/host-mtools.in"
 source "rules/host-openssl.in"
 source "rules/host-squashfs-tools.in"
-source "rules/host-umkimage.in"
+source "rules/host-u-boot-tools.in"
 source "rules/host-util-linux-ng.in"
 source "rules/host-xl-tools.in"
 source "rules/host-xz.in"
diff --git a/platforms/image_uimage.in b/platforms/image_uimage.in
index 62119c4..719793d 100644
--- a/platforms/image_uimage.in
+++ b/platforms/image_uimage.in
@@ -3,7 +3,7 @@
 menuconfig IMAGE_UIMAGE
        bool
        prompt "Generate images/uRamdisk      "
-       select HOST_UMKIMAGE
+       select HOST_U_BOOT_TOOLS
        select IMAGE_EXT2
        select IMAGE_EXT2_GZIP
        help
@@ -21,16 +21,16 @@ config IMAGE_UIMAGE_NAME
 config IMAGE_UIMAGE_EXTRA_ARGS
        string
        default ""
-       prompt "extra arguments passed to umkimage"
+       prompt "extra arguments passed to mkimage"
        help
-         If needed you can add extra arguments for umkimage here
+         If needed you can add extra arguments for mkimage here
          (e.g. -a 0xaa00000 -e 0xaa00000 )
 
 # TODO: See comment in rules/post/images.make for this topic
 #config IMAGE_UIMAGE_MULTI
 #      bool
 #      prompt "Generate a multi image images/muimage"
-#      select HOST_UMKIMAGE
+#      select HOST_U_BOOT_TOOLS
 #      select KERNEL
 #      select IMAGE_CPIO
 #      help
diff --git a/platforms/kernel.in b/platforms/kernel.in
index b601284..01b31d3 100644
--- a/platforms/kernel.in
+++ b/platforms/kernel.in
@@ -2,7 +2,7 @@ menuconfig KERNEL
        bool
        default y
        select IMAGE_KERNEL
-       select HOST_UMKIMAGE            if KERNEL_IMAGE_U
+       select HOST_U_BOOT_TOOLS        if KERNEL_IMAGE_U
        select HOST_XZ                  if KERNEL_XZ
        select HOST_LZOP                if KERNEL_LZOP
        select CROSS_MODULE_INIT_TOOLS  if KERNEL_MODULES
diff --git a/rules/host-u-boot-tools.in b/rules/host-u-boot-tools.in
new file mode 100644
index 0000000..c89c04d
--- /dev/null
+++ b/rules/host-u-boot-tools.in
@@ -0,0 +1,5 @@
+## SECTION=hosttools_noprompt
+
+config HOST_U_BOOT_TOOLS
+       tristate
+       default ALLYES
diff --git a/rules/host-u-boot-tools.make b/rules/host-u-boot-tools.make
new file mode 100644
index 0000000..5b7a765
--- /dev/null
+++ b/rules/host-u-boot-tools.make
@@ -0,0 +1,35 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2012 by Andreas Bießmann <andr...@biessmann.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+HOST_PACKAGES-$(PTXCONF_HOST_U_BOOT_TOOLS) += host-u-boot-tools
+
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+HOST_U_BOOT_TOOLS_CONF_TOOL    := NO
+HOST_U_BOOT_TOOLS_MAKE_OPT     := tools
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/host-u-boot-tools.install:
+       @$(call targetinfo)
+       install $(HOST_U_BOOT_TOOLS_DIR)/tools/mkimage \
+               $(PTXCONF_SYSROOT_HOST)/bin/mkimage
+
+       @$(call touch)
+
+# vim: syntax=make
diff --git a/rules/host-umkimage.in b/rules/host-umkimage.in
deleted file mode 100644
index b2990b8..0000000
--- a/rules/host-umkimage.in
+++ /dev/null
@@ -1,8 +0,0 @@
-## SECTION=hosttools_noprompt
-
-config HOST_UMKIMAGE
-       tristate
-       default ALLYES
-       help
-         umkimage is the U-Boot mkimage command. It is used to create
-         boot images for the U-Boot bootloader.
diff --git a/rules/host-umkimage.make b/rules/host-umkimage.make
deleted file mode 100644
index 6b66e18..0000000
--- a/rules/host-umkimage.make
+++ /dev/null
@@ -1,37 +0,0 @@
-# -*-makefile-*-
-#
-# Copyright (C) 2003-2006 by Pengutronix e.K., Hildesheim, Germany
-#           (C) 2010 by Michael Olbrich <m.olbr...@pengutronix.de>
-#
-# See CREDITS for details about who has contributed to this project.
-#
-# For further information about the PTXdist project and license conditions
-# see the README file.
-#
-
-#
-# We provide this package
-#
-HOST_PACKAGES-$(PTXCONF_HOST_UMKIMAGE) += host-umkimage
-
-
-# ----------------------------------------------------------------------------
-# Prepare
-# ----------------------------------------------------------------------------
-
-HOST_UMKIMAGE_CONF_TOOL        := NO
-HOST_UMKIMAGE_MAKE_OPT := \
-       $(HOST_ENV_CPPFLAGS) \
-       $(HOST_ENV_LDFLAGS) \
-       $(HOST_ENV_CC)
-
-# ----------------------------------------------------------------------------
-# Install
-# ----------------------------------------------------------------------------
-
-$(STATEDIR)/host-umkimage.install:
-       @$(call targetinfo)
-       install $(HOST_UMKIMAGE_DIR)/mkimage $(PTXCONF_SYSROOT_HOST)/bin/mkimage
-       @$(call touch)
-
-# vim: syntax=make
diff --git a/rules/rootfs.in b/rules/rootfs.in
index 350f0c2..95cf0a4 100644
--- a/rules/rootfs.in
+++ b/rules/rootfs.in
@@ -333,6 +333,15 @@ config ROOTFS_MTAB_LINK_VAR_FAKE_OVERLAYFS
        select FAKE_OVERLAYFS_VAR_TMP
        prompt "use fake-overlayfs to create /var/tmp/mtab"
 
+config ROOTFS_FW_ENV_CONFIG
+       bool
+       prompt "install /etc/fw_env.config"
+       depends on U_BOOT_TOOLS_TOOL_ENV
+       help
+         If enabled, it installs "./projectroot/etc/fw_env.config" file
+         if present.
+         Read <U-Boot source>/tools/env/README for file content.
+
 config ROOTFS_HOSTNAME
        bool
        prompt "install /etc/hostname"
diff --git a/rules/rootfs.make b/rules/rootfs.make
index 13a5f2c..d470823 100644
--- a/rules/rootfs.make
+++ b/rules/rootfs.make
@@ -156,6 +156,9 @@ ifdef PTXCONF_ROOTFS_MTAB_LINK_VAR
                $(PTXDIST_TOPDIR)/generic/etc/mtab, /var/tmp/mtab)
        @$(call install_link, rootfs, /var/tmp/mtab, /etc/mtab)
 endif
+ifdef PTXCONF_ROOTFS_FW_ENV_CONFIG
+       @$(call install_alternative, rootfs, 0, 0, 0644, /etc/fw_env.config)
+endif
 ifdef PTXCONF_ROOTFS_HOSTNAME
        @$(call install_alternative, rootfs, 0, 0, 0644, /etc/hostname)
        @$(call install_replace, rootfs, /etc/hostname, \
diff --git a/rules/templates/template-kernel-in 
b/rules/templates/template-kernel-in
index ae1095b..5019c88 100644
--- a/rules/templates/template-kernel-in
+++ b/rules/templates/template-kernel-in
@@ -4,6 +4,6 @@ config KERNEL_@PACKAGE@
        tristate
        prompt "Linux kernel (@package@)"
        select CROSS_MODULE_INIT_TOOLS
-       #select HOST_UMKIMAGE
+       #select HOST_U_BOOT_TOOLS
        help
          FIXME
diff --git a/rules/u-boot-tools.in b/rules/u-boot-tools.in
new file mode 100644
index 0000000..c8bc928
--- /dev/null
+++ b/rules/u-boot-tools.in
@@ -0,0 +1,32 @@
+## SECTION=shell_and_console
+
+menuconfig U_BOOT_TOOLS
+       tristate
+       prompt "u-boot-tools                  "
+       help
+         some helpful tools from U-Boot project. Most important tool in
+         this section is mkimage to generate U-Boot boot images.
+
+if U_BOOT_TOOLS
+
+config U_BOOT_TOOLS_TOOL_MKIMAGE
+       tristate
+       default y
+       prompt "mkimage"
+       help
+         the U-Boot mkimage command is used to create boot images for
+         the U-Boot bootloader.
+
+config U_BOOT_TOOLS_TOOL_ENV
+       tristate
+       default n
+       prompt "fw_{print|set}env"
+       help
+         the U-Boot fw_printenv and fw_setenv commands are used to
+         read and write U-Boot environment /dev/mtdX partitions on
+         target through linux.
+         The tool will require a configuration on target named
+         /etc/fw_env.config. See U-Boot source directory tools/env
+         for detailed description.
+
+endif
diff --git a/rules/u-boot-tools.make b/rules/u-boot-tools.make
new file mode 100644
index 0000000..d6db1b3
--- /dev/null
+++ b/rules/u-boot-tools.make
@@ -0,0 +1,81 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2012 by Andreas Bießmann <andr...@biessmann.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_U_BOOT_TOOLS) += u-boot-tools
+
+#
+# Paths and names
+#
+U_BOOT_TOOLS_VERSION   := 2011.12
+U_BOOT_TOOLS_MD5       := 7f29b9f6da44d6e46e988e7561fd1d5f
+U_BOOT_TOOLS           := u-boot-$(U_BOOT_TOOLS_VERSION)
+U_BOOT_TOOLS_SUFFIX    := tar.bz2
+U_BOOT_TOOLS_URL       := 
http://ftp.denx.de/pub/u-boot/$(U_BOOT_TOOLS).$(U_BOOT_TOOLS_SUFFIX)
+U_BOOT_TOOLS_SOURCE    := $(SRCDIR)/$(U_BOOT_TOOLS).$(U_BOOT_TOOLS_SUFFIX)
+U_BOOT_TOOLS_DIR       := $(BUILDDIR)/$(U_BOOT_TOOLS)
+U_BOOT_TOOLS_LICENSE   := GPLv2
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+$(U_BOOT_TOOLS_SOURCE):
+       @$(call targetinfo)
+       @$(call get, U_BOOT_TOOLS)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+U_BOOT_TOOLS_CONF_TOOL := NO
+U_BOOT_TOOLS_MAKE_OPT  := \
+       HOSTCC="$(CROSS_CC)" \
+       HOSTSTRIP="$(CROSS_STRIP)" \
+       tools
+
+ifdef PTXCONF_U_BOOT_TOOLS_TOOL_ENV
+U_BOOT_TOOLS_MAKE_OPT  += env
+endif
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+$(STATEDIR)/u-boot-tools.install:
+       @$(call targetinfo)
+       @$(call touch)
+
+$(STATEDIR)/u-boot-tools.targetinstall:
+       @$(call targetinfo)
+
+       @$(call install_init,  u-boot-tools)
+       @$(call install_fixup, u-boot-tools,PRIORITY,optional)
+       @$(call install_fixup, u-boot-tools,SECTION,base)
+       @$(call install_fixup, u-boot-tools,AUTHOR,"Andreas Bießmann 
<andr...@biessmann.de>")
+       @$(call install_fixup, u-boot-tools,DESCRIPTION,missing)
+
+ifdef PTXCONF_U_BOOT_TOOLS_TOOL_MKIMAGE
+       @$(call install_copy, u-boot-tools, 0, 0, 0755, \
+               $(U_BOOT_TOOLS_DIR)/tools/mkimage, /usr/bin/mkimage)
+endif
+
+ifdef PTXCONF_U_BOOT_TOOLS_TOOL_ENV
+       @$(call install_copy, u-boot-tools, 0, 0, 0755, \
+               $(U_BOOT_TOOLS_DIR)/tools/env/fw_printenv, 
/usr/sbin/fw_printenv)
+       @$(call install_link, u-boot-tools, fw_printenv, /usr/sbin/fw_setenv)
+endif
+
+       @$(call install_finish, u-boot-tools)
+
+       @$(call touch)
+
+# vim: syntax=make
diff --git a/rules/umkimage.in b/rules/umkimage.in
deleted file mode 100644
index ffff541..0000000
--- a/rules/umkimage.in
+++ /dev/null
@@ -1,8 +0,0 @@
-## SECTION=shell_and_console
-
-config UMKIMAGE
-       tristate
-       prompt "umkimage"
-       help
-         umkimage is the U-Boot mkimage command. It is used to create
-         boot images for the U-Boot bootloader.
diff --git a/rules/umkimage.make b/rules/umkimage.make
deleted file mode 100644
index ae5f316..0000000
--- a/rules/umkimage.make
+++ /dev/null
@@ -1,66 +0,0 @@
-# -*-makefile-*-
-#
-# Copyright (C) 2010 by Remy Bohmer <li...@bohmer.net>
-#
-# See CREDITS for details about who has contributed to this project.
-#
-# For further information about the PTXdist project and license conditions
-# see the README file.
-#
-
-#
-# We provide this package
-#
-PACKAGES-$(PTXCONF_UMKIMAGE) += umkimage
-
-#
-# Paths and names
-#
-UMKIMAGE_VERSION       := 2010.03-1
-UMKIMAGE_MD5           := 5e7b4ed03e855a4824317fc4e3917dba
-UMKIMAGE               := u-boot-mkimage-$(UMKIMAGE_VERSION)
-UMKIMAGE_SUFFIX                := tar.gz
-UMKIMAGE_URL           := 
http://www.pengutronix.de/software/ptxdist/temporary-src/$(UMKIMAGE).$(UMKIMAGE_SUFFIX)
-UMKIMAGE_SOURCE                := $(SRCDIR)/$(UMKIMAGE).$(UMKIMAGE_SUFFIX)
-UMKIMAGE_DIR           := $(BUILDDIR)/$(UMKIMAGE)
-UMKIMAGE_LICENSE       := GPLv2
-
-# ----------------------------------------------------------------------------
-# Get
-# ----------------------------------------------------------------------------
-
-$(UMKIMAGE_SOURCE):
-       @$(call targetinfo)
-       @$(call get, UMKIMAGE)
-
-# ----------------------------------------------------------------------------
-# Prepare
-# ----------------------------------------------------------------------------
-
-UMKIMAGE_CONF_TOOL     := NO
-UMKIMAGE_MAKE_OPT := \
-       $(CROSS_ENV_CFLAGS) \
-       $(CROSS_ENV_CPPFLAGS) \
-       $(CROSS_ENV_LDFLAGS) \
-       $(CROSS_ENV_CC)
-
-# ----------------------------------------------------------------------------
-# Target-Install
-# ----------------------------------------------------------------------------
-
-$(STATEDIR)/umkimage.targetinstall:
-       @$(call targetinfo)
-
-       @$(call install_init,  umkimage)
-       @$(call install_fixup, umkimage,PRIORITY,optional)
-       @$(call install_fixup, umkimage,SECTION,base)
-       @$(call install_fixup, umkimage,AUTHOR,"Remy Bohmer <li...@bohmer.net>")
-       @$(call install_fixup, umkimage,DESCRIPTION,missing)
-
-       @$(call install_copy, umkimage, 0, 0, 0755, -, /usr/bin/mkimage)
-
-       @$(call install_finish, umkimage)
-
-       @$(call touch)
-
-# vim: syntax=make
-- 
1.7.8.4


-- 
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to