Patchwork [1/2,v2] mkelfimage: Add version c045b4cc from Git (initial recipe)

login
register
mail settings
Submitter Raymond Danks
Date July 15, 2011, 11:04 p.m.
Message ID <1310771078-18629-1-git-send-email-ray.danks@se-eng.com>
Download mbox | patch
Permalink /patch/7687/
State New, archived
Headers show

Comments

Raymond Danks - July 15, 2011, 11:04 p.m.
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

Patch

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"