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 / RFC] replace umkimage by u-boot sources
Date: Sat, 21 Jan 2012 17:59:01 +0100	[thread overview]
Message-ID: <1327165141-8606-1-git-send-email-andreas@biessmann.de> (raw)

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>
---
Treat this as an RFC, especially the fw_{save|print}env tool is subject to
discuss.

Some additional questions:
 * how to handle the situation where only U_BOOT_TOOLS but no
   U_BOOT_TOOLS_TOOL_xxx is choosen?
 * How to inject a user provided configuration for fw_printenv?

 platforms/hosttools.in             |    2 +-
 platforms/image_uimage.in          |    8 ++--
 platforms/kernel.in                |    2 +-
 rules/host-u-boot-tools.in         |    8 ++++
 rules/host-u-boot-tools.make       |   33 +++++++++++++++
 rules/host-umkimage.in             |    8 ----
 rules/host-umkimage.make           |   37 -----------------
 rules/templates/template-kernel-in |    2 +-
 rules/u-boot-tools.in              |   27 ++++++++++++
 rules/u-boot-tools.make            |   78 ++++++++++++++++++++++++++++++++++++
 rules/umkimage.in                  |    8 ----
 rules/umkimage.make                |   66 ------------------------------
 12 files changed, 153 insertions(+), 126 deletions(-)
 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/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..b653430
--- /dev/null
+++ b/rules/host-u-boot-tools.in
@@ -0,0 +1,8 @@
+## SECTION=hosttools_noprompt
+
+config HOST_U_BOOT_TOOLS
+	tristate
+	default ALLYES
+	help
+	  the U-Boot tools contains the mkimage command which is used
+	  to create boot images for the U-Boot bootloader.
diff --git a/rules/host-u-boot-tools.make b/rules/host-u-boot-tools.make
new file mode 100644
index 0000000..ec804c3
--- /dev/null
+++ b/rules/host-u-boot-tools.make
@@ -0,0 +1,33 @@
+# -*-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/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..9119a82
--- /dev/null
+++ b/rules/u-boot-tools.in
@@ -0,0 +1,27 @@
+## SECTION=shell_and_console
+
+menuconfig U_BOOT_TOOLS
+	tristate
+	prompt "u-boot-tools                  "
+	help
+	  some helpful tools from U-Boot project.
+
+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 environment partitions on target.
+
+endif
diff --git a/rules/u-boot-tools.make b/rules/u-boot-tools.make
new file mode 100644
index 0000000..cd14a0e
--- /dev/null
+++ b/rules/u-boot-tools.make
@@ -0,0 +1,78 @@
+# -*-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

             reply	other threads:[~2012-01-21 16:59 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-21 16:59 Andreas Bießmann [this message]
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 ` [ptxdist] [PATCH v2] " Andreas Bießmann
2012-01-22 14:57   ` 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=1327165141-8606-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