From 35ae01ce6c126140439f271ee944efe69a184132 Mon Sep 17 00:00:00 2001 From: Kang Kai Date: Thu, 23 Jul 2015 16:00:53 +0800 Subject: 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 Signed-off-by: Martin Jansa --- .../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 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 + +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 @@ + Displaying the current settings (must be root). + + +- ++ + [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 +- ++ + + This shows: + 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 + +--- 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 +--- +Description: Fix -w option to leave an existing unique MBR signature intact + This makes the implementation match the documentation. +Author: Colin Watson +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 -- cgit 1.2.3-korg