mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: "Andreas Bießmann" <andreas@biessmann.de>
To: PTXdist ML <ptxdist@pengutronix.de>
Subject: [ptxdist] [PATCH v2] replace umkimage by u-boot sources
Date: Sun, 22 Jan 2012 15:49:22 +0100	[thread overview]
Message-ID: <1327243762-24190-1-git-send-email-andreas@biessmann.de> (raw)
In-Reply-To: <1327165141-8606-1-git-send-email-andreas@biessmann.de>

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 <andreas@biessmann.de>
---
Changes since v1:
 * add ROOTFS_FW_ENV_CONFIG parameter which installes /etc/fw_env.config
 * changes requested by Michael

 ...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                                    |   10 +++
 rules/rootfs.make                                  |    3 +
 rules/templates/template-kernel-in                 |    2 +-
 rules/u-boot-tools.in                              |   31 ++++++++
 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 <vapier@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 <vapier@gentoo.org>
-    Signed-off-by: Remy Bohmer <linux@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 <andreas@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.olbrich@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 ae65187..0240555 100644
--- a/rules/rootfs.in
+++ b/rules/rootfs.in
@@ -333,6 +333,16 @@ 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"
+	default y
+	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..55b04b4
--- /dev/null
+++ b/rules/u-boot-tools.in
@@ -0,0 +1,31 @@
+## 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|save}env"
+	help
+	  the U-Boot fw_printenv and fw_saveenv 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.
+
+endif
diff --git a/rules/u-boot-tools.make b/rules/u-boot-tools.make
new file mode 100644
index 0000000..3c9fa7b
--- /dev/null
+++ b/rules/u-boot-tools.make
@@ -0,0 +1,81 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2012 by Andreas Bießmann <andreas@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 <andreas@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_saveenv)
+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 <linux@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 <linux@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.3


-- 
ptxdist mailing list
ptxdist@pengutronix.de

  parent reply	other threads:[~2012-01-22 14:49 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-21 16:59 [ptxdist] [PATCH / RFC] " Andreas Bießmann
2012-01-21 18:22 ` Michael Olbrich
2012-01-21 20:08   ` Bernhard Walle
2012-01-22  9:17     ` Michael Olbrich
2012-01-22  9:58   ` Andreas Bießmann
2012-01-22 10:14     ` Michael Olbrich
2012-01-22 14:49 ` Andreas Bießmann [this message]
2012-01-22 14:57   ` [ptxdist] [PATCH v2] " Bernhard Walle
2012-01-23 12:37     ` Andreas Bießmann
2012-01-26 15:06       ` Michael Olbrich
2012-01-26 16:05         ` Andreas Bießmann
2012-01-23 12:40   ` Andreas Bießmann
2012-01-23 13:07     ` Bernhard Walle
2012-01-23 13:16       ` Andreas Bießmann
2012-01-23 13:44         ` Bernhard Walle
2012-01-27  7:17   ` Andreas Bießmann
2012-01-27 23:38 ` [ptxdist] [PATCH v3] " Andreas Bießmann
2012-01-31 14:50   ` Michael Olbrich
2012-01-31 22:49 ` [ptxdist] [PATCH v4] " Andreas Bießmann
2012-02-01  8:55   ` Michael Olbrich
2012-03-12  9:00     ` Andreas Bießmann
2012-03-12 10:46       ` Michael Olbrich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1327243762-24190-1-git-send-email-andreas@biessmann.de \
    --to=andreas@biessmann.de \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox