From: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
To: mmarek@suse.cz, Sam Ravnborg <sam@ravnborg.org>
Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com>,
tabbott@ksplice.com, vda.linux@googlemail.com,
hpa@linux.intel.com, akpm@linux-foundation.org,
linux-kernel@vger.kernel.org, heiko.carstens@de.ibm.com,
brueckner@linux.vnet.ibm.com, schwidefsky@de.ibm.com
Subject: [PATCH 1/2] initramfs: Generalize initramfs_data.xxx.S variants
Date: Tue, 31 Aug 2010 10:23:08 +0200 [thread overview]
Message-ID: <20100831083843.853005604@linux.vnet.ibm.com> (raw)
In-Reply-To: 20100831082307.064687027@linux.vnet.ibm.com
[-- Attachment #1: irfs1.patch --]
[-- Type: text/plain, Size: 6309 bytes --]
Remove initramfs_data.{lzo,lzma,gz,bz2}.S variants and use a common
implementation in initramfs_data.S. The common implementation expects
the file name of the initramfs to be defined in INITRAMFS_IMAGE.
Change the Makefile to set the INITRAMFS_IMAGE define symbol according
to the selected compression method.
Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
---
usr/Makefile | 6 ++++--
usr/initramfs_data.S | 5 +++--
usr/initramfs_data.bz2.S | 29 -----------------------------
usr/initramfs_data.gz.S | 29 -----------------------------
usr/initramfs_data.lzma.S | 29 -----------------------------
usr/initramfs_data.lzo.S | 29 -----------------------------
6 files changed, 7 insertions(+), 120 deletions(-)
--- a/usr/Makefile
+++ b/usr/Makefile
@@ -18,13 +18,15 @@ suffix_$(CONFIG_INITRAMFS_COMPRESSION_LZ
# Lzo
suffix_$(CONFIG_INITRAMFS_COMPRESSION_LZO) = .lzo
+AFLAGS_initramfs_data.o += -DINITRAMFS_IMAGE="usr/initramfs_data.cpio$(suffix_y)"
+
# Generate builtin.o based on initramfs_data.o
-obj-$(CONFIG_BLK_DEV_INITRD) := initramfs_data$(suffix_y).o
+obj-$(CONFIG_BLK_DEV_INITRD) := initramfs_data.o
# initramfs_data.o contains the compressed initramfs_data.cpio image.
# The image is included using .incbin, a dependency which is not
# tracked automatically.
-$(obj)/initramfs_data$(suffix_y).o: $(obj)/initramfs_data.cpio$(suffix_y) FORCE
+$(obj)/initramfs_data.o: $(obj)/initramfs_data.cpio$(suffix_y) FORCE
#####
# Generate the initramfs cpio archive
--- a/usr/initramfs_data.S
+++ b/usr/initramfs_data.S
@@ -25,6 +25,7 @@ SECTIONS
in the ELF header, as required by certain architectures.
*/
-.section .init.ramfs,"a"
-.incbin "usr/initramfs_data.cpio"
+#include <linux/stringify.h>
+.section .init.ramfs,"a"
+.incbin __stringify(INITRAMFS_IMAGE)
--- a/usr/initramfs_data.bz2.S
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- initramfs_data includes the compressed binary that is the
- filesystem used for early user space.
- Note: Older versions of "as" (prior to binutils 2.11.90.0.23
- released on 2001-07-14) dit not support .incbin.
- If you are forced to use older binutils than that then the
- following trick can be applied to create the resulting binary:
-
-
- ld -m elf_i386 --format binary --oformat elf32-i386 -r \
- -T initramfs_data.scr initramfs_data.cpio.gz -o initramfs_data.o
- ld -m elf_i386 -r -o built-in.o initramfs_data.o
-
- initramfs_data.scr looks like this:
-SECTIONS
-{
- .init.ramfs : { *(.data) }
-}
-
- The above example is for i386 - the parameters vary from architectures.
- Eventually look up LDFLAGS_BLOB in an older version of the
- arch/$(ARCH)/Makefile to see the flags used before .incbin was introduced.
-
- Using .incbin has the advantage over ld that the correct flags are set
- in the ELF header, as required by certain architectures.
-*/
-
-.section .init.ramfs,"a"
-.incbin "usr/initramfs_data.cpio.bz2"
--- a/usr/initramfs_data.gz.S
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- initramfs_data includes the compressed binary that is the
- filesystem used for early user space.
- Note: Older versions of "as" (prior to binutils 2.11.90.0.23
- released on 2001-07-14) dit not support .incbin.
- If you are forced to use older binutils than that then the
- following trick can be applied to create the resulting binary:
-
-
- ld -m elf_i386 --format binary --oformat elf32-i386 -r \
- -T initramfs_data.scr initramfs_data.cpio.gz -o initramfs_data.o
- ld -m elf_i386 -r -o built-in.o initramfs_data.o
-
- initramfs_data.scr looks like this:
-SECTIONS
-{
- .init.ramfs : { *(.data) }
-}
-
- The above example is for i386 - the parameters vary from architectures.
- Eventually look up LDFLAGS_BLOB in an older version of the
- arch/$(ARCH)/Makefile to see the flags used before .incbin was introduced.
-
- Using .incbin has the advantage over ld that the correct flags are set
- in the ELF header, as required by certain architectures.
-*/
-
-.section .init.ramfs,"a"
-.incbin "usr/initramfs_data.cpio.gz"
--- a/usr/initramfs_data.lzma.S
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- initramfs_data includes the compressed binary that is the
- filesystem used for early user space.
- Note: Older versions of "as" (prior to binutils 2.11.90.0.23
- released on 2001-07-14) dit not support .incbin.
- If you are forced to use older binutils than that then the
- following trick can be applied to create the resulting binary:
-
-
- ld -m elf_i386 --format binary --oformat elf32-i386 -r \
- -T initramfs_data.scr initramfs_data.cpio.gz -o initramfs_data.o
- ld -m elf_i386 -r -o built-in.o initramfs_data.o
-
- initramfs_data.scr looks like this:
-SECTIONS
-{
- .init.ramfs : { *(.data) }
-}
-
- The above example is for i386 - the parameters vary from architectures.
- Eventually look up LDFLAGS_BLOB in an older version of the
- arch/$(ARCH)/Makefile to see the flags used before .incbin was introduced.
-
- Using .incbin has the advantage over ld that the correct flags are set
- in the ELF header, as required by certain architectures.
-*/
-
-.section .init.ramfs,"a"
-.incbin "usr/initramfs_data.cpio.lzma"
--- a/usr/initramfs_data.lzo.S
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- initramfs_data includes the compressed binary that is the
- filesystem used for early user space.
- Note: Older versions of "as" (prior to binutils 2.11.90.0.23
- released on 2001-07-14) dit not support .incbin.
- If you are forced to use older binutils than that then the
- following trick can be applied to create the resulting binary:
-
-
- ld -m elf_i386 --format binary --oformat elf32-i386 -r \
- -T initramfs_data.scr initramfs_data.cpio.gz -o initramfs_data.o
- ld -m elf_i386 -r -o built-in.o initramfs_data.o
-
- initramfs_data.scr looks like this:
-SECTIONS
-{
- .init.ramfs : { *(.data) }
-}
-
- The above example is for i386 - the parameters vary from architectures.
- Eventually look up LDFLAGS_BLOB in an older version of the
- arch/$(ARCH)/Makefile to see the flags used before .incbin was introduced.
-
- Using .incbin has the advantage over ld that the correct flags are set
- in the ELF header, as required by certain architectures.
-*/
-
-.section .init.ramfs,"a"
-.incbin "usr/initramfs_data.cpio.lzo"
--
next prev parent reply other threads:[~2010-08-31 8:38 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-31 8:23 [PATCH 0/2] initramfs: Cleanup and fix initramfs size calculation Hendrik Brueckner
2010-08-31 8:23 ` Hendrik Brueckner [this message]
2010-08-31 8:23 ` [PATCH 2/2] initramfs: Fix " Hendrik Brueckner
2010-09-01 7:47 ` Américo Wang
2010-10-17 18:28 ` Mike Frysinger
2010-10-18 10:37 ` Hendrik Brueckner
2010-10-18 23:07 ` Mike Frysinger
2010-10-19 11:08 ` [PATCH] initramfs: Fix build break on symbol-prefixed archs Hendrik Brueckner
2010-10-19 20:11 ` Mike Frysinger
2010-10-19 21:31 ` Sam Ravnborg
2010-10-19 21:39 ` Mike Frysinger
2010-10-27 18:23 ` Mike Frysinger
2010-10-27 22:46 ` Michal Marek
2010-10-27 23:10 ` Mike Frysinger
2010-10-27 23:33 ` Michal Marek
2010-10-27 23:58 ` Mike Frysinger
2010-10-28 12:08 ` Michal Marek
2010-10-28 19:46 ` Mike Frysinger
2010-10-28 19:51 ` Mike Frysinger
2010-10-28 20:35 ` Sam Ravnborg
2010-10-28 20:42 ` Mike Frysinger
2010-10-28 20:53 ` Mike Frysinger
2010-10-29 6:12 ` Sam Ravnborg
2010-10-28 21:19 ` Michal Marek
2010-11-13 23:17 ` Mike Frysinger
2010-11-24 8:40 ` Mike Frysinger
2010-11-29 22:38 ` Andrew Morton
2010-11-29 23:29 ` Mike Frysinger
2010-11-30 15:36 ` Michal Marek
2010-12-02 4:12 ` Mike Frysinger
2010-08-31 14:08 ` [PATCH 0/2] initramfs: Cleanup and fix initramfs size calculation Michal Marek
2010-09-07 21:25 ` H. Peter Anvin
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=20100831083843.853005604@linux.vnet.ibm.com \
--to=brueckner@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=heiko.carstens@de.ibm.com \
--cc=holzheu@linux.vnet.ibm.com \
--cc=hpa@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mmarek@suse.cz \
--cc=sam@ravnborg.org \
--cc=schwidefsky@de.ibm.com \
--cc=tabbott@ksplice.com \
--cc=vda.linux@googlemail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.