[coreboot] [PATCH 1/2] Add mkelfimage and support for generating kernel+initrd ELF payloads to OpenEmbedded

Raymond Danks ray.danks at se-eng.com
Fri Jul 15 18:55:39 CEST 2011


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





More information about the coreboot mailing list