[oe] [meta-oe][PATCH] efibootmgr: add recipe

Kai Kang kai.kang at windriver.com
Thu Jul 23 08:00:53 UTC 2015


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 at windriver.com>
---
 .../efibootmgr/efibootmgr_0.6.0.bb                 | 26 ++++++++++++++++++++
 .../efibootmgr/files/docbook-fixes.patch           | 28 ++++++++++++++++++++++
 .../efibootmgr/files/ldflags.patch                 | 17 +++++++++++++
 .../files/w-keep-existing-mbr-signature.patch      | 26 ++++++++++++++++++++
 4 files changed, 97 insertions(+)
 create mode 100644 meta-oe/recipes-extended/efibootmgr/efibootmgr_0.6.0.bb
 create mode 100644 meta-oe/recipes-extended/efibootmgr/files/docbook-fixes.patch
 create mode 100644 meta-oe/recipes-extended/efibootmgr/files/ldflags.patch
 create mode 100644 meta-oe/recipes-extended/efibootmgr/files/w-keep-existing-mbr-signature.patch

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 0000000..1870455
--- /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 0000000..f2dc83b
--- /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 at 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 at 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 0000000..0d5594a
--- /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 at 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 0000000..58bd135
--- /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 at 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 at 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
-- 
1.9.1




More information about the Openembedded-devel mailing list