* [PATCH 1/2] Add mkelfimage and support for generating kernel+initrd ELF payloads to OpenEmbedded
@ 2011-07-15 16:55 Raymond Danks
2011-07-15 18:48 ` Paul Menzel
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Raymond Danks @ 2011-07-15 16:55 UTC (permalink / raw)
To: openembedded-devel; +Cc: coreboot
On x86, and ELF image file may be stored as a coreboot payload. This
image file may be a kernel or a kernel+initrd.
Documentation on this has been started on the coreboot wiki:
http://www.coreboot.org/Mkelfimage
We have seen success using the mkelfimage utility to construct a
kernel+initrd image using the micro-image OpenEmbedded image as an initrd.
http://www.se-eng.com/wiki/index.php/Open_Embedded_Setup
The first patch contains the meta files for the mkelfimage utility in
OpenEmbedded.
---
recipes/mkelfimage/files/no-stack-protector.patch | 11 +++++++++++
recipes/mkelfimage/mkelfimage-native_git.bb | 11 +++++++++++
recipes/mkelfimage/mkelfimage.inc | 3 +++
recipes/mkelfimage/mkelfimage_git.bb | 17 +++++++++++++++++
4 files changed, 42 insertions(+), 0 deletions(-)
create mode 100644 recipes/mkelfimage/files/no-stack-protector.patch
create mode 100644 recipes/mkelfimage/mkelfimage-native_git.bb
create mode 100644 recipes/mkelfimage/mkelfimage.inc
create mode 100644 recipes/mkelfimage/mkelfimage_git.bb
diff --git a/recipes/mkelfimage/files/no-stack-protector.patch
b/recipes/mkelfimage/files/no-stack-protector.patch
new file mode 100644
index 0000000..135de8d
--- /dev/null
+++ b/recipes/mkelfimage/files/no-stack-protector.patch
@@ -0,0 +1,11 @@
+--- mkelfImage/Makefile.orig 2011-06-17 15:20:46.816870941 -0600
++++ mkelfImage/Makefile 2011-06-17 15:20:59.619382362 -0600
+@@ -14,7 +14,7 @@
+ pkglibdir = $(libdir)/$(PACKAGE)
+ pkgincludedir = $(includedir)/$(PACKAGE)
+
+-CPPFLAGS=-DVERSION='"$(VERSION)"' -DRELEASE_DATE='"$(RELEASE_DATE)"'
-I include
++CPPFLAGS=-fno-stack-protector -DVERSION='"$(VERSION)"'
-DRELEASE_DATE='"$(RELEASE_DATE)"' -I include $(CFLAGS) $(LDFLAGS)
+ HOST_CPPFLAGS=$(CPPFLAGS)
+ I386_CPPFLAGS=$(CPPFLAGS) -I arch/i386/include
+ IA64_CPPFLAGS=$(CPPFLAGS) -I arch/ia64/include
diff --git a/recipes/mkelfimage/mkelfimage-native_git.bb
b/recipes/mkelfimage/mkelfimage-native_git.bb
new file mode 100644
index 0000000..e2f251e
--- /dev/null
+++ b/recipes/mkelfimage/mkelfimage-native_git.bb
@@ -0,0 +1,11 @@
+require mkelfimage_${PV}.bb
+inherit native
+
+do_stage () {
+ install -m 0755 objdir/sbin/mkelfImage ${STAGING_BINDIR}/
+}
+
+do_install () {
+ :
+}
+
diff --git a/recipes/mkelfimage/mkelfimage.inc
b/recipes/mkelfimage/mkelfimage.inc
new file mode 100644
index 0000000..e06ed67
--- /dev/null
+++ b/recipes/mkelfimage/mkelfimage.inc
@@ -0,0 +1,3 @@
+LICENSE = "GPLv2"
+DESCRIPTION = "A utility to create ELF boot images from Linux kernel
images"
+SECTION = "console/utils"
diff --git a/recipes/mkelfimage/mkelfimage_git.bb
b/recipes/mkelfimage/mkelfimage_git.bb
new file mode 100644
index 0000000..7855f58
--- /dev/null
+++ b/recipes/mkelfimage/mkelfimage_git.bb
@@ -0,0 +1,17 @@
+require mkelfimage.inc
+
+SRCREV = "c045b4cc458a62dbb1dd99ae6a9343e52d1fe1e0"
+PV = "1.0.0+gitr${SRCPV}"
+PR = "r1"
+
+S = "${WORKDIR}/git/util/mkelfImage"
+
+SRC_URI =
"git://review.coreboot.org/p/coreboot;protocol=http;branch=master \
+ file://no-stack-protector.patch"
+
+DEFAULT_PREFERENCE = "1"
+
+inherit autotools
+
+SRC_URI[md5sum] = "719b22bdd34431203f9349250c67c5e3"
+SRC_URI[sha256sum] =
"9186e6e7302f38c1f77b763f0f14843fabc873ac7c81ede8ee094a47055668b5"
--
1.7.0.4
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH 1/2] Add mkelfimage and support for generating kernel+initrd ELF payloads to OpenEmbedded
2011-07-15 16:55 [PATCH 1/2] Add mkelfimage and support for generating kernel+initrd ELF payloads to OpenEmbedded Raymond Danks
@ 2011-07-15 18:48 ` Paul Menzel
2011-07-15 21:25 ` Raymond Danks
2011-07-15 23:04 ` [PATCH 1/2 v2] mkelfimage: Add version c045b4cc from Git (initial recipe) Raymond Danks
2011-07-15 23:04 ` [PATCH 2/2 v2] conf/bitbake.conf: Add support for generating kernel+initrd ELF coreboot payloads Raymond Danks
2 siblings, 1 reply; 5+ messages in thread
From: Paul Menzel @ 2011-07-15 18:48 UTC (permalink / raw)
To: openembedded-devel, Raymond Danks; +Cc: coreboot
[-- Attachment #1: Type: text/plain, Size: 5324 bytes --]
Dear Raymond,
I am putting you in CC not knowing if you read the lists.
Am Freitag, den 15.07.2011, 10:55 -0600 schrieb Raymond Danks:
The correct commit summary is
mkelfimage: Add version c045b4cc from Git (initial recipe)
> On x86, and ELF image file may be stored as a coreboot payload. This
s/and/an/
> image file may be a kernel or a kernel+initrd.
>
> Documentation on this has been started on the coreboot wiki:
> http://www.coreboot.org/Mkelfimage
>
> We have seen success using the mkelfimage utility to construct a
> kernel+initrd image using the micro-image OpenEmbedded image as an initrd.
> http://www.se-eng.com/wiki/index.php/Open_Embedded_Setup
What is your build configuration for testing this recipe?
> The first patch contains the meta files for the mkelfimage utility in
> OpenEmbedded.
Please remove that line above. The commit message should be describing
the commit only.
Unfortunately we cannot commit your patch, especially because your
Signed-off-by line is missing – you can add `-s` to the Git commands
`git commit` or `git format-patch` and your mailer mangled the patch by
automatic line breaks.
Please follow the commit policy [1] and it would be great if you could
send us a corrected patch [2].
> ---
> recipes/mkelfimage/files/no-stack-protector.patch | 11 +++++++++++
> recipes/mkelfimage/mkelfimage-native_git.bb | 11 +++++++++++
> recipes/mkelfimage/mkelfimage.inc | 3 +++
> recipes/mkelfimage/mkelfimage_git.bb | 17 +++++++++++++++++
> 4 files changed, 42 insertions(+), 0 deletions(-)
> create mode 100644 recipes/mkelfimage/files/no-stack-protector.patch
> create mode 100644 recipes/mkelfimage/mkelfimage-native_git.bb
> create mode 100644 recipes/mkelfimage/mkelfimage.inc
> create mode 100644 recipes/mkelfimage/mkelfimage_git.bb
>
> diff --git a/recipes/mkelfimage/files/no-stack-protector.patch
> b/recipes/mkelfimage/files/no-stack-protector.patch
> new file mode 100644
> index 0000000..135de8d
> --- /dev/null
> +++ b/recipes/mkelfimage/files/no-stack-protector.patch
> @@ -0,0 +1,11 @@
> +--- mkelfImage/Makefile.orig 2011-06-17 15:20:46.816870941 -0600
> ++++ mkelfImage/Makefile 2011-06-17 15:20:59.619382362 -0600
Please add a header describing this patch [3].
> +@@ -14,7 +14,7 @@
> + pkglibdir = $(libdir)/$(PACKAGE)
> + pkgincludedir = $(includedir)/$(PACKAGE)
> +
> +-CPPFLAGS=-DVERSION='"$(VERSION)"' -DRELEASE_DATE='"$(RELEASE_DATE)"'
> -I include
Here you can see an automatic line break.
> ++CPPFLAGS=-fno-stack-protector -DVERSION='"$(VERSION)"'
> -DRELEASE_DATE='"$(RELEASE_DATE)"' -I include $(CFLAGS) $(LDFLAGS)
> + HOST_CPPFLAGS=$(CPPFLAGS)
> + I386_CPPFLAGS=$(CPPFLAGS) -I arch/i386/include
> + IA64_CPPFLAGS=$(CPPFLAGS) -I arch/ia64/include
Please send that patch separately to the coreboot list if it is useful
for upstream. You should be able to use Gerrit and you also need a
Signed-off-by line [4].
> diff --git a/recipes/mkelfimage/mkelfimage-native_git.bb
> b/recipes/mkelfimage/mkelfimage-native_git.bb
> new file mode 100644
> index 0000000..e2f251e
> --- /dev/null
> +++ b/recipes/mkelfimage/mkelfimage-native_git.bb
> @@ -0,0 +1,11 @@
> +require mkelfimage_${PV}.bb
> +inherit native
> +
> +do_stage () {
Please follow the style guide [5], i. e., no space before `()`.
> + install -m 0755 objdir/sbin/mkelfImage ${STAGING_BINDIR}/
> +}
`do_stage ()` is deprecated [6].
> +
> +do_install () {
> + :
> +}
> +
> diff --git a/recipes/mkelfimage/mkelfimage.inc
> b/recipes/mkelfimage/mkelfimage.inc
> new file mode 100644
> index 0000000..e06ed67
> --- /dev/null
> +++ b/recipes/mkelfimage/mkelfimage.inc
> @@ -0,0 +1,3 @@
> +LICENSE = "GPLv2"
> +DESCRIPTION = "A utility to create ELF boot images from Linux kernel
> images"
> +SECTION = "console/utils"
Please order those as in the style guide and please also add the
`HOMEPAGE` variable.
> diff --git a/recipes/mkelfimage/mkelfimage_git.bb
> b/recipes/mkelfimage/mkelfimage_git.bb
> new file mode 100644
> index 0000000..7855f58
> --- /dev/null
> +++ b/recipes/mkelfimage/mkelfimage_git.bb
> @@ -0,0 +1,17 @@
> +require mkelfimage.inc
> +
> +SRCREV = "c045b4cc458a62dbb1dd99ae6a9343e52d1fe1e0"
> +PV = "1.0.0+gitr${SRCPV}"
> +PR = "r1"
We start with `r0`.
> +
> +S = "${WORKDIR}/git/util/mkelfImage"
> +
> +SRC_URI =
> "git://review.coreboot.org/p/coreboot;protocol=http;branch=master \
> + file://no-stack-protector.patch"
> +
> +DEFAULT_PREFERENCE = "1"
Not needed since this is the only recipe.
> +
> +inherit autotools
> +
> +SRC_URI[md5sum] = "719b22bdd34431203f9349250c67c5e3"
> +SRC_URI[sha256sum] =
> "9186e6e7302f38c1f77b763f0f14843fabc873ac7c81ede8ee094a47055668b5"
Is that needed? There is no archive as far as I know.
Thanks,
Paul
[1] http://openembedded.org/index.php/Commit_Policy
[2] http://openembedded.org/index.php/How_to_submit_a_patch_to_OpenEmbedded
[3] http://openembedded.org/index.php/Commit_Patch_Message_Guidelines
[4] http://www.coreboot.org/Development_Guidelines
[5] http://openembedded.org/index.php/Styleguide
[6] http://openembedded.org/index.php/Legacy_staging
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH 1/2] Add mkelfimage and support for generating kernel+initrd ELF payloads to OpenEmbedded
2011-07-15 18:48 ` Paul Menzel
@ 2011-07-15 21:25 ` Raymond Danks
0 siblings, 0 replies; 5+ messages in thread
From: Raymond Danks @ 2011-07-15 21:25 UTC (permalink / raw)
To: Paul Menzel, openembedded-devel; +Cc: coreboot
Thanks Paul. I am putting together new patches to address your feedback
on style guide, mailer line-feed, and patch format/commit policy.
As far as the build configuration this was tested on is concerned, this
is Ubuntu 10.04 x86_64-linux targeting i686-oe-linux using a one-off of
the i686-generic.conf machine targeting a 4MB flash part.
Thanks again,
Ray
On 07/15/2011 12:48 PM, Paul Menzel wrote:
> Dear Raymond,
>
>
> I am putting you in CC not knowing if you read the lists.
>
>
> Am Freitag, den 15.07.2011, 10:55 -0600 schrieb Raymond Danks:
>
> The correct commit summary is
>
> mkelfimage: Add version c045b4cc from Git (initial recipe)
>
>> On x86, and ELF image file may be stored as a coreboot payload. This
> s/and/an/
>
>> image file may be a kernel or a kernel+initrd.
>>
>> Documentation on this has been started on the coreboot wiki:
>> http://www.coreboot.org/Mkelfimage
>>
>> We have seen success using the mkelfimage utility to construct a
>> kernel+initrd image using the micro-image OpenEmbedded image as an initrd.
>> http://www.se-eng.com/wiki/index.php/Open_Embedded_Setup
> What is your build configuration for testing this recipe?
>
>> The first patch contains the meta files for the mkelfimage utility in
>> OpenEmbedded.
> Please remove that line above. The commit message should be describing
> the commit only.
>
> Unfortunately we cannot commit your patch, especially because your
> Signed-off-by line is missing – you can add `-s` to the Git commands
> `git commit` or `git format-patch` and your mailer mangled the patch by
> automatic line breaks.
>
> Please follow the commit policy [1] and it would be great if you could
> send us a corrected patch [2].
>
>> ---
>> recipes/mkelfimage/files/no-stack-protector.patch | 11 +++++++++++
>> recipes/mkelfimage/mkelfimage-native_git.bb | 11 +++++++++++
>> recipes/mkelfimage/mkelfimage.inc | 3 +++
>> recipes/mkelfimage/mkelfimage_git.bb | 17 +++++++++++++++++
>> 4 files changed, 42 insertions(+), 0 deletions(-)
>> create mode 100644 recipes/mkelfimage/files/no-stack-protector.patch
>> create mode 100644 recipes/mkelfimage/mkelfimage-native_git.bb
>> create mode 100644 recipes/mkelfimage/mkelfimage.inc
>> create mode 100644 recipes/mkelfimage/mkelfimage_git.bb
>>
>> diff --git a/recipes/mkelfimage/files/no-stack-protector.patch
>> b/recipes/mkelfimage/files/no-stack-protector.patch
>> new file mode 100644
>> index 0000000..135de8d
>> --- /dev/null
>> +++ b/recipes/mkelfimage/files/no-stack-protector.patch
>> @@ -0,0 +1,11 @@
>> +--- mkelfImage/Makefile.orig 2011-06-17 15:20:46.816870941 -0600
>> ++++ mkelfImage/Makefile 2011-06-17 15:20:59.619382362 -0600
> Please add a header describing this patch [3].
>
>> +@@ -14,7 +14,7 @@
>> + pkglibdir = $(libdir)/$(PACKAGE)
>> + pkgincludedir = $(includedir)/$(PACKAGE)
>> +
>> +-CPPFLAGS=-DVERSION='"$(VERSION)"' -DRELEASE_DATE='"$(RELEASE_DATE)"'
>> -I include
> Here you can see an automatic line break.
>
>> ++CPPFLAGS=-fno-stack-protector -DVERSION='"$(VERSION)"'
>> -DRELEASE_DATE='"$(RELEASE_DATE)"' -I include $(CFLAGS) $(LDFLAGS)
>> + HOST_CPPFLAGS=$(CPPFLAGS)
>> + I386_CPPFLAGS=$(CPPFLAGS) -I arch/i386/include
>> + IA64_CPPFLAGS=$(CPPFLAGS) -I arch/ia64/include
> Please send that patch separately to the coreboot list if it is useful
> for upstream. You should be able to use Gerrit and you also need a
> Signed-off-by line [4].
>
>> diff --git a/recipes/mkelfimage/mkelfimage-native_git.bb
>> b/recipes/mkelfimage/mkelfimage-native_git.bb
>> new file mode 100644
>> index 0000000..e2f251e
>> --- /dev/null
>> +++ b/recipes/mkelfimage/mkelfimage-native_git.bb
>> @@ -0,0 +1,11 @@
>> +require mkelfimage_${PV}.bb
>> +inherit native
>> +
>> +do_stage () {
> Please follow the style guide [5], i. e., no space before `()`.
>
>> + install -m 0755 objdir/sbin/mkelfImage ${STAGING_BINDIR}/
>> +}
> `do_stage ()` is deprecated [6].
>
>> +
>> +do_install () {
>> + :
>> +}
>> +
>> diff --git a/recipes/mkelfimage/mkelfimage.inc
>> b/recipes/mkelfimage/mkelfimage.inc
>> new file mode 100644
>> index 0000000..e06ed67
>> --- /dev/null
>> +++ b/recipes/mkelfimage/mkelfimage.inc
>> @@ -0,0 +1,3 @@
>> +LICENSE = "GPLv2"
>> +DESCRIPTION = "A utility to create ELF boot images from Linux kernel
>> images"
>> +SECTION = "console/utils"
> Please order those as in the style guide and please also add the
> `HOMEPAGE` variable.
>
>> diff --git a/recipes/mkelfimage/mkelfimage_git.bb
>> b/recipes/mkelfimage/mkelfimage_git.bb
>> new file mode 100644
>> index 0000000..7855f58
>> --- /dev/null
>> +++ b/recipes/mkelfimage/mkelfimage_git.bb
>> @@ -0,0 +1,17 @@
>> +require mkelfimage.inc
>> +
>> +SRCREV = "c045b4cc458a62dbb1dd99ae6a9343e52d1fe1e0"
>> +PV = "1.0.0+gitr${SRCPV}"
>> +PR = "r1"
> We start with `r0`.
>
>> +
>> +S = "${WORKDIR}/git/util/mkelfImage"
>> +
>> +SRC_URI =
>> "git://review.coreboot.org/p/coreboot;protocol=http;branch=master \
>> + file://no-stack-protector.patch"
>> +
>> +DEFAULT_PREFERENCE = "1"
> Not needed since this is the only recipe.
>
>> +
>> +inherit autotools
>> +
>> +SRC_URI[md5sum] = "719b22bdd34431203f9349250c67c5e3"
>> +SRC_URI[sha256sum] =
>> "9186e6e7302f38c1f77b763f0f14843fabc873ac7c81ede8ee094a47055668b5"
> Is that needed? There is no archive as far as I know.
>
>
> Thanks,
>
> Paul
>
>
> [1] http://openembedded.org/index.php/Commit_Policy
> [2] http://openembedded.org/index.php/How_to_submit_a_patch_to_OpenEmbedded
> [3] http://openembedded.org/index.php/Commit_Patch_Message_Guidelines
> [4] http://www.coreboot.org/Development_Guidelines
> [5] http://openembedded.org/index.php/Styleguide
> [6] http://openembedded.org/index.php/Legacy_staging
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2 v2] mkelfimage: Add version c045b4cc from Git (initial recipe)
2011-07-15 16:55 [PATCH 1/2] Add mkelfimage and support for generating kernel+initrd ELF payloads to OpenEmbedded Raymond Danks
2011-07-15 18:48 ` Paul Menzel
@ 2011-07-15 23:04 ` Raymond Danks
2011-07-15 23:04 ` [PATCH 2/2 v2] conf/bitbake.conf: Add support for generating kernel+initrd ELF coreboot payloads Raymond Danks
2 siblings, 0 replies; 5+ messages in thread
From: Raymond Danks @ 2011-07-15 23:04 UTC (permalink / raw)
To: openembedded-devel
On x86, and ELF image file may be stored as a coreboot payload. This image file may be a kernel or a kernel+initrd.
Documentation on this has been started on the coreboot wiki:
http://www.coreboot.org/Mkelfimage
We have seen success using the mkelfimage utility to construct a kernel+initrd image using the micro-image OpenEmbedded image as an initrd.
http://www.se-eng.com/wiki/index.php/Open_Embedded_Setup
Build tested using Ubuntu 10.04 x86_64-linux targeting i686-oe-linux using a one-off of the i686-generic.conf machine targeting a 4MB flash part.
Signed-off-by: Raymond Danks <ray.danks@se-eng.com>
---
v2:
* Updated meta files to adhere to StyleGuide
- No need for separate target and native .bb files anymore.
- Remove .inc
* Document no-stack-protector.patch
* Update commit summary and log.
* Add Signed-off-by
recipes/mkelfimage/files/no-stack-protector.patch | 17 +++++++++++++++++
recipes/mkelfimage/mkelfimage_git.bb | 18 ++++++++++++++++++
2 files changed, 35 insertions(+), 0 deletions(-)
create mode 100644 recipes/mkelfimage/files/no-stack-protector.patch
create mode 100644 recipes/mkelfimage/mkelfimage_git.bb
diff --git a/recipes/mkelfimage/files/no-stack-protector.patch b/recipes/mkelfimage/files/no-stack-protector.patch
new file mode 100644
index 0000000..f81bf16
--- /dev/null
+++ b/recipes/mkelfimage/files/no-stack-protector.patch
@@ -0,0 +1,17 @@
+Gcc 4.1 comes with an SSP https://wiki.ubuntu.com/GccSsp
+
+This is disabled to work around '__stack_chk_fail' symbol not found failures in the mkelfimage build.
+
+http://www.coreboot.org/FAQ/Obsolete#How_do_I_fix_stack_chk_fail_errors.3F
+
+--- mkelfImage/Makefile.orig 2011-06-17 15:20:46.816870941 -0600
++++ mkelfImage/Makefile 2011-06-17 15:20:59.619382362 -0600
+@@ -14,7 +14,7 @@
+ pkglibdir = $(libdir)/$(PACKAGE)
+ pkgincludedir = $(includedir)/$(PACKAGE)
+
+-CPPFLAGS=-DVERSION='"$(VERSION)"' -DRELEASE_DATE='"$(RELEASE_DATE)"' -I include
++CPPFLAGS=-fno-stack-protector -DVERSION='"$(VERSION)"' -DRELEASE_DATE='"$(RELEASE_DATE)"' -I include $(CFLAGS) $(LDFLAGS)
+ HOST_CPPFLAGS=$(CPPFLAGS)
+ I386_CPPFLAGS=$(CPPFLAGS) -I arch/i386/include
+ IA64_CPPFLAGS=$(CPPFLAGS) -I arch/ia64/include
diff --git a/recipes/mkelfimage/mkelfimage_git.bb b/recipes/mkelfimage/mkelfimage_git.bb
new file mode 100644
index 0000000..2184f81
--- /dev/null
+++ b/recipes/mkelfimage/mkelfimage_git.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "A utility to create ELF boot images from Linux kernel images"
+HOMEPAGE = "http://www.coreboot.org/Mkelfimage"
+SECTION = "devel"
+LICENSE = "GPLv2"
+
+SRCREV = "c045b4cc458a62dbb1dd99ae6a9343e52d1fe1e0"
+PV = "1.0.0+gitr${SRCPV}"
+PR = "r0"
+
+SRC_URI = "git://review.coreboot.org/p/coreboot;protocol=http;branch=master \
+ file://no-stack-protector.patch"
+
+S = "${WORKDIR}/git/util/mkelfImage"
+
+inherit autotools
+
+NATIVE_INSTALL_WORKS = "1"
+BBCLASSEXTEND = "native"
--
1.7.0.4
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH 2/2 v2] conf/bitbake.conf: Add support for generating kernel+initrd ELF coreboot payloads
2011-07-15 16:55 [PATCH 1/2] Add mkelfimage and support for generating kernel+initrd ELF payloads to OpenEmbedded Raymond Danks
2011-07-15 18:48 ` Paul Menzel
2011-07-15 23:04 ` [PATCH 1/2 v2] mkelfimage: Add version c045b4cc from Git (initial recipe) Raymond Danks
@ 2011-07-15 23:04 ` Raymond Danks
2 siblings, 0 replies; 5+ messages in thread
From: Raymond Danks @ 2011-07-15 23:04 UTC (permalink / raw)
To: openembedded-devel
On x86, and ELF image file may be stored as a coreboot payload. This image file may be a kernel or a kernel+initrd.
Documentation on this has been started on the coreboot wiki:
http://www.coreboot.org/Mkelfimage
We have seen success using the mkelfimage utility to construct a kernel+initrd image using the micro-image OpenEmbedded image as an initrd.
http://www.se-eng.com/wiki/index.php/Open_Embedded_Setup
To use, set a new type "elf" to IMAGE_FSTYPES in conf/local.conf on x86 targets:
IMAGE_FSTYPES = "cpio.gz elf"
You may also override the kernel parameters that are embedded in the elf file:
IMAGE_KERNELPARAMS = "ramdisk_size=32768 root=/dev/ram0 rw console="
The image binary ${TMPDIR}/deploy/images/${MACHINE}/*.elf may be added to the coreboot configuration in Kconfig (CONFIG_PAYLOAD_FILE)
Signed-off-by: Raymond Danks <ray.danks@se-eng.com>
---
v2:
* Update commit summary and log.
- Include test and usage steps.
* Add Signed-off-by
conf/bitbake.conf | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index 66dfaba..1ab72e1 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -375,6 +375,7 @@ IMAGE_BASENAME = "${PN}"
IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}"
IMAGE_LINK_NAME = "${IMAGE_BASENAME}-${MACHINE}"
IMAGE_EXTRA_SPACE = 10240
+IMAGE_KERNELPARAMS = "ramdisk_size=32768 root=/dev/ram0 rw console="
UBI_VOLNAME ?= "${MACHINE}-rootfs"
@@ -406,6 +407,7 @@ IMAGE_CMD_cpio.gz.u-boot = "type cpio >/dev/null; cd ${IMAGE_ROOTFS} && (find .
IMAGE_CMD_cpio.lzma = "type cpio >/dev/null; cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc | xz --format=lzma -c ${XZ_COMPRESSION_LEVEL} --check=${XZ_INTEGRITY_CHECK} >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.lzma) ${EXTRA_IMAGECMD}"
IMAGE_CMD_ubi = "echo \[ubifs\] > ubinize.cfg ; echo mode=ubi >> ubinize.cfg ; echo image=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.ubifs.img >> ubinize.cfg ; echo vol_id=0 >> ubinize.cfg ; echo vol_type=dynamic >> ubinize.cfg ; echo vol_name=${UBI_VOLNAME} >> ubinize.cfg ; echo vol_flags=autoresize >> ubinize.cfg;mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.ubifs.img ${MKUBIFS_ARGS} && ubinize -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ubi ${UBINIZE_ARGS} ubinize.cfg"
IMAGE_CMD_ubifs = "mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.ubifs.img ${MKUBIFS_ARGS}"
+IMAGE_CMD_elf = "type cpio >/dev/null; cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc | gzip -c -9 >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.gz) ; rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.elf ; mkelfImage --append='${IMAGE_KERNELPARAMS}' --kernel=${STAGING_DIR}/${MACHINE}${HOST_VENDOR}-${HOST_OS}/kernel/bzImage --initrd=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.gz --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.elf ${EXTRA_IMAGECMD}"
EXTRA_IMAGECMD = ""
EXTRA_IMAGECMD_jffs2 = ""
@@ -440,6 +442,7 @@ IMAGE_DEPENDS_squashfs = "squashfs-tools-native"
IMAGE_DEPENDS_squashfs-lzma = "squashfs-tools-native"
IMAGE_DEPENDS_ubi = "mtd-utils-native"
IMAGE_DEPENDS_ubifs = "mtd-utils-native"
+IMAGE_DEPENDS_elf = "virtual/kernel mkelfimage-native"
EXTRA_IMAGEDEPENDS = ""
--
1.7.0.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-07-15 23:17 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-15 16:55 [PATCH 1/2] Add mkelfimage and support for generating kernel+initrd ELF payloads to OpenEmbedded Raymond Danks
2011-07-15 18:48 ` Paul Menzel
2011-07-15 21:25 ` Raymond Danks
2011-07-15 23:04 ` [PATCH 1/2 v2] mkelfimage: Add version c045b4cc from Git (initial recipe) Raymond Danks
2011-07-15 23:04 ` [PATCH 2/2 v2] conf/bitbake.conf: Add support for generating kernel+initrd ELF coreboot payloads Raymond Danks
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.