* [ptxdist] [PATCH 1/5] Add sp-oops-extract package
2012-04-21 14:15 [ptxdist] Outstanding patches Bernhard Walle
@ 2012-04-21 14:15 ` Bernhard Walle
2012-04-23 7:54 ` Michael Olbrich
2012-04-21 14:15 ` [ptxdist] [PATCH 2/5] fontconfig: Fix Darwin build Bernhard Walle
` (3 subsequent siblings)
4 siblings, 1 reply; 11+ messages in thread
From: Bernhard Walle @ 2012-04-21 14:15 UTC (permalink / raw)
To: ptxdist; +Cc: Bernhard Walle
From: Bernhard Walle <walle@corscience.de>
sp-oops-extract is a simple userspace program to extract kernel oopses
saved on raw MTD with the CONFIG_MTD_OOPS driver. See the comment in
Kconfig for more information on how to use the driver/the tool.
Signed-off-by: Bernhard Walle <walle@corscience.de>
---
...the-Makefile-more-cross-compiler-friendly.patch | 19 +++++++
| 4 ++
| 15 ++++++
| 56 ++++++++++++++++++++
4 files changed, 94 insertions(+)
create mode 100644 patches/sp-oops-extract-0.0.7/0001-Make-the-Makefile-more-cross-compiler-friendly.patch
create mode 100644 patches/sp-oops-extract-0.0.7/series
create mode 100644 rules/sp-oops-extract.in
create mode 100644 rules/sp-oops-extract.make
diff --git a/patches/sp-oops-extract-0.0.7/0001-Make-the-Makefile-more-cross-compiler-friendly.patch b/patches/sp-oops-extract-0.0.7/0001-Make-the-Makefile-more-cross-compiler-friendly.patch
new file mode 100644
index 0000000..b5b963c
--- /dev/null
+++ b/patches/sp-oops-extract-0.0.7/0001-Make-the-Makefile-more-cross-compiler-friendly.patch
@@ -0,0 +1,19 @@
+From: Bernhard Walle <walle@corscience.de>
+Date: Wed, 21 Mar 2012 15:55:06 +0100
+Subject: [PATCH] Make the Makefile more cross-compiler friendly
+
+Signed-off-by: Bernhard Walle <walle@corscience.de>
+---
+ src/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index cf5b550..e05eb1f 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -9,4 +9,4 @@ distclean: clean
+ $(RM) $(TARGETS)
+
+ sp-oops-extract: oopslog.c
+- gcc -Wall -s -o $@ $^
++ $(CC) $(LDFLAGS) -Wall -s -o $@ $^
--git a/patches/sp-oops-extract-0.0.7/series b/patches/sp-oops-extract-0.0.7/series
new file mode 100644
index 0000000..6053a64
--- /dev/null
+++ b/patches/sp-oops-extract-0.0.7/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-Make-the-Makefile-more-cross-compiler-friendly.patch
+# 1e23689ed7181ffae1913ee9c0c2db54 - git-ptx-patches magic
--git a/rules/sp-oops-extract.in b/rules/sp-oops-extract.in
new file mode 100644
index 0000000..e37b511
--- /dev/null
+++ b/rules/sp-oops-extract.in
@@ -0,0 +1,15 @@
+## SECTION=debug_tools
+
+config SP_OOPS_EXTRACT
+ tristate
+ prompt "sp-oops-extract"
+ help
+ Tool to extract oopses generated with mtd-oops.ko driver.
+
+ To use that mechanism, just select CONFIG_MTD_OOPS in the kernel
+ configuration and add 'mtdoops.mtddev=<devno>' to your boot command
+ line where '<devno>' is the MTD device number you want to use to save
+ kernel oopses. Alternatively, load the 'mtdoops' module with
+ 'mtddev=<devno>' as module parameter. To extract that oops, just use
+ 'sp-oops-extract /dev/mtd<devno>'.
+
--git a/rules/sp-oops-extract.make b/rules/sp-oops-extract.make
new file mode 100644
index 0000000..b08a496
--- /dev/null
+++ b/rules/sp-oops-extract.make
@@ -0,0 +1,56 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2012 by Bernhard Walle <walle@corscience.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_SP_OOPS_EXTRACT) += sp-oops-extract
+
+#
+# Paths and names
+#
+SP_OOPS_EXTRACT_VERSION := 0.0.7
+SP_OOPS_EXTRACT_MD5 := b4e3ff7716c249e3446758582a1cae12
+SP_OOPS_EXTRACT := sp-oops-extract-$(SP_OOPS_EXTRACT_VERSION)
+SP_OOPS_EXTRACT_SUFFIX := tar.gz
+SP_OOPS_EXTRACT_ARCHIVE := sp-oops-extract_$(SP_OOPS_EXTRACT_VERSION)-1.$(SP_OOPS_EXTRACT_SUFFIX)
+SP_OOPS_EXTRACT_URL := http://repository.maemo.org/pool/fremantle/free/s/sp-oops-extract/$(SP_OOPS_EXTRACT_ARCHIVE)
+SP_OOPS_EXTRACT_SOURCE := $(SRCDIR)/$(SP_OOPS_EXTRACT_ARCHIVE)
+SP_OOPS_EXTRACT_DIR := $(BUILDDIR)/$(SP_OOPS_EXTRACT)
+SP_OOPS_EXTRACT_LICENSE := unknown
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+SP_OOPS_EXTRACT_CONF_TOOL := NO
+SP_OOPS_EXTRACT_MAKE_ENV := $(CROSS_ENV)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/sp-oops-extract.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, sp-oops-extract)
+ @$(call install_fixup, sp-oops-extract,PRIORITY,optional)
+ @$(call install_fixup, sp-oops-extract,SECTION,base)
+ @$(call install_fixup, sp-oops-extract,AUTHOR,"Bernhard Walle <walle@corscience.de>")
+ @$(call install_fixup, sp-oops-extract,DESCRIPTION,missing)
+
+ @$(call install_copy, sp-oops-extract, 0, 0, 0755, -, \
+ /usr/bin/sp-oops-extract)
+
+ @$(call install_finish, sp-oops-extract)
+
+ @$(call touch)
+
+# vim: syntax=make
--
1.7.10
--
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [ptxdist] [PATCH 1/5] Add sp-oops-extract package
2012-04-21 14:15 ` [ptxdist] [PATCH 1/5] Add sp-oops-extract package Bernhard Walle
@ 2012-04-23 7:54 ` Michael Olbrich
0 siblings, 0 replies; 11+ messages in thread
From: Michael Olbrich @ 2012-04-23 7:54 UTC (permalink / raw)
To: ptxdist
On Sat, Apr 21, 2012 at 04:15:57PM +0200, Bernhard Walle wrote:
> From: Bernhard Walle <walle@corscience.de>
>
> sp-oops-extract is a simple userspace program to extract kernel oopses
> saved on raw MTD with the CONFIG_MTD_OOPS driver. See the comment in
> Kconfig for more information on how to use the driver/the tool.
>
> Signed-off-by: Bernhard Walle <walle@corscience.de>
> ---
> ...the-Makefile-more-cross-compiler-friendly.patch | 19 +++++++
> patches/sp-oops-extract-0.0.7/series | 4 ++
> rules/sp-oops-extract.in | 15 ++++++
> rules/sp-oops-extract.make | 56 ++++++++++++++++++++
> 4 files changed, 94 insertions(+)
> create mode 100644 patches/sp-oops-extract-0.0.7/0001-Make-the-Makefile-more-cross-compiler-friendly.patch
> create mode 100644 patches/sp-oops-extract-0.0.7/series
> create mode 100644 rules/sp-oops-extract.in
> create mode 100644 rules/sp-oops-extract.make
>
> diff --git a/patches/sp-oops-extract-0.0.7/0001-Make-the-Makefile-more-cross-compiler-friendly.patch b/patches/sp-oops-extract-0.0.7/0001-Make-the-Makefile-more-cross-compiler-friendly.patch
> new file mode 100644
> index 0000000..b5b963c
> --- /dev/null
> +++ b/patches/sp-oops-extract-0.0.7/0001-Make-the-Makefile-more-cross-compiler-friendly.patch
> @@ -0,0 +1,19 @@
> +From: Bernhard Walle <walle@corscience.de>
> +Date: Wed, 21 Mar 2012 15:55:06 +0100
> +Subject: [PATCH] Make the Makefile more cross-compiler friendly
> +
> +Signed-off-by: Bernhard Walle <walle@corscience.de>
> +---
> + src/Makefile | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/src/Makefile b/src/Makefile
> +index cf5b550..e05eb1f 100644
> +--- a/src/Makefile
> ++++ b/src/Makefile
> +@@ -9,4 +9,4 @@ distclean: clean
> + $(RM) $(TARGETS)
> +
> + sp-oops-extract: oopslog.c
> +- gcc -Wall -s -o $@ $^
> ++ $(CC) $(LDFLAGS) -Wall -s -o $@ $^
I've applied this with some modifications:
I've added CPPFLAGS and CFLAGS here and removed '-s'. We always strip
binaries later.
Please test.
Michael
> diff --git a/patches/sp-oops-extract-0.0.7/series b/patches/sp-oops-extract-0.0.7/series
> new file mode 100644
> index 0000000..6053a64
> --- /dev/null
> +++ b/patches/sp-oops-extract-0.0.7/series
> @@ -0,0 +1,4 @@
> +# generated by git-ptx-patches
> +#tag:base --start-number 1
> +0001-Make-the-Makefile-more-cross-compiler-friendly.patch
> +# 1e23689ed7181ffae1913ee9c0c2db54 - git-ptx-patches magic
> diff --git a/rules/sp-oops-extract.in b/rules/sp-oops-extract.in
> new file mode 100644
> index 0000000..e37b511
> --- /dev/null
> +++ b/rules/sp-oops-extract.in
> @@ -0,0 +1,15 @@
> +## SECTION=debug_tools
> +
> +config SP_OOPS_EXTRACT
> + tristate
> + prompt "sp-oops-extract"
> + help
> + Tool to extract oopses generated with mtd-oops.ko driver.
> +
> + To use that mechanism, just select CONFIG_MTD_OOPS in the kernel
> + configuration and add 'mtdoops.mtddev=<devno>' to your boot command
> + line where '<devno>' is the MTD device number you want to use to save
> + kernel oopses. Alternatively, load the 'mtdoops' module with
> + 'mtddev=<devno>' as module parameter. To extract that oops, just use
> + 'sp-oops-extract /dev/mtd<devno>'.
> +
> diff --git a/rules/sp-oops-extract.make b/rules/sp-oops-extract.make
> new file mode 100644
> index 0000000..b08a496
> --- /dev/null
> +++ b/rules/sp-oops-extract.make
> @@ -0,0 +1,56 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2012 by Bernhard Walle <walle@corscience.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_SP_OOPS_EXTRACT) += sp-oops-extract
> +
> +#
> +# Paths and names
> +#
> +SP_OOPS_EXTRACT_VERSION := 0.0.7
> +SP_OOPS_EXTRACT_MD5 := b4e3ff7716c249e3446758582a1cae12
> +SP_OOPS_EXTRACT := sp-oops-extract-$(SP_OOPS_EXTRACT_VERSION)
> +SP_OOPS_EXTRACT_SUFFIX := tar.gz
> +SP_OOPS_EXTRACT_ARCHIVE := sp-oops-extract_$(SP_OOPS_EXTRACT_VERSION)-1.$(SP_OOPS_EXTRACT_SUFFIX)
> +SP_OOPS_EXTRACT_URL := http://repository.maemo.org/pool/fremantle/free/s/sp-oops-extract/$(SP_OOPS_EXTRACT_ARCHIVE)
> +SP_OOPS_EXTRACT_SOURCE := $(SRCDIR)/$(SP_OOPS_EXTRACT_ARCHIVE)
> +SP_OOPS_EXTRACT_DIR := $(BUILDDIR)/$(SP_OOPS_EXTRACT)
> +SP_OOPS_EXTRACT_LICENSE := unknown
> +
> +# ----------------------------------------------------------------------------
> +# Prepare
> +# ----------------------------------------------------------------------------
> +
> +SP_OOPS_EXTRACT_CONF_TOOL := NO
> +SP_OOPS_EXTRACT_MAKE_ENV := $(CROSS_ENV)
> +
> +# ----------------------------------------------------------------------------
> +# Target-Install
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/sp-oops-extract.targetinstall:
> + @$(call targetinfo)
> +
> + @$(call install_init, sp-oops-extract)
> + @$(call install_fixup, sp-oops-extract,PRIORITY,optional)
> + @$(call install_fixup, sp-oops-extract,SECTION,base)
> + @$(call install_fixup, sp-oops-extract,AUTHOR,"Bernhard Walle <walle@corscience.de>")
> + @$(call install_fixup, sp-oops-extract,DESCRIPTION,missing)
> +
> + @$(call install_copy, sp-oops-extract, 0, 0, 0755, -, \
> + /usr/bin/sp-oops-extract)
> +
> + @$(call install_finish, sp-oops-extract)
> +
> + @$(call touch)
> +
> +# vim: syntax=make
> --
> 1.7.10
>
>
> --
> ptxdist mailing list
> ptxdist@pengutronix.de
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
--
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 11+ messages in thread
* [ptxdist] [PATCH 2/5] fontconfig: Fix Darwin build
2012-04-21 14:15 [ptxdist] Outstanding patches Bernhard Walle
2012-04-21 14:15 ` [ptxdist] [PATCH 1/5] Add sp-oops-extract package Bernhard Walle
@ 2012-04-21 14:15 ` Bernhard Walle
2012-04-23 8:04 ` Michael Olbrich
2012-04-21 14:15 ` [ptxdist] [PATCH 3/5] libcap: Fix build on non-Linux host Bernhard Walle
` (2 subsequent siblings)
4 siblings, 1 reply; 11+ messages in thread
From: Bernhard Walle @ 2012-04-21 14:15 UTC (permalink / raw)
To: ptxdist
Upstream solved it completely different
http://cgit.freedesktop.org/fontconfig/commit/?id=2a6b235ff6d2750171e8dff7cfdfe3bccb0f630e
now, so after updating fontconfig the patch will be obsolete. Applying
that patch is not possible, however, since I would need to re-create the
tarball.
However, I don't want to update fontconfig since it touches the whole
Xorg stack and I have no possibility to test that.
Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
---
.../0001-Fix-build-on-Darwin.patch | 68 ++++++++++++++++++++
patches/fontconfig-2.6.0/autogen.sh | 1 +
patches/fontconfig-2.6.0/series | 4 ++
3 files changed, 73 insertions(+)
create mode 100644 patches/fontconfig-2.6.0/0001-Fix-build-on-Darwin.patch
create mode 120000 patches/fontconfig-2.6.0/autogen.sh
create mode 100644 patches/fontconfig-2.6.0/series
diff --git a/patches/fontconfig-2.6.0/0001-Fix-build-on-Darwin.patch b/patches/fontconfig-2.6.0/0001-Fix-build-on-Darwin.patch
new file mode 100644
index 0000000..89320dd
--- /dev/null
+++ b/patches/fontconfig-2.6.0/0001-Fix-build-on-Darwin.patch
@@ -0,0 +1,68 @@
+From 4b0e469be28dc539dac7ec9eb504b6add37dd85a Mon Sep 17 00:00:00 2001
+From: Bernhard Walle <bernhard@bwalle.de>
+Date: Sun, 8 Apr 2012 17:38:20 +0200
+Subject: [PATCH] Fix build on Darwin
+
+The problem is the -rpath-link that is used even on host CC but this
+option is not available on Mac OS.
+
+Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
+---
+ fc-arch/Makefile.am | 2 +-
+ fc-case/Makefile.am | 2 +-
+ fc-glyphname/Makefile.am | 2 +-
+ fc-lang/Makefile.am | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/fc-arch/Makefile.am b/fc-arch/Makefile.am
+index 7e1dd3e..802c999 100644
+--- a/fc-arch/Makefile.am
++++ b/fc-arch/Makefile.am
+@@ -24,7 +24,7 @@
+
+ CC = @CC_FOR_BUILD@
+ EXEEXT = @EXEEXT_FOR_BUILD@
+-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) -o $@
+
+ INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(WARN_CFLAGS)
+
+diff --git a/fc-case/Makefile.am b/fc-case/Makefile.am
+index d4fa12d..9ea539f 100644
+--- a/fc-case/Makefile.am
++++ b/fc-case/Makefile.am
+@@ -24,7 +24,7 @@
+
+ CC = @CC_FOR_BUILD@
+ EXEEXT = @EXEEXT_FOR_BUILD@
+-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) -o $@
+
+ INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(WARN_CFLAGS)
+
+diff --git a/fc-glyphname/Makefile.am b/fc-glyphname/Makefile.am
+index 412d663..bd91007 100644
+--- a/fc-glyphname/Makefile.am
++++ b/fc-glyphname/Makefile.am
+@@ -24,7 +24,7 @@
+
+ CC = @CC_FOR_BUILD@
+ EXEEXT = @EXEEXT_FOR_BUILD@
+-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) -o $@
+
+ INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(WARN_CFLAGS)
+
+diff --git a/fc-lang/Makefile.am b/fc-lang/Makefile.am
+index 60e4f31..73ff946 100644
+--- a/fc-lang/Makefile.am
++++ b/fc-lang/Makefile.am
+@@ -24,7 +24,7 @@
+
+ CC = @CC_FOR_BUILD@
+ EXEEXT = @EXEEXT_FOR_BUILD@
+-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) -o $@
+
+ INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(WARN_CFLAGS)
+
diff --git a/patches/fontconfig-2.6.0/autogen.sh b/patches/fontconfig-2.6.0/autogen.sh
new file mode 120000
index 0000000..9f8a4cb
--- /dev/null
+++ b/patches/fontconfig-2.6.0/autogen.sh
@@ -0,0 +1 @@
+../autogen.sh
\ No newline at end of file
diff --git a/patches/fontconfig-2.6.0/series b/patches/fontconfig-2.6.0/series
new file mode 100644
index 0000000..d9df7e0
--- /dev/null
+++ b/patches/fontconfig-2.6.0/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-Fix-build-on-Darwin.patch
+# e4c948951d2fafee17a83f484c126a7e - git-ptx-patches magic
--
1.7.10
--
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [ptxdist] [PATCH 2/5] fontconfig: Fix Darwin build
2012-04-21 14:15 ` [ptxdist] [PATCH 2/5] fontconfig: Fix Darwin build Bernhard Walle
@ 2012-04-23 8:04 ` Michael Olbrich
0 siblings, 0 replies; 11+ messages in thread
From: Michael Olbrich @ 2012-04-23 8:04 UTC (permalink / raw)
To: ptxdist
On Sat, Apr 21, 2012 at 04:15:58PM +0200, Bernhard Walle wrote:
> Upstream solved it completely different
> http://cgit.freedesktop.org/fontconfig/commit/?id=2a6b235ff6d2750171e8dff7cfdfe3bccb0f630e
Please add this link to the patch description. And specify the fontconfig
version that fixes the problem.
> now, so after updating fontconfig the patch will be obsolete. Applying
> that patch is not possible, however, since I would need to re-create the
> tarball.
>
> However, I don't want to update fontconfig since it touches the whole
> Xorg stack and I have no possibility to test that.
Yes, updating Xorg is always scary. I try to avoid that as well :-)
> Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
> ---
> .../0001-Fix-build-on-Darwin.patch | 68 ++++++++++++++++++++
> patches/fontconfig-2.6.0/autogen.sh | 1 +
> patches/fontconfig-2.6.0/series | 4 ++
> 3 files changed, 73 insertions(+)
> create mode 100644 patches/fontconfig-2.6.0/0001-Fix-build-on-Darwin.patch
> create mode 120000 patches/fontconfig-2.6.0/autogen.sh
> create mode 100644 patches/fontconfig-2.6.0/series
>
> diff --git a/patches/fontconfig-2.6.0/0001-Fix-build-on-Darwin.patch b/patches/fontconfig-2.6.0/0001-Fix-build-on-Darwin.patch
> new file mode 100644
> index 0000000..89320dd
> --- /dev/null
> +++ b/patches/fontconfig-2.6.0/0001-Fix-build-on-Darwin.patch
> @@ -0,0 +1,68 @@
> +From 4b0e469be28dc539dac7ec9eb504b6add37dd85a Mon Sep 17 00:00:00 2001
> +From: Bernhard Walle <bernhard@bwalle.de>
> +Date: Sun, 8 Apr 2012 17:38:20 +0200
> +Subject: [PATCH] Fix build on Darwin
> +
> +The problem is the -rpath-link that is used even on host CC but this
> +option is not available on Mac OS.
> +
> +Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
> +---
> + fc-arch/Makefile.am | 2 +-
> + fc-case/Makefile.am | 2 +-
> + fc-glyphname/Makefile.am | 2 +-
> + fc-lang/Makefile.am | 2 +-
> + 4 files changed, 4 insertions(+), 4 deletions(-)
> +
> +diff --git a/fc-arch/Makefile.am b/fc-arch/Makefile.am
> +index 7e1dd3e..802c999 100644
> +--- a/fc-arch/Makefile.am
> ++++ b/fc-arch/Makefile.am
> +@@ -24,7 +24,7 @@
> +
> + CC = @CC_FOR_BUILD@
> + EXEEXT = @EXEEXT_FOR_BUILD@
> +-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
> ++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) -o $@
Shouldn't you remove the $(CFLAGS) as well? CROSS_CFLAGS are added here,
right?
Michael
> +
> + INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(WARN_CFLAGS)
> +
> +diff --git a/fc-case/Makefile.am b/fc-case/Makefile.am
> +index d4fa12d..9ea539f 100644
> +--- a/fc-case/Makefile.am
> ++++ b/fc-case/Makefile.am
> +@@ -24,7 +24,7 @@
> +
> + CC = @CC_FOR_BUILD@
> + EXEEXT = @EXEEXT_FOR_BUILD@
> +-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
> ++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) -o $@
> +
> + INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(WARN_CFLAGS)
> +
> +diff --git a/fc-glyphname/Makefile.am b/fc-glyphname/Makefile.am
> +index 412d663..bd91007 100644
> +--- a/fc-glyphname/Makefile.am
> ++++ b/fc-glyphname/Makefile.am
> +@@ -24,7 +24,7 @@
> +
> + CC = @CC_FOR_BUILD@
> + EXEEXT = @EXEEXT_FOR_BUILD@
> +-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
> ++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) -o $@
> +
> + INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(WARN_CFLAGS)
> +
> +diff --git a/fc-lang/Makefile.am b/fc-lang/Makefile.am
> +index 60e4f31..73ff946 100644
> +--- a/fc-lang/Makefile.am
> ++++ b/fc-lang/Makefile.am
> +@@ -24,7 +24,7 @@
> +
> + CC = @CC_FOR_BUILD@
> + EXEEXT = @EXEEXT_FOR_BUILD@
> +-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
> ++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) -o $@
> +
> + INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(WARN_CFLAGS)
> +
> diff --git a/patches/fontconfig-2.6.0/autogen.sh b/patches/fontconfig-2.6.0/autogen.sh
> new file mode 120000
> index 0000000..9f8a4cb
> --- /dev/null
> +++ b/patches/fontconfig-2.6.0/autogen.sh
> @@ -0,0 +1 @@
> +../autogen.sh
> \ No newline at end of file
> diff --git a/patches/fontconfig-2.6.0/series b/patches/fontconfig-2.6.0/series
> new file mode 100644
> index 0000000..d9df7e0
> --- /dev/null
> +++ b/patches/fontconfig-2.6.0/series
> @@ -0,0 +1,4 @@
> +# generated by git-ptx-patches
> +#tag:base --start-number 1
> +0001-Fix-build-on-Darwin.patch
> +# e4c948951d2fafee17a83f484c126a7e - git-ptx-patches magic
> --
> 1.7.10
>
>
> --
> ptxdist mailing list
> ptxdist@pengutronix.de
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
--
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 11+ messages in thread
* [ptxdist] [PATCH 3/5] libcap: Fix build on non-Linux host
2012-04-21 14:15 [ptxdist] Outstanding patches Bernhard Walle
2012-04-21 14:15 ` [ptxdist] [PATCH 1/5] Add sp-oops-extract package Bernhard Walle
2012-04-21 14:15 ` [ptxdist] [PATCH 2/5] fontconfig: Fix Darwin build Bernhard Walle
@ 2012-04-21 14:15 ` Bernhard Walle
2012-04-23 7:54 ` Michael Olbrich
2012-04-21 14:16 ` [ptxdist] [PATCH 4/5] Add host-parted Bernhard Walle
2012-04-21 14:16 ` [ptxdist] [PATCH 5/5] Allow creation of bootable SD card for OMAP CPUs Bernhard Walle
4 siblings, 1 reply; 11+ messages in thread
From: Bernhard Walle @ 2012-04-21 14:15 UTC (permalink / raw)
To: ptxdist
The patch has been already sent upstream (in a lightly different
variant). For now, it works.
Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
---
.../0002-Fix-build-on-non-Linux-host.patch | 41 ++++++++++++++++++++
patches/libcap-2.21/series | 4 +-
2 files changed, 44 insertions(+), 1 deletion(-)
create mode 100644 patches/libcap-2.21/0002-Fix-build-on-non-Linux-host.patch
diff --git a/patches/libcap-2.21/0002-Fix-build-on-non-Linux-host.patch b/patches/libcap-2.21/0002-Fix-build-on-non-Linux-host.patch
new file mode 100644
index 0000000..b226906
--- /dev/null
+++ b/patches/libcap-2.21/0002-Fix-build-on-non-Linux-host.patch
@@ -0,0 +1,41 @@
+From dd53fb42020b5a0612870924dd95e3a488ddf13d Mon Sep 17 00:00:00 2001
+From: Bernhard Walle <bernhard@bwalle.de>
+Date: Sun, 8 Apr 2012 17:55:56 +0200
+Subject: [PATCH] Fix build on non-Linux host
+
+Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
+---
+ libcap/include/linux/capability.h | 6 ++++++
+ libcap/include/sys/capability.h | 1 -
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/libcap/include/linux/capability.h b/libcap/include/linux/capability.h
+index 4924f2a..6d2fdaf 100644
+--- a/libcap/include/linux/capability.h
++++ b/libcap/include/linux/capability.h
+@@ -13,7 +13,13 @@
+ #ifndef _LINUX_CAPABILITY_H
+ #define _LINUX_CAPABILITY_H
+
++#ifdef __linux__
+ #include <linux/types.h>
++#else
++#include <stdint.h>
++typedef uint32_t __u32;
++typedef uint32_t __le32;
++#endif
+
+ struct task_struct;
+
+diff --git a/libcap/include/sys/capability.h b/libcap/include/sys/capability.h
+index 4b54acc..d6ef07f 100644
+--- a/libcap/include/sys/capability.h
++++ b/libcap/include/sys/capability.h
+@@ -21,7 +21,6 @@ extern "C" {
+
+ #include <sys/types.h>
+ #include <stdint.h>
+-#include <linux/types.h>
+
+ /*
+ * Required to limit what gets defined in the kernel header file.
diff --git a/patches/libcap-2.21/series b/patches/libcap-2.21/series
index ab798c0..d16ef28 100644
--- a/patches/libcap-2.21/series
+++ b/patches/libcap-2.21/series
@@ -1,3 +1,5 @@
# generated by git-ptx-patches
+#tag:base --start-number 1
0001-Make.Rules-don-t-overwrite-CFLAGS-and-LDFLAGS.patch
-# 1d206f03899ee1c148cbf9652fc1aec3 - git-ptx-patches magic
+0002-Fix-build-on-non-Linux-host.patch
+# 187508e7e810aa0efb7a7ad4d7af2d9e - git-ptx-patches magic
--
1.7.10
--
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [ptxdist] [PATCH 3/5] libcap: Fix build on non-Linux host
2012-04-21 14:15 ` [ptxdist] [PATCH 3/5] libcap: Fix build on non-Linux host Bernhard Walle
@ 2012-04-23 7:54 ` Michael Olbrich
0 siblings, 0 replies; 11+ messages in thread
From: Michael Olbrich @ 2012-04-23 7:54 UTC (permalink / raw)
To: ptxdist
On Sat, Apr 21, 2012 at 04:15:59PM +0200, Bernhard Walle wrote:
> The patch has been already sent upstream (in a lightly different
> variant). For now, it works.
Thanks, applied.
Michael
> Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
> ---
> .../0002-Fix-build-on-non-Linux-host.patch | 41 ++++++++++++++++++++
> patches/libcap-2.21/series | 4 +-
> 2 files changed, 44 insertions(+), 1 deletion(-)
> create mode 100644 patches/libcap-2.21/0002-Fix-build-on-non-Linux-host.patch
>
> diff --git a/patches/libcap-2.21/0002-Fix-build-on-non-Linux-host.patch b/patches/libcap-2.21/0002-Fix-build-on-non-Linux-host.patch
> new file mode 100644
> index 0000000..b226906
> --- /dev/null
> +++ b/patches/libcap-2.21/0002-Fix-build-on-non-Linux-host.patch
> @@ -0,0 +1,41 @@
> +From dd53fb42020b5a0612870924dd95e3a488ddf13d Mon Sep 17 00:00:00 2001
> +From: Bernhard Walle <bernhard@bwalle.de>
> +Date: Sun, 8 Apr 2012 17:55:56 +0200
> +Subject: [PATCH] Fix build on non-Linux host
> +
> +Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
> +---
> + libcap/include/linux/capability.h | 6 ++++++
> + libcap/include/sys/capability.h | 1 -
> + 2 files changed, 6 insertions(+), 1 deletion(-)
> +
> +diff --git a/libcap/include/linux/capability.h b/libcap/include/linux/capability.h
> +index 4924f2a..6d2fdaf 100644
> +--- a/libcap/include/linux/capability.h
> ++++ b/libcap/include/linux/capability.h
> +@@ -13,7 +13,13 @@
> + #ifndef _LINUX_CAPABILITY_H
> + #define _LINUX_CAPABILITY_H
> +
> ++#ifdef __linux__
> + #include <linux/types.h>
> ++#else
> ++#include <stdint.h>
> ++typedef uint32_t __u32;
> ++typedef uint32_t __le32;
> ++#endif
> +
> + struct task_struct;
> +
> +diff --git a/libcap/include/sys/capability.h b/libcap/include/sys/capability.h
> +index 4b54acc..d6ef07f 100644
> +--- a/libcap/include/sys/capability.h
> ++++ b/libcap/include/sys/capability.h
> +@@ -21,7 +21,6 @@ extern "C" {
> +
> + #include <sys/types.h>
> + #include <stdint.h>
> +-#include <linux/types.h>
> +
> + /*
> + * Required to limit what gets defined in the kernel header file.
> diff --git a/patches/libcap-2.21/series b/patches/libcap-2.21/series
> index ab798c0..d16ef28 100644
> --- a/patches/libcap-2.21/series
> +++ b/patches/libcap-2.21/series
> @@ -1,3 +1,5 @@
> # generated by git-ptx-patches
> +#tag:base --start-number 1
> 0001-Make.Rules-don-t-overwrite-CFLAGS-and-LDFLAGS.patch
> -# 1d206f03899ee1c148cbf9652fc1aec3 - git-ptx-patches magic
> +0002-Fix-build-on-non-Linux-host.patch
> +# 187508e7e810aa0efb7a7ad4d7af2d9e - git-ptx-patches magic
> --
> 1.7.10
>
>
> --
> ptxdist mailing list
> ptxdist@pengutronix.de
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
--
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 11+ messages in thread
* [ptxdist] [PATCH 4/5] Add host-parted
2012-04-21 14:15 [ptxdist] Outstanding patches Bernhard Walle
` (2 preceding siblings ...)
2012-04-21 14:15 ` [ptxdist] [PATCH 3/5] libcap: Fix build on non-Linux host Bernhard Walle
@ 2012-04-21 14:16 ` Bernhard Walle
2012-05-31 10:08 ` Andreas Bießmann
2012-04-21 14:16 ` [ptxdist] [PATCH 5/5] Allow creation of bootable SD card for OMAP CPUs Bernhard Walle
4 siblings, 1 reply; 11+ messages in thread
From: Bernhard Walle @ 2012-04-21 14:16 UTC (permalink / raw)
To: ptxdist; +Cc: Bernhard Walle
Signed-off-by: Bernhard Walle <walle@corscience.de>
---
platforms/hosttools.in | 1 +
rules/host-parted.in | 6 ++++++
rules/host-parted.make | 25 +++++++++++++++++++++++++
3 files changed, 32 insertions(+)
create mode 100644 rules/host-parted.in
create mode 100644 rules/host-parted.make
diff --git a/platforms/hosttools.in b/platforms/hosttools.in
index e9ce0fc..10d05e8 100644
--- a/platforms/hosttools.in
+++ b/platforms/hosttools.in
@@ -18,6 +18,7 @@ source "rules/host-mkelfImage.in"
source "rules/host-mtd-utils.in"
source "rules/host-mtools.in"
source "rules/host-openssl.in"
+source "rules/host-parted.in"
source "rules/host-squashfs-tools.in"
source "rules/host-u-boot-tools.in"
source "rules/host-util-linux-ng.in"
diff --git a/rules/host-parted.in b/rules/host-parted.in
new file mode 100644
index 0000000..8f8f038
--- /dev/null
+++ b/rules/host-parted.in
@@ -0,0 +1,6 @@
+## SECTION=hosttools_noprompt
+
+config HOST_PARTED
+ bool
+ default ALLYES
+ select HOST_LIBUUID
diff --git a/rules/host-parted.make b/rules/host-parted.make
new file mode 100644
index 0000000..0a10a4e
--- /dev/null
+++ b/rules/host-parted.make
@@ -0,0 +1,25 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2012 by Bernhard Walle <walle@corscience.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_PARTED) += host-parted
+
+#
+# autoconf
+#
+HOST_PARTED_CONF_TOOL := autoconf
+HOST_PARTED_CONF_OPT := $(HOST_AUTOCONF) \
+ --disable-device-mapper \
+ --without-readline \
+ --disable-Werror
+
+# vim: syntax=make
--
1.7.10
--
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 11+ messages in thread
* [ptxdist] [PATCH 5/5] Allow creation of bootable SD card for OMAP CPUs
2012-04-21 14:15 [ptxdist] Outstanding patches Bernhard Walle
` (3 preceding siblings ...)
2012-04-21 14:16 ` [ptxdist] [PATCH 4/5] Add host-parted Bernhard Walle
@ 2012-04-21 14:16 ` Bernhard Walle
2012-05-31 10:09 ` Andreas Bießmann
4 siblings, 1 reply; 11+ messages in thread
From: Bernhard Walle @ 2012-04-21 14:16 UTC (permalink / raw)
To: ptxdist; +Cc: Bernhard Walle
With the new option IMAGE_OMAPSD it's possible to create an image for
OMAP-bootable SD cards. Tested with a devkit8000 and a virtual beagle
board (qemu).
See the comment in platforms/image_omapsd.in for more information.
Signed-off-by: Bernhard Walle <walle@corscience.de>
---
platforms/image_omapsd.in | 48 +++++++++++
rules/post/image_omapsd.make | 33 ++++++++
scripts/genomapsdimg | 188 ++++++++++++++++++++++++++++++++++++++++++
3 files changed, 269 insertions(+)
create mode 100644 platforms/image_omapsd.in
create mode 100644 rules/post/image_omapsd.make
create mode 100755 scripts/genomapsdimg
diff --git a/platforms/image_omapsd.in b/platforms/image_omapsd.in
new file mode 100644
index 0000000..ef6c5e4
--- /dev/null
+++ b/platforms/image_omapsd.in
@@ -0,0 +1,48 @@
+## SECTION=image
+
+menuconfig IMAGE_OMAPSD
+ bool
+ select IMAGE_VFAT_TOOLS
+ select HOST_PARTED
+ select IMAGE_EXT2
+ depends on ARCH_ARM
+ prompt "Generate OMAP bootable SD card"
+ help
+ Creates an bootable SD card for OMAP CPUs, for example for the beagle board.
+ The resulting image is called "omap_sd.img". You can copy it with "dd"
+ on a raw SD card, without partitioning.
+
+ The SD card contains two file systems:
+ 1) A FAT file system that contains MLO, a bootloader and a Linux kernel
+ (plus additional files like an initramfs).
+ 2) The root file system as ext3 file system.
+
+ OMAP has special requirements regarding the geometry of partition table,
+ and the location of MLO, that's why a fixed image makes more sense here
+ than copying the files manually.
+
+if IMAGE_OMAPSD
+
+config IMAGE_OMAPSD_BOOTLOADER
+ string
+ default "u-boot.img"
+ prompt "Bootloader file"
+ help
+ The name of the bootloader that should be copied to the SD card. If you use
+ u-boot SPL, then "u-boot.img" is the right choice here. If you still use
+ x-loader, then "u-boot.bin" should be copied. Also barebox can be used
+ with its MLO. The file must reside in the images directory of the platform.
+
+config IMAGE_OMAPSD_ADDITIONAL_BOOT_FILES
+ string
+ default ""
+ prompt "Additional files for the boot partition"
+ help
+ A (whitespace separated) list of additional files can be specified here.
+ The files get copied in the boot partition (1st FAT partition). They must
+ be in the images/ directory of the platform that is built. One example is
+ a uRamdisk that gets loaded by the bootloader.
+
+endif
+
+# vim: set sw=8 ts=8 noet ft=kconfig:
diff --git a/rules/post/image_omapsd.make b/rules/post/image_omapsd.make
new file mode 100644
index 0000000..5131b40
--- /dev/null
+++ b/rules/post/image_omapsd.make
@@ -0,0 +1,33 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2012 by Bernhard Walle <walle@corscience.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.
+#
+
+SEL_ROOTFS-$(PTXCONF_IMAGE_OMAPSD) += $(IMAGEDIR)/omap_sd.img
+
+# preprend the $(IMAGEDIR) if PTXCONF_IMAGE_OMAPSD_ADDITIONAL_BOOT_FILES is not
+# empty
+ifneq ($(PTXCONF_IMAGE_OMAPSD_ADDITIONAL_BOOT_FILES),"")
+PTXCONF_IMAGE_OMAPSD_ADDITIONAL_BOOT_FILES_FULL := \
+ $(addprefix $(IMAGEDIR)/, $(PTXCONF_IMAGE_OMAPSD_ADDITIONAL_BOOT_FILES))
+endif
+
+$(IMAGEDIR)/omap_sd.img: $(IMAGEDIR)/root.ext2
+ @ln -sf $(IMAGEDIR)/linuximage $(IMAGEDIR)/uImage
+ @echo "Creating bootable SD card for OMAP"; \
+ PATH=$(PTXCONF_SYSROOT_HOST)/bin:$$PATH $(PTXDIST_TOPDIR)/scripts/genomapsdimg \
+ -m $(IMAGEDIR)/MLO \
+ -b $(IMAGEDIR)/$(PTXCONF_IMAGE_OMAPSD_BOOTLOADER) \
+ -k $(IMAGEDIR)/uImage \
+ -f $(IMAGEDIR)/root.ext2 \
+ -a "$(PTXCONF_IMAGE_OMAPSD_ADDITIONAL_BOOT_FILES_FULL)" \
+ -o $@
+ @echo "done."
+ @rm -f $(IMAGEDIR)/uImage
+
+# vim: syntax=make
diff --git a/scripts/genomapsdimg b/scripts/genomapsdimg
new file mode 100755
index 0000000..cd48fd5
--- /dev/null
+++ b/scripts/genomapsdimg
@@ -0,0 +1,188 @@
+#!/bin/bash
+#
+# Copyright (C) 2011 by Bernhard Walle <walle@corscience.de>
+#
+# Creates a OMAP bootable SD card.
+# The image has a PC-style partition table with two partitions:
+#
+# 1) a FAT partition with MLO, bootloader and a Linux kernel
+# 2) a ext3 partition with the root file system.
+#
+# That's a bit tricky because the OMAP needs a special partition table
+# (therefore, genpart cannot be used).
+#
+# Parts of the script have been copied from 'debian-cd' (post-boot-armel).
+
+usage() {
+cat <<-EOF
+
+Usage: `basename "$0"` OPTIONS
+
+ -h this help
+ -m <mlo> path to the MLO file (SPL)
+ -b <bootloader> path to the bootloader
+ -k <kernel> path to the linux kernel
+ -a <file> additional file that should be included in the FAT partition
+ (e.g. a FTD or an initramfs). Multiple files can be specified
+ using whitespace separation. Don't forget to quote.
+ -f <filesystem> the (ext3) file system image for the second partition
+ -o <output> the output file that should be written
+
+EOF
+}
+
+error()
+{
+ echo >&2 "$@"
+ exit 1
+}
+
+file_length()
+{
+ stat -c %s "$1"
+}
+
+create_partitions()
+{
+ local boot_size="$((72 * 1024 * 1024))" # 72 MB for the partition
+ local image_size="$(file_length "${FILESYSTEM}")"
+ local img_size_blocks="$(((${boot_size} + ${image_size} + 512 - 1) / 512))"
+
+ dd if=/dev/zero of="${OUTPUT}" bs=512 count=0 seek="${img_size_blocks}" >/dev/null 2>&1
+ if [ $? -ne 0 ] ; then
+ error "Unable to create '${OUTPUT}' with 'dd'"
+ fi
+
+ local trg_size="$(file_length "${OUTPUT}")"
+ local cylinders=$(( ${trg_size}/255/63/512 ))
+
+ {
+ echo ,9,0x0C,*
+ echo ,,,-
+ } | sfdisk -D -H 255 -S 63 -C ${cylinders} "${OUTPUT}" >/dev/null 2>&1
+
+ if [ $? -ne 0 ] ; then
+ error "Unable to execute sfdisk"
+ fi
+}
+
+check_input()
+{
+ if ! [ -r "${MLO}" ] ; then
+ echo "MLO '${MLO}' does not exist."
+ usage
+ exit 1
+ fi
+
+ if ! [ -r "${BOOTLOADER}" ] ; then
+ echo "Bootloader '${BOOTLOADER}' does not exist."
+ usage
+ exit 1
+ fi
+
+ if ! [ -r "${KERNEL}" ] ; then
+ echo "Kernel '${KERNEL}' does not exist."
+ usage
+ exit 1
+ fi
+
+ if ! [ -r "${FILESYSTEM}" ] ; then
+ echo "File system image '${FILESYSTEM}' does not exist."
+ usage
+ exit 1
+ fi
+
+ if [ -z "${OUTPUT}" ] ; then
+ echo "You have to specify an output file with -o."
+ usage
+ exit 1
+ fi
+}
+
+create_filesystem()
+{
+ local vatstart=$(parted "${OUTPUT}" unit B print 2>/dev/null|grep "^ 1"|awk '{print $2}')
+ local vatsize=$(LANG=C fdisk -l "${OUTPUT}" 2>/dev/null|grep W95 |awk '{print $5}')
+
+ if ! mkdosfs -F 32 -C "${OUTPUT_FAT}" "${vatsize}" >/dev/null 2>&1 ; then
+ error "Unable to create '${OUTPUT_FAT}' via 'mkdosfs'"
+ fi
+}
+
+copy_files()
+{
+ export MTOOLS_SKIP_CHECK=1
+
+ # it's important to copy the MLO first
+ mcopy -i "${OUTPUT_FAT}" "${MLO}" ::MLO
+ mcopy -i "${OUTPUT_FAT}" "${BOOTLOADER}" "::$(basename "${BOOTLOADER}")"
+ mcopy -i "${OUTPUT_FAT}" "${KERNEL}" "::$(basename "${KERNEL}")"
+
+ # copy additional files (like FTD or an initramfs)
+ if [ -n "$ADDITIONAL_FILES" ] ; then
+ for file in ${ADDITIONAL_FILES} ; do
+ local targetname=$(basename "${file}")
+ if ! mcopy -i "${OUTPUT_FAT}" "${file}" "::${targetname}" ; then
+ error "Unable to copy '${file}' to '${OUTPUT_FAT}'"
+ fi
+ done
+ fi
+}
+
+create_image()
+{
+ # now put the whole vfat into the first partition
+ local vatstart=$(parted "${OUTPUT}" unit B print 2>/dev/null | grep "^ 1" | awk '{print $2}')
+
+ dd conv=notrunc bs="${vatstart%B}" if="${OUTPUT_FAT}" of="${OUTPUT}" seek=1 >/dev/null 2>&1
+ if [ $? -ne 0 ] ; then
+ error "Unable to append '${OUTPUT_FAT}' to '${OUTPUT}'"
+ fi
+ rm "${OUTPUT_FAT}"
+
+ # put ext3 content into the second partition
+ local ext3start=$(parted "${OUTPUT}" unit B print 2>/dev/null | grep "^ 2" | awk '{print $2}')
+ dd conv=notrunc bs="${ext3start%B}" if="${FILESYSTEM}" of="${OUTPUT}" seek=1 >/dev/null 2>&1
+ if [ $? -ne 0 ] ; then
+ error "Unable to append '${FILESYSTEM}' to '${OUTPUT}'"
+ fi
+}
+
+
+# command line parsing
+
+while getopts hm:b:k:a:f:o: name ; do
+ case $name in
+ m) MLO="${OPTARG}"
+ ;;
+ b) BOOTLOADER="${OPTARG}"
+ ;;
+ k) KERNEL="${OPTARG}"
+ ;;
+ a) ADDITIONAL_FILES="${OPTARG}"
+ ;;
+ f) FILESYSTEM="${OPTARG}"
+ ;;
+ o) OUTPUT="${OPTARG}"
+ ;;
+ h) usage
+ exit 0
+ ;;
+ *) usage
+ exit 1
+ ;;
+ esac
+done
+
+OUTPUT_FAT="${OUTPUT}.vfat"
+[ -r "${OUTPUT_FAT}" ] && rm "${OUTPUT_FAT}"
+
+check_input
+create_partitions
+create_filesystem
+copy_files
+create_image
+
+echo "${OUTPUT} ready"
+
+# vim: set sw=4 ts=4 noet:
--
1.7.10
--
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 11+ messages in thread