aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKang Kai <kai.kang@windriver.com>2015-07-23 16:00:53 +0800
committerMartin Jansa <Martin.Jansa@gmail.com>2015-07-30 21:07:36 +0200
commit35ae01ce6c126140439f271ee944efe69a184132 (patch)
treeabc2005b80a935b1966f13339677ee9c95645012
parent6f91b61c0755c954d7bdce680f1c9926238c1c66 (diff)
downloadmeta-openembedded-contrib-35ae01ce6c126140439f271ee944efe69a184132.tar.gz
meta-openembedded-contrib-35ae01ce6c126140439f271ee944efe69a184132.tar.bz2
meta-openembedded-contrib-35ae01ce6c126140439f271ee944efe69a184132.zip
efibootmgr: add recipe
Add efibootmgr recipe from layer meta-linaro and upgrade from 0.5.4 to 0.6.0. efibootmgr is a linux user-space application to modify the EFI Boot Manager which is useful for us to manage boot on EFI boards. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--meta-oe/recipes-extended/efibootmgr/efibootmgr_0.6.0.bb26
-rw-r--r--meta-oe/recipes-extended/efibootmgr/files/docbook-fixes.patch28
-rw-r--r--meta-oe/recipes-extended/efibootmgr/files/ldflags.patch17
-rw-r--r--meta-oe/recipes-extended/efibootmgr/files/w-keep-existing-mbr-signature.patch26
4 files changed, 97 insertions, 0 deletions
diff --git a/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.6.0.bb b/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.6.0.bb
new file mode 100644
index 0000000000..1870455ead
--- /dev/null
+++ b/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.6.0.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "Linux user-space application to modify the EFI Boot Manager."
+SUMMARY = "EFI Boot Manager"
+HOMEPAGE = "http://linux.dell.com/efibootmgr/"
+SECTION = "base"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+DEPENDS = "pciutils zlib"
+
+COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
+
+SRC_URI = "http://linux.dell.com/efibootmgr/permalink/efibootmgr-${PV}.tar.gz \
+ file://ldflags.patch \
+ file://docbook-fixes.patch \
+ file://w-keep-existing-mbr-signature.patch \
+"
+
+SRC_URI[md5sum] = "9e9a31d79e579644de83a14139b66d10"
+SRC_URI[sha256sum] = "5167488b92950e60028d1025942ce6bda04638c6fb5e110abb8c8f687844d155"
+
+EXTRA_OEMAKE = "'CC=${CC}' 'CFLAGS=${CFLAGS} -I${S}/src/lib -I${S}/src/include'"
+
+do_install () {
+ install -D -p -m0755 src/efibootmgr/efibootmgr ${D}/${sbindir}/efibootmgr
+}
diff --git a/meta-oe/recipes-extended/efibootmgr/files/docbook-fixes.patch b/meta-oe/recipes-extended/efibootmgr/files/docbook-fixes.patch
new file mode 100644
index 0000000000..f2dc83bbe1
--- /dev/null
+++ b/meta-oe/recipes-extended/efibootmgr/files/docbook-fixes.patch
@@ -0,0 +1,28 @@
+Upstream-Status: Pending
+
+Import this patch from meta-linaro.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+diff --git a/src/man/man8/efibootmgr.8.docbook b/src/man/man8/efibootmgr.8.docbook
+index aef4444..eb8f266 100644
+--- a/src/man/man8/efibootmgr.8.docbook
++++ b/src/man/man8/efibootmgr.8.docbook
+@@ -302,7 +302,7 @@
+ <title>Displaying the current settings (must be root).</title>
+
+ <para>
+- <computeroutput>
++ <programlisting>
+ [root@localhost ~]# efibootmgr
+ BootCurrent: 0004
+ BootNext: 0003
+@@ -313,7 +313,7 @@
+ Boot0002* Hard Drive(Device:80)/HD(Part1,Sig00112233)
+ Boot0003* PXE Boot: MAC(00D0B7C15D91)
+ Boot0004* Linux
+- </computeroutput>
++ </programlisting>
+ </para>
+ <para>This shows:</para>
+ <itemizedlist>
diff --git a/meta-oe/recipes-extended/efibootmgr/files/ldflags.patch b/meta-oe/recipes-extended/efibootmgr/files/ldflags.patch
new file mode 100644
index 0000000000..0d5594a311
--- /dev/null
+++ b/meta-oe/recipes-extended/efibootmgr/files/ldflags.patch
@@ -0,0 +1,17 @@
+Upstream-Status: Pending
+
+Import this patch from meta-linaro.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+--- efibootmgr-0.5.4.orig/Makefile
++++ efibootmgr-0.5.4/Makefile
+@@ -11,6 +11,8 @@
+ CFLAGS = $(EXTRA_CFLAGS) -DEFIBOOTMGR_VERSION=\"$(RELEASE_MAJOR).$(RELEASE_MINOR).$(RELEASE_SUBLEVEL)$(RELEASE_EXTRALEVEL)\" \
+ -Wall -g -D_FILE_OFFSET_BITS=64
+
++ LDFLAGS += -lz
++
+ MODULES := src
+
+ BINDIR := /usr/sbin
diff --git a/meta-oe/recipes-extended/efibootmgr/files/w-keep-existing-mbr-signature.patch b/meta-oe/recipes-extended/efibootmgr/files/w-keep-existing-mbr-signature.patch
new file mode 100644
index 0000000000..58bd135564
--- /dev/null
+++ b/meta-oe/recipes-extended/efibootmgr/files/w-keep-existing-mbr-signature.patch
@@ -0,0 +1,26 @@
+Upstream-Status: Pending
+
+Import this patch from meta-linaro.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+Description: Fix -w option to leave an existing unique MBR signature intact
+ This makes the implementation match the documentation.
+Author: Colin Watson <cjwatson@ubuntu.com>
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1065261
+Forwarded: no
+Last-Update: 2013-02-01
+
+Index: b/src/lib/disk.c
+===================================================================
+--- a/src/lib/disk.c
++++ b/src/lib/disk.c
+@@ -352,7 +352,7 @@
+ printf("******************************************************\n\n");
+
+ }
+- else if (opts.write_signature) {
++ else if (!mbr->unique_mbr_signature && opts.write_signature) {
+
+ /* MBR Signatures must be unique for the
+ EFI Boot Manager