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