Re: [OE-core] [PATCH 1/3] recipes-bsp: Add gummiboot and gnu-efi recipes

2014-03-09 Thread Saul Wold

On 03/06/2014 10:15 AM, Stefan Stanacar wrote:

gummiboot is  is a simple UEFI boot manager (not a boot loader ;-) )

These recipes are imported from meta-intel with these changes:
  - drop PR and update configure options
  - gummiboot was upgraded to latest version

A couple of notes:
  - If you wish you can install the gummiboot package on the target and
use 'gummiboot install' to add the payload to the ESP (see gummiboot --help,
just make sure the ESP partition has the boot flag on as gummiboot won't accept 
it
otherwise). However the point of this recipe is to be used by bootimg.bbclass 
and
generate images with gummiboot instead of grub-efi.
  - You need a kernel which has CONFIG_EFI_STUB=y at least
  - The default linux-yocto kernel config does not enable that, easiest way
to enable is to build with KERNEL_FEATURES_append =  cfg/efi-ext in local.conf

Signed-off-by: Stefan Stanacar stefanx.stana...@intel.com
---
  .../gnu-efi/gnu-efi/parallel-make-archives.patch   | 48 ++
  .../gnu-efi/gnu-efi/parallel-make.patch| 22 ++
  meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb   | 33 +++
  meta/recipes-bsp/gummiboot/gummiboot_git.bb| 25 +++
  4 files changed, 128 insertions(+)
  create mode 100644 
meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
  create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
  create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb
  create mode 100644 meta/recipes-bsp/gummiboot/gummiboot_git.bb

diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch 
b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
new file mode 100644
index 000..e5b47c1
--- /dev/null
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
@@ -0,0 +1,48 @@
+Fix parallel make failure for archives
+
+Upstream-Status: Pending
+
+The lib and gnuefi makefiles were using the lib.a() form which compiles
+and ar's as a pair instead of compiling all and then ar'ing which can
+parallelize better. This was resulting in build failures on larger values
+of -j.
+
+See http://www.chemie.fu-berlin.de/chemnet/use/info/make/make_toc.html#TOC105
+for details.
+
+Signed-off-by: Saul Wold s...@linux.intel.com
+Signed-off-by: Darren Hart dvh...@linux.intel.com
+---
+---
+ gnuefi/Makefile |3 ++-
+ lib/Makefile|3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+Index: gnu-efi-3.0/lib/Makefile
+===
+--- gnu-efi-3.0.orig/lib/Makefile
 gnu-efi-3.0/lib/Makefile
+@@ -66,7 +66,8 @@ all: libsubdirs libefi.a
+ libsubdirs:
+   for sdir in $(SUBDIRS); do mkdir -p $$sdir; done
+
+-libefi.a: $(patsubst %,libefi.a(%),$(OBJS))
++libefi.a: $(OBJS)
++  $(AR) rv $@ $(OBJS)
+
+ clean:
+   rm -f libefi.a *~ $(OBJS) */*.o
+Index: gnu-efi-3.0/gnuefi/Makefile
+===
+--- gnu-efi-3.0.orig/gnuefi/Makefile
 gnu-efi-3.0/gnuefi/Makefile
+@@ -51,7 +51,8 @@ TARGETS  = crt0-efi-$(ARCH).o libgnuefi.a
+
+ all:  $(TARGETS)
+
+-libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS))
++libgnuefi.a: $(OBJS)
++  $(AR) rv $@ $(OBJS)
+
+ clean:
+   rm -f $(TARGETS) *~ *.o $(OBJS)
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch 
b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
new file mode 100644
index 000..27c94e8
--- /dev/null
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
@@ -0,0 +1,22 @@
+Fix parallel make failure
+
+Upstream-Status: Submitted [Maintainer directly]
+
+Add a missing dependency which resulted in a race leading to failure
+on larger values of -j.
+
+Signed-off-by: Darren Hart dvh...@linux.intel.com
+
+Index: gnu-efi-3.0/Makefile
+===
+--- gnu-efi-3.0.orig/Makefile
 gnu-efi-3.0/Makefile
+@@ -42,6 +42,8 @@ include $(SRCDIR)/Make.defaults
+
+ SUBDIRS = lib gnuefi inc apps
+
++gnuefi: lib
++
+ all:  check_gcc $(SUBDIRS)
+
+ $(SUBDIRS):
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb 
b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb
new file mode 100644
index 000..0dbdba2
--- /dev/null
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb
@@ -0,0 +1,33 @@
+SUMMARY = Libraries for producing EFI binaries
+HOMEPAGE = http://sourceforge.net/projects/gnu-efi/;
+SECTION = devel
+LICENSE = GPLv2+
+LIC_FILES_CHKSUM = 
file://debian/copyright;md5=5fb358a180f484b285b0d99acdc29666
+
+SRC_URI = http://downloads.sourceforge.net/gnu-efi/gnu-efi_3.0u.orig.tar.gz \
+   file://parallel-make.patch \
+   file://parallel-make-archives.patch \
+  
+SRC_URI[md5sum] = d15d3c700e79a1e2938544d73edc572d
+SRC_URI[sha256sum] = 
3c0d450d5829204ca05dcb3b2aae772e52c379b7c7e09146759c6315606f934e
+
+COMPATIBLE_HOST = (x86_64.*|i.86.*)-linux
+
+S = ${WORKDIR}/gnu-efi-3.0
+
+def gnu_efi_arch(d):
+import re
+tarch = d.getVar(TARGET_ARCH, 

Re: [OE-core] [PATCH][resend] runqemu: Add option for custom BIOS directory

2014-03-09 Thread Saul Wold

On 03/07/2014 04:30 PM, Ricardo Neri wrote:

Add support to specify a directory for custom BIOS, VGA BIOS and
keymaps as supported by qemu (-L option). Even though this can be
done through qemuparams, having this option provides better user
experience by not having to specify a long and cluttered path along
other qemuparams that the user might want to specify.

This new options assumes that the path provided is relative to
OECORE_NATIVE_SYSROOT and will check whether it exists before proceeding.

Signed-off-by: Ricardo Neri ricardo.neri-calde...@linux.intel.com
---
  scripts/runqemu | 14 ++
  1 file changed, 14 insertions(+)

diff --git a/scripts/runqemu b/scripts/runqemu
index 619ffb6..9eff90d 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -149,6 +149,9 @@ while true; do
  SCRIPT_KERNEL_OPT=$SCRIPT_KERNEL_OPT console=ttyS0
  SERIALSTDIO=1
  ;;
+   biosdir=*)
+CUSTOMBIOSDIR=${arg##biosdir=}
+   ;;
  qemuparams=*)
  SCRIPT_QEMU_EXTRA_OPT=${arg##qemuparams=}

@@ -489,5 +492,16 @@ if [ ! -f $INTERNAL_SCRIPT -o ! -r $INTERNAL_SCRIPT ]; 
then
  INTERNAL_SCRIPT=`which runqemu-internal`
  fi

+# Specify directory for BIOS, VGA BIOS and keymaps
+if [ ! -z $CUSTOMBIOSDIR ]; then
+if [ -d $OECORE_NATIVE_SYSROOT/$CUSTOMBIOSDIR ]; then
I don't think we should be assuming anything here, if the direcotry is 
passed then it should be given that it is an accurate path to the 
directory that contains the customer bios, don't make people second gess 
that it needs to be in the native sysroot.


Sau!


+   echo Assuming $CUSTOMBIOSDIR really means 
$OECORE_NATIVE_SYSROOT/$CUSTOMBIOSDIR
+   SCRIPT_QEMU_OPT=$SCRIPT_QEMU_OPT -L 
$OECORE_NATIVE_SYSROOT/$CUSTOMBIOSDIR
+   else
+   echo Custom BIOS directory $OECORE_NATIVE_SYSROOT/$CUSTOMBIOSDIR not 
found.
+   exit 1;
+fi
+fi
+
  . $INTERNAL_SCRIPT
  exit $?


--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] kernel-yocto: replace '=' with '+='

2014-03-09 Thread Ming Liu
The dependency to CCACHE_DIR was moved to ccache.bbclass in
commit 2acf8da4f13c175ea818b9514677b7059de1e3e2:
[ ccache: Separate out into its own class ]

then the '=' should be replaced by '+=', otherwise, it will overwrite
the original ${CCACHE_DIR} in dirs.

Signen-off-by: Ming Liu ming@windriver.com
---
 meta/classes/kernel-yocto.bbclass |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/meta/classes/kernel-yocto.bbclass 
b/meta/classes/kernel-yocto.bbclass
index 707a219..53bc6d4 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -236,7 +236,7 @@ do_kernel_checkout[dirs] = ${S}
 
 addtask kernel_checkout before do_patch after do_unpack
 
-do_kernel_configme[dirs] = ${S} ${B}
+do_kernel_configme[dirs] += ${S} ${B}
 do_kernel_configme() {
echo [INFO] doing kernel configme
export KMETA=${KMETA}
-- 
1.7.1

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/3] recipes-bsp: Add gummiboot and gnu-efi recipes

2014-03-09 Thread Stanacar, StefanX



On Sun, 2014-03-09 at 00:00 -0800, Saul Wold wrote:
 On 03/06/2014 10:15 AM, Stefan Stanacar wrote:
  gummiboot is  is a simple UEFI boot manager (not a boot loader ;-) )
 
  These recipes are imported from meta-intel with these changes:
- drop PR and update configure options
- gummiboot was upgraded to latest version
 
  A couple of notes:
- If you wish you can install the gummiboot package on the target and
  use 'gummiboot install' to add the payload to the ESP (see gummiboot --help,
  just make sure the ESP partition has the boot flag on as gummiboot won't 
  accept it
  otherwise). However the point of this recipe is to be used by 
  bootimg.bbclass and
  generate images with gummiboot instead of grub-efi.
- You need a kernel which has CONFIG_EFI_STUB=y at least
- The default linux-yocto kernel config does not enable that, easiest way
  to enable is to build with KERNEL_FEATURES_append =  cfg/efi-ext in 
  local.conf
 
  Signed-off-by: Stefan Stanacar stefanx.stana...@intel.com
  ---
.../gnu-efi/gnu-efi/parallel-make-archives.patch   | 48 
  ++
.../gnu-efi/gnu-efi/parallel-make.patch| 22 ++
meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb   | 33 +++
meta/recipes-bsp/gummiboot/gummiboot_git.bb| 25 +++
4 files changed, 128 insertions(+)
create mode 100644 
  meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb
create mode 100644 meta/recipes-bsp/gummiboot/gummiboot_git.bb
 
  diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch 
  b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
  new file mode 100644
  index 000..e5b47c1
  --- /dev/null
  +++ b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
  @@ -0,0 +1,48 @@
  +Fix parallel make failure for archives
  +
  +Upstream-Status: Pending
  +
  +The lib and gnuefi makefiles were using the lib.a() form which compiles
  +and ar's as a pair instead of compiling all and then ar'ing which can
  +parallelize better. This was resulting in build failures on larger values
  +of -j.
  +
  +See 
  http://www.chemie.fu-berlin.de/chemnet/use/info/make/make_toc.html#TOC105
  +for details.
  +
  +Signed-off-by: Saul Wold s...@linux.intel.com
  +Signed-off-by: Darren Hart dvh...@linux.intel.com
  +---
  +---
  + gnuefi/Makefile |3 ++-
  + lib/Makefile|3 ++-
  + 2 files changed, 4 insertions(+), 2 deletions(-)
  +
  +Index: gnu-efi-3.0/lib/Makefile
  +===
  +--- gnu-efi-3.0.orig/lib/Makefile
   gnu-efi-3.0/lib/Makefile
  +@@ -66,7 +66,8 @@ all: libsubdirs libefi.a
  + libsubdirs:
  +   for sdir in $(SUBDIRS); do mkdir -p $$sdir; done
  +
  +-libefi.a: $(patsubst %,libefi.a(%),$(OBJS))
  ++libefi.a: $(OBJS)
  ++  $(AR) rv $@ $(OBJS)
  +
  + clean:
  +   rm -f libefi.a *~ $(OBJS) */*.o
  +Index: gnu-efi-3.0/gnuefi/Makefile
  +===
  +--- gnu-efi-3.0.orig/gnuefi/Makefile
   gnu-efi-3.0/gnuefi/Makefile
  +@@ -51,7 +51,8 @@ TARGETS  = crt0-efi-$(ARCH).o libgnuefi.a
  +
  + all:  $(TARGETS)
  +
  +-libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS))
  ++libgnuefi.a: $(OBJS)
  ++  $(AR) rv $@ $(OBJS)
  +
  + clean:
  +   rm -f $(TARGETS) *~ *.o $(OBJS)
  diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch 
  b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
  new file mode 100644
  index 000..27c94e8
  --- /dev/null
  +++ b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
  @@ -0,0 +1,22 @@
  +Fix parallel make failure
  +
  +Upstream-Status: Submitted [Maintainer directly]
  +
  +Add a missing dependency which resulted in a race leading to failure
  +on larger values of -j.
  +
  +Signed-off-by: Darren Hart dvh...@linux.intel.com
  +
  +Index: gnu-efi-3.0/Makefile
  +===
  +--- gnu-efi-3.0.orig/Makefile
   gnu-efi-3.0/Makefile
  +@@ -42,6 +42,8 @@ include $(SRCDIR)/Make.defaults
  +
  + SUBDIRS = lib gnuefi inc apps
  +
  ++gnuefi: lib
  ++
  + all:  check_gcc $(SUBDIRS)
  +
  + $(SUBDIRS):
  diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb 
  b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb
  new file mode 100644
  index 000..0dbdba2
  --- /dev/null
  +++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb
  @@ -0,0 +1,33 @@
  +SUMMARY = Libraries for producing EFI binaries
  +HOMEPAGE = http://sourceforge.net/projects/gnu-efi/;
  +SECTION = devel
  +LICENSE = GPLv2+
  +LIC_FILES_CHKSUM = 
  file://debian/copyright;md5=5fb358a180f484b285b0d99acdc29666
  +
  +SRC_URI = 
  http://downloads.sourceforge.net/gnu-efi/gnu-efi_3.0u.orig.tar.gz \
  +   file://parallel-make.patch \
  +   

[OE-core] [PATCH 4/4] classes: Add gummiboot class

2014-03-09 Thread Stefan Stanacar
Adds a gummiboot class similar to grub-efi class and makes the necessary
changes so it can be used for live/hddimg images as well.

One can set EFI_PROVIDER = gummiboot in local.conf to use gummiboot instead 
of grub-efi.
Gummiboot requires some kernel options that are not enabled by default, so one 
has to build
with KERNEL_FEATURES_append =  cfg/efi-ext.

The install scripts have been updated too, keeping the old behaviour around,
but accounting for the new boot loader config files (if they exist).
It can be argued that the installer and bootimg are a bit wierd and not 
necessarily correct,
but I wanted to have the exact same behviour with gummiboot.
With the default EFI_PROVIDER = grub-efi nothing changes, everthing should be 
just as before.

I've tested live boot, install and normal boot on:
- FRI2
- genericx86-64 on NUC
with:
  EFI_PROVIDER = gummiboot
  KERNEL_FEATURES_append =  cfg/efi-ext
in local.conf.

Signed-off-by: Stefan Stanacar stefanx.stana...@intel.com
---
 meta/classes/gummiboot.bbclass | 114 +
 .../initrdscripts/files/init-install-efi.sh|  51 ++---
 2 files changed, 149 insertions(+), 16 deletions(-)
 create mode 100644 meta/classes/gummiboot.bbclass

diff --git a/meta/classes/gummiboot.bbclass b/meta/classes/gummiboot.bbclass
new file mode 100644
index 000..0214652
--- /dev/null
+++ b/meta/classes/gummiboot.bbclass
@@ -0,0 +1,114 @@
+# Copyright (C) 2014 Intel Corporation
+#
+# Released under the MIT license (see COPYING.MIT)
+
+# gummiboot.bbclass - equivalent of grub-efi.bbclass
+# Set EFI_PROVIDER = gummiboot to use gummiboot on your live images instead 
of grub-efi
+# (images built by bootimage.bbclass or boot-directdisk.bbclass)
+
+do_bootimg[depends] += gummiboot:do_deploy
+do_bootdirectdisk[depends] += gummiboot:do_deploy
+
+EFIDIR = /EFI/BOOT
+
+GUMMIBOOT_CFG ?= ${S}/loader.conf
+GUMMIBOOT_ENTRIES ?= 
+GUMMIBOOT_TIMEOUT ?= 10
+
+efi_populate() {
+DEST=$1
+
+EFI_IMAGE=gummibootia32.efi
+DEST_EFI_IMAGE=bootia32.efi
+if [ ${TARGET_ARCH} = x86_64 ]; then
+EFI_IMAGE=gummibootx64.efi
+DEST_EFI_IMAGE=bootx64.efi
+fi
+
+install -d ${DEST}${EFIDIR}
+# gummiboot requires these paths for configuration files
+# they are not customizable so no point in new vars
+install -d ${DEST}/loader
+install -d ${DEST}/loader/entries
+install -m 0644 ${DEPLOY_DIR_IMAGE}/${EFI_IMAGE} 
${DEST}${EFIDIR}/${DEST_EFI_IMAGE}
+install -m 0644 ${GUMMIBOOT_CFG} ${DEST}/loader/loader.conf
+for i in ${GUMMIBOOT_ENTRIES}; do
+install -m 0644 ${i} ${DEST}/loader/entries
+done
+}
+
+efi_iso_populate() {
+iso_dir=$1
+efi_populate $iso_dir
+mkdir -p ${EFIIMGDIR}/${EFIDIR}
+cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
+cp $iso_dir/vmlinuz ${EFIIMGDIR}
+echo ${DEST_EFI_IMAGE}  ${EFIIMGDIR}/startup.nsh
+if [ -f $iso_dir/initrd ] ; then
+cp $iso_dir/initrd ${EFIIMGDIR}
+fi
+}
+
+efi_hddimg_populate() {
+efi_populate $1
+}
+
+python build_efi_cfg() {
+s = d.getVar(S, True)
+labels = d.getVar('LABELS', True)
+if not labels:
+bb.debug(1, LABELS not defined, nothing to do)
+return
+
+if labels == []:
+bb.debug(1, No labels, nothing to do)
+return
+
+cfile = d.getVar('GUMMIBOOT_CFG', True)
+try:
+ cfgfile = open(cfile, 'w')
+except OSError:
+raise bb.build.funcFailed('Unable to open %s' % (cfile))
+
+cfgfile.write('# Automatically created by OE\n')
+cfgfile.write('default %s\n' % (labels.split()[0]))
+timeout = d.getVar('GUMMIBOOT_TIMEOUT', True)
+if timeout:
+cfgfile.write('timeout %s\n' % timeout)
+else:
+cfgfile.write('timeout 10\n')
+cfgfile.close()
+
+for label in labels.split():
+localdata = d.createCopy()
+
+overrides = localdata.getVar('OVERRIDES', True)
+if not overrides:
+raise bb.build.FuncFailed('OVERRIDES not defined')
+
+entryfile = %s/%s.conf % (s, label)
+d.appendVar(GUMMIBOOT_ENTRIES,   + entryfile)
+try:
+entrycfg = open(entryfile, w)
+except OSError:
+raise bb.build.funcFailed('Unable to open %s' % (entryfile))
+localdata.setVar('OVERRIDES', label + ':' + overrides)
+bb.data.update_data(localdata)
+
+entrycfg.write('title %s\n' % label)
+entrycfg.write('linux /vmlinuz\n')
+
+append = localdata.getVar('APPEND', True)
+initrd = localdata.getVar('INITRD', True)
+
+if initrd:
+entrycfg.write('initrd /initrd\n')
+lb = label
+if label == install:
+lb = install-efi
+entrycfg.write('options LABEL=%s ' % lb)
+if append:
+entrycfg.write('%s' % append)
+entrycfg.write('\n')
+

[OE-core] [PATCH 2/4] recipes-bsp: Add gummiboot recipe

2014-03-09 Thread Stefan Stanacar
gummiboot is a simple UEFI boot manager.

Recipe imported from meta-intel with these changes:
 - drop PR and update configure options
 - upgraded to latest version

A couple of notes:
 - If you wish you can install the gummiboot package on the target and
use 'gummiboot install' to add the payload to the ESP (see gummiboot --help,
just make sure the ESP partition has the boot flag on as gummiboot won't accept 
it
otherwise). However the point of this recipe is to be used by bootimg.bbclass 
and
generate images with gummiboot instead of grub-efi.
 - You need a kernel which has CONFIG_EFI_STUB=y at least
 - The default linux-yocto kernel config does not enable that, easiest way
to enable is to build with KERNEL_FEATURES_append =  cfg/efi-ext in local.conf

Signed-off-by: Stefan Stanacar stefanx.stana...@intel.com
---
 meta/recipes-bsp/gummiboot/gummiboot_git.bb | 25 +
 1 file changed, 25 insertions(+)
 create mode 100644 meta/recipes-bsp/gummiboot/gummiboot_git.bb

diff --git a/meta/recipes-bsp/gummiboot/gummiboot_git.bb 
b/meta/recipes-bsp/gummiboot/gummiboot_git.bb
new file mode 100644
index 000..5868a23
--- /dev/null
+++ b/meta/recipes-bsp/gummiboot/gummiboot_git.bb
@@ -0,0 +1,25 @@
+SUMMARY = Gummiboot is a simple UEFI boot manager which executes configured 
EFI images.
+HOMEPAGE = http://freedesktop.org/wiki/Software/gummiboot;
+
+LICENSE = LGPLv2.1
+LIC_FILES_CHKSUM = file://LICENSE;md5=4fbd65380cdd255951079008b364516c
+
+DEPENDS = gnu-efi util-linux
+
+inherit autotools
+inherit deploy
+
+PV = 43+git${SRCPV}
+SRCREV = 4062c51075ba054d4949c714fe06123f9ad3097d
+SRC_URI = git://anongit.freedesktop.org/gummiboot
+
+S = ${WORKDIR}/git
+
+EXTRA_OECONF = --disable-manpages --with-efi-includedir=${STAGING_INCDIR} \
+--with-efi-ldsdir=${STAGING_LIBDIR} \
+--with-efi-libdir=${STAGING_LIBDIR}
+
+do_deploy () {
+install ${B}/gummiboot*.efi ${DEPLOYDIR}
+}
+addtask deploy before do_build after do_compile
-- 
1.8.5.3

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/4] recipes-bsp: add gnu-efi recipe

2014-03-09 Thread Stefan Stanacar
gnu-efi is required by gummiboot.
Imported from meta-intel, PR dropped, no new version available.

Signed-off-by: Stefan Stanacar stefanx.stana...@intel.com
---
 .../gnu-efi/gnu-efi/parallel-make-archives.patch   | 48 ++
 .../gnu-efi/gnu-efi/parallel-make.patch| 22 ++
 meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb   | 33 +++
 3 files changed, 103 insertions(+)
 create mode 100644 
meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
 create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
 create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb

diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch 
b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
new file mode 100644
index 000..e5b47c1
--- /dev/null
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
@@ -0,0 +1,48 @@
+Fix parallel make failure for archives
+
+Upstream-Status: Pending
+
+The lib and gnuefi makefiles were using the lib.a() form which compiles
+and ar's as a pair instead of compiling all and then ar'ing which can
+parallelize better. This was resulting in build failures on larger values
+of -j.
+
+See http://www.chemie.fu-berlin.de/chemnet/use/info/make/make_toc.html#TOC105
+for details.
+
+Signed-off-by: Saul Wold s...@linux.intel.com
+Signed-off-by: Darren Hart dvh...@linux.intel.com
+---
+---
+ gnuefi/Makefile |3 ++-
+ lib/Makefile|3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+Index: gnu-efi-3.0/lib/Makefile
+===
+--- gnu-efi-3.0.orig/lib/Makefile
 gnu-efi-3.0/lib/Makefile
+@@ -66,7 +66,8 @@ all: libsubdirs libefi.a
+ libsubdirs:
+   for sdir in $(SUBDIRS); do mkdir -p $$sdir; done
+ 
+-libefi.a: $(patsubst %,libefi.a(%),$(OBJS))
++libefi.a: $(OBJS)
++  $(AR) rv $@ $(OBJS)
+ 
+ clean:
+   rm -f libefi.a *~ $(OBJS) */*.o
+Index: gnu-efi-3.0/gnuefi/Makefile
+===
+--- gnu-efi-3.0.orig/gnuefi/Makefile
 gnu-efi-3.0/gnuefi/Makefile
+@@ -51,7 +51,8 @@ TARGETS  = crt0-efi-$(ARCH).o libgnuefi.a
+ 
+ all:  $(TARGETS)
+ 
+-libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS))
++libgnuefi.a: $(OBJS)
++  $(AR) rv $@ $(OBJS)
+ 
+ clean:
+   rm -f $(TARGETS) *~ *.o $(OBJS)
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch 
b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
new file mode 100644
index 000..27c94e8
--- /dev/null
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
@@ -0,0 +1,22 @@
+Fix parallel make failure
+
+Upstream-Status: Submitted [Maintainer directly]
+
+Add a missing dependency which resulted in a race leading to failure
+on larger values of -j.
+
+Signed-off-by: Darren Hart dvh...@linux.intel.com
+
+Index: gnu-efi-3.0/Makefile
+===
+--- gnu-efi-3.0.orig/Makefile
 gnu-efi-3.0/Makefile
+@@ -42,6 +42,8 @@ include $(SRCDIR)/Make.defaults
+ 
+ SUBDIRS = lib gnuefi inc apps
+ 
++gnuefi: lib
++
+ all:  check_gcc $(SUBDIRS)
+ 
+ $(SUBDIRS):
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb 
b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb
new file mode 100644
index 000..0dbdba2
--- /dev/null
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb
@@ -0,0 +1,33 @@
+SUMMARY = Libraries for producing EFI binaries
+HOMEPAGE = http://sourceforge.net/projects/gnu-efi/;
+SECTION = devel
+LICENSE = GPLv2+
+LIC_FILES_CHKSUM = 
file://debian/copyright;md5=5fb358a180f484b285b0d99acdc29666
+
+SRC_URI = http://downloads.sourceforge.net/gnu-efi/gnu-efi_3.0u.orig.tar.gz \
+   file://parallel-make.patch \
+   file://parallel-make-archives.patch \
+  
+SRC_URI[md5sum] = d15d3c700e79a1e2938544d73edc572d
+SRC_URI[sha256sum] = 
3c0d450d5829204ca05dcb3b2aae772e52c379b7c7e09146759c6315606f934e
+
+COMPATIBLE_HOST = (x86_64.*|i.86.*)-linux
+
+S = ${WORKDIR}/gnu-efi-3.0
+
+def gnu_efi_arch(d):
+import re
+tarch = d.getVar(TARGET_ARCH, True)
+if re.match(i[3456789]86, tarch):
+return ia32
+return tarch
+
+EXTRA_OEMAKE = 'ARCH=${@gnu_efi_arch(d)}' 'CC=${CC}' 'AS=${AS}' 'LD=${LD}' 
'AR=${AR}' \
+'RANLIB=${RANLIB}' 'OBJCOPY=${OBJCOPY}' 'PREFIX=${prefix}'\
+
+
+do_install() {
+oe_runmake install INSTALLROOT=${D}
+}
+
+FILES_${PN} += ${libdir}/*.lds
-- 
1.8.5.3

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 3/4] bootimg/grub-efi.bbclass: allow using a different class for EFI images

2014-03-09 Thread Stefan Stanacar
Abstract away some names so one can select using EFI_PROVIDER a different
class than grub-efi for populating live images, basically allowing the use
of a different bootloader than grub-efi.

Signed-off-by: Stefan Stanacar stefanx.stana...@intel.com
---
 meta/classes/boot-directdisk.bbclass |  7 ---
 meta/classes/bootimg.bbclass |  9 +
 meta/classes/grub-efi.bbclass| 12 ++--
 3 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/meta/classes/boot-directdisk.bbclass 
b/meta/classes/boot-directdisk.bbclass
index 42b3415..88e5c52 100644
--- a/meta/classes/boot-directdisk.bbclass
+++ b/meta/classes/boot-directdisk.bbclass
@@ -32,7 +32,8 @@ BOOTDD_VOLUME_ID   ?= boot
 BOOTDD_EXTRA_SPACE ?= 16384
 
 EFI = ${@base_contains(MACHINE_FEATURES, efi, 1, 0, d)}
-EFI_CLASS = ${@base_contains(MACHINE_FEATURES, efi, grub-efi, , d)}
+EFI_PROVIDER ?= grub-efi
+EFI_CLASS = ${@base_contains(MACHINE_FEATURES, efi, ${EFI_PROVIDER}, 
, d)}
 
 # Include legacy boot if MACHINE_FEATURES includes pcbios or if it does not
 # contain efi. This way legacy is supported by default if neither is
@@ -87,7 +88,7 @@ build_boot_dd() {
syslinux_hddimg_populate $HDDDIR
fi
if [ ${EFI} = 1 ]; then
-   grubefi_hddimg_populate $HDDDIR
+   efi_hddimg_populate $HDDDIR
fi
 
if [ ${IS_VMDK} = true ]; then
@@ -154,7 +155,7 @@ python do_bootdirectdisk() {
 if d.getVar(PCBIOS, True) == 1:
 bb.build.exec_func('build_syslinux_cfg', d)
 if d.getVar(EFI, True) == 1:
-bb.build.exec_func('build_grub_cfg', d)
+bb.build.exec_func('build_efi_cfg', d)
 bb.build.exec_func('build_boot_dd', d)
 }
 
diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
index c370bd6..b13eef9 100644
--- a/meta/classes/bootimg.bbclass
+++ b/meta/classes/bootimg.bbclass
@@ -42,7 +42,8 @@ BOOTIMG_VOLUME_ID   ?= boot
 BOOTIMG_EXTRA_SPACE ?= 512
 
 EFI = ${@base_contains(MACHINE_FEATURES, efi, 1, 0, d)}
-EFI_CLASS = ${@base_contains(MACHINE_FEATURES, efi, grub-efi, , d)}
+EFI_PROVIDER ?= grub-efi
+EFI_CLASS = ${@base_contains(MACHINE_FEATURES, efi, ${EFI_PROVIDER}, 
, d)}
 
 # Include legacy boot if MACHINE_FEATURES includes pcbios or if it does not
 # contain efi. This way legacy is supported by default if neither is
@@ -89,7 +90,7 @@ build_iso() {
syslinux_iso_populate ${ISODIR}
fi
if [ ${EFI} = 1 ]; then
-   grubefi_iso_populate ${ISODIR}
+   efi_iso_populate ${ISODIR}
build_fat_img ${EFIIMGDIR} ${ISODIR}/efi.img
fi
 
@@ -206,7 +207,7 @@ build_hddimg() {
syslinux_hddimg_populate ${HDDDIR}
fi
if [ ${EFI} = 1 ]; then
-   grubefi_hddimg_populate ${HDDDIR}
+   efi_hddimg_populate ${HDDDIR}
fi
 
build_fat_img ${HDDDIR} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg
@@ -227,7 +228,7 @@ python do_bootimg() {
 if d.getVar(PCBIOS, True) == 1:
 bb.build.exec_func('build_syslinux_cfg', d)
 if d.getVar(EFI, True) == 1:
-bb.build.exec_func('build_grub_cfg', d)
+bb.build.exec_func('build_efi_cfg', d)
 bb.build.exec_func('build_hddimg', d)
 bb.build.exec_func('build_iso', d)
 }
diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass
index 71bd00f..5c80c17 100644
--- a/meta/classes/grub-efi.bbclass
+++ b/meta/classes/grub-efi.bbclass
@@ -26,7 +26,7 @@ GRUB_OPTS ?= serial --unit=0 --speed=115200 --word=8 
--parity=no --stop=1
 
 EFIDIR = /EFI/BOOT
 
-grubefi_populate() {
+efi_populate() {
# DEST must be the root of the image so that EFIDIR is not
# nested under a top level directory.
DEST=$1
@@ -42,9 +42,9 @@ grubefi_populate() {
install -m 0644 ${GRUBCFG} ${DEST}${EFIDIR}
 }
 
-grubefi_iso_populate() {
+efi_iso_populate() {
iso_dir=$1
-   grubefi_populate $iso_dir
+   efi_populate $iso_dir
# Build a EFI directory to create efi.img
mkdir -p ${EFIIMGDIR}/${EFIDIR}
cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
@@ -55,11 +55,11 @@ grubefi_iso_populate() {
fi
 }
 
-grubefi_hddimg_populate() {
-   grubefi_populate $1
+efi_hddimg_populate() {
+   efi_populate $1
 }
 
-python build_grub_cfg() {
+python build_efi_cfg() {
 import sys
 
 workdir = d.getVar('WORKDIR', True)
-- 
1.8.5.3

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 0/4] Add gummiboot boot manager alongside grub-efi

2014-03-09 Thread Stanacar, StefanX

I've forgot to add v2 to the subject lines :(
I'll resend with that added.

On Sun, 2014-03-09 at 18:04 +0200, Stefan Stanacar wrote:
 Hello,
 
 This series adds recipes for gummiboot and a class allowing it to be used
 as the boot loader for live/hddimg images.
 Without changing EFI_PROVIDER, we have the same behaviour for EFI machines.
 Using EFI_PROVIDER = gummiboot an installed image will use gummiboot instead
 of grub-efi as it's boot manager.
 
 I've tested this on FRI2, NUC and minnow (live USB boot and install from USB 
 and boot) 
 with  EFI_PROVIDER = gummiboot and  KERNEL_FEATURES_append =  cfg/efi-ext
 in local.conf
 
 This is a partial fix for YB#4082.
 
 Changes in V2:
  - split the first patch in two
  - used ${B} instead of ${S} in gummiboot do_deploy
  - change the function names in bootimg/grub-efi instead of using a
 prefix
 
 I've tested again the changes on top of master.
 
 Cheers,
 Stefan
 
 
 The following changes since commit abe417e22b1b55c60f722ca434f9d382ef87:
 
   classes/uboot-config: ignore doc varflag (2014-03-07 15:05:09 +)
 
 are available in the git repository at:
 
   git://git.yoctoproject.org/poky-contrib stefans/gummiboot
   http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=stefans/gummiboot
 
 Stefan Stanacar (4):
   recipes-bsp: add gnu-efi recipe
   recipes-bsp: Add gummiboot recipe
   bootimg/grub-efi.bbclass: allow using a different class for EFI images
   classes: Add gummiboot class
 
  meta/classes/boot-directdisk.bbclass   |   7 +-
  meta/classes/bootimg.bbclass   |   9 +-
  meta/classes/grub-efi.bbclass  |  12 +--
  meta/classes/gummiboot.bbclass | 114 
 +
  .../gnu-efi/gnu-efi/parallel-make-archives.patch   |  48 +
  .../gnu-efi/gnu-efi/parallel-make.patch|  22 
  meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb   |  33 ++
  meta/recipes-bsp/gummiboot/gummiboot_git.bb|  25 +
  .../initrdscripts/files/init-install-efi.sh|  51 ++---
  9 files changed, 292 insertions(+), 29 deletions(-)
  create mode 100644 meta/classes/gummiboot.bbclass
  create mode 100644 
 meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
  create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
  create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb
  create mode 100644 meta/recipes-bsp/gummiboot/gummiboot_git.bb
 
 -- 
 1.8.5.3
 

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2 1/4] recipes-bsp: add gnu-efi recipe

2014-03-09 Thread Stefan Stanacar
gnu-efi is required by gummiboot.
Imported from meta-intel, PR dropped, no new version available.

Signed-off-by: Stefan Stanacar stefanx.stana...@intel.com
---
 .../gnu-efi/gnu-efi/parallel-make-archives.patch   | 48 ++
 .../gnu-efi/gnu-efi/parallel-make.patch| 22 ++
 meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb   | 33 +++
 3 files changed, 103 insertions(+)
 create mode 100644 
meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
 create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
 create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb

diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch 
b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
new file mode 100644
index 000..e5b47c1
--- /dev/null
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
@@ -0,0 +1,48 @@
+Fix parallel make failure for archives
+
+Upstream-Status: Pending
+
+The lib and gnuefi makefiles were using the lib.a() form which compiles
+and ar's as a pair instead of compiling all and then ar'ing which can
+parallelize better. This was resulting in build failures on larger values
+of -j.
+
+See http://www.chemie.fu-berlin.de/chemnet/use/info/make/make_toc.html#TOC105
+for details.
+
+Signed-off-by: Saul Wold s...@linux.intel.com
+Signed-off-by: Darren Hart dvh...@linux.intel.com
+---
+---
+ gnuefi/Makefile |3 ++-
+ lib/Makefile|3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+Index: gnu-efi-3.0/lib/Makefile
+===
+--- gnu-efi-3.0.orig/lib/Makefile
 gnu-efi-3.0/lib/Makefile
+@@ -66,7 +66,8 @@ all: libsubdirs libefi.a
+ libsubdirs:
+   for sdir in $(SUBDIRS); do mkdir -p $$sdir; done
+ 
+-libefi.a: $(patsubst %,libefi.a(%),$(OBJS))
++libefi.a: $(OBJS)
++  $(AR) rv $@ $(OBJS)
+ 
+ clean:
+   rm -f libefi.a *~ $(OBJS) */*.o
+Index: gnu-efi-3.0/gnuefi/Makefile
+===
+--- gnu-efi-3.0.orig/gnuefi/Makefile
 gnu-efi-3.0/gnuefi/Makefile
+@@ -51,7 +51,8 @@ TARGETS  = crt0-efi-$(ARCH).o libgnuefi.a
+ 
+ all:  $(TARGETS)
+ 
+-libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS))
++libgnuefi.a: $(OBJS)
++  $(AR) rv $@ $(OBJS)
+ 
+ clean:
+   rm -f $(TARGETS) *~ *.o $(OBJS)
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch 
b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
new file mode 100644
index 000..27c94e8
--- /dev/null
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
@@ -0,0 +1,22 @@
+Fix parallel make failure
+
+Upstream-Status: Submitted [Maintainer directly]
+
+Add a missing dependency which resulted in a race leading to failure
+on larger values of -j.
+
+Signed-off-by: Darren Hart dvh...@linux.intel.com
+
+Index: gnu-efi-3.0/Makefile
+===
+--- gnu-efi-3.0.orig/Makefile
 gnu-efi-3.0/Makefile
+@@ -42,6 +42,8 @@ include $(SRCDIR)/Make.defaults
+ 
+ SUBDIRS = lib gnuefi inc apps
+ 
++gnuefi: lib
++
+ all:  check_gcc $(SUBDIRS)
+ 
+ $(SUBDIRS):
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb 
b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb
new file mode 100644
index 000..0dbdba2
--- /dev/null
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb
@@ -0,0 +1,33 @@
+SUMMARY = Libraries for producing EFI binaries
+HOMEPAGE = http://sourceforge.net/projects/gnu-efi/;
+SECTION = devel
+LICENSE = GPLv2+
+LIC_FILES_CHKSUM = 
file://debian/copyright;md5=5fb358a180f484b285b0d99acdc29666
+
+SRC_URI = http://downloads.sourceforge.net/gnu-efi/gnu-efi_3.0u.orig.tar.gz \
+   file://parallel-make.patch \
+   file://parallel-make-archives.patch \
+  
+SRC_URI[md5sum] = d15d3c700e79a1e2938544d73edc572d
+SRC_URI[sha256sum] = 
3c0d450d5829204ca05dcb3b2aae772e52c379b7c7e09146759c6315606f934e
+
+COMPATIBLE_HOST = (x86_64.*|i.86.*)-linux
+
+S = ${WORKDIR}/gnu-efi-3.0
+
+def gnu_efi_arch(d):
+import re
+tarch = d.getVar(TARGET_ARCH, True)
+if re.match(i[3456789]86, tarch):
+return ia32
+return tarch
+
+EXTRA_OEMAKE = 'ARCH=${@gnu_efi_arch(d)}' 'CC=${CC}' 'AS=${AS}' 'LD=${LD}' 
'AR=${AR}' \
+'RANLIB=${RANLIB}' 'OBJCOPY=${OBJCOPY}' 'PREFIX=${prefix}'\
+
+
+do_install() {
+oe_runmake install INSTALLROOT=${D}
+}
+
+FILES_${PN} += ${libdir}/*.lds
-- 
1.8.5.3

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2 2/4] recipes-bsp: Add gummiboot recipe

2014-03-09 Thread Stefan Stanacar
gummiboot is a simple UEFI boot manager.

Recipe imported from meta-intel with these changes:
 - drop PR and update configure options
 - upgraded to latest version

A couple of notes:
 - If you wish you can install the gummiboot package on the target and
use 'gummiboot install' to add the payload to the ESP (see gummiboot --help,
just make sure the ESP partition has the boot flag on as gummiboot won't accept 
it
otherwise). However the point of this recipe is to be used by bootimg.bbclass 
and
generate images with gummiboot instead of grub-efi.
 - You need a kernel which has CONFIG_EFI_STUB=y at least
 - The default linux-yocto kernel config does not enable that, easiest way
to enable is to build with KERNEL_FEATURES_append =  cfg/efi-ext in local.conf

Signed-off-by: Stefan Stanacar stefanx.stana...@intel.com
---
 meta/recipes-bsp/gummiboot/gummiboot_git.bb | 25 +
 1 file changed, 25 insertions(+)
 create mode 100644 meta/recipes-bsp/gummiboot/gummiboot_git.bb

diff --git a/meta/recipes-bsp/gummiboot/gummiboot_git.bb 
b/meta/recipes-bsp/gummiboot/gummiboot_git.bb
new file mode 100644
index 000..5868a23
--- /dev/null
+++ b/meta/recipes-bsp/gummiboot/gummiboot_git.bb
@@ -0,0 +1,25 @@
+SUMMARY = Gummiboot is a simple UEFI boot manager which executes configured 
EFI images.
+HOMEPAGE = http://freedesktop.org/wiki/Software/gummiboot;
+
+LICENSE = LGPLv2.1
+LIC_FILES_CHKSUM = file://LICENSE;md5=4fbd65380cdd255951079008b364516c
+
+DEPENDS = gnu-efi util-linux
+
+inherit autotools
+inherit deploy
+
+PV = 43+git${SRCPV}
+SRCREV = 4062c51075ba054d4949c714fe06123f9ad3097d
+SRC_URI = git://anongit.freedesktop.org/gummiboot
+
+S = ${WORKDIR}/git
+
+EXTRA_OECONF = --disable-manpages --with-efi-includedir=${STAGING_INCDIR} \
+--with-efi-ldsdir=${STAGING_LIBDIR} \
+--with-efi-libdir=${STAGING_LIBDIR}
+
+do_deploy () {
+install ${B}/gummiboot*.efi ${DEPLOYDIR}
+}
+addtask deploy before do_build after do_compile
-- 
1.8.5.3

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2 3/4] bootimg/grub-efi.bbclass: allow using a different class for EFI images

2014-03-09 Thread Stefan Stanacar
Abstract away some names so one can select using EFI_PROVIDER a different
class than grub-efi for populating live images, basically allowing the use
of a different bootloader than grub-efi.

Signed-off-by: Stefan Stanacar stefanx.stana...@intel.com
---
 meta/classes/boot-directdisk.bbclass |  7 ---
 meta/classes/bootimg.bbclass |  9 +
 meta/classes/grub-efi.bbclass| 12 ++--
 3 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/meta/classes/boot-directdisk.bbclass 
b/meta/classes/boot-directdisk.bbclass
index 42b3415..88e5c52 100644
--- a/meta/classes/boot-directdisk.bbclass
+++ b/meta/classes/boot-directdisk.bbclass
@@ -32,7 +32,8 @@ BOOTDD_VOLUME_ID   ?= boot
 BOOTDD_EXTRA_SPACE ?= 16384
 
 EFI = ${@base_contains(MACHINE_FEATURES, efi, 1, 0, d)}
-EFI_CLASS = ${@base_contains(MACHINE_FEATURES, efi, grub-efi, , d)}
+EFI_PROVIDER ?= grub-efi
+EFI_CLASS = ${@base_contains(MACHINE_FEATURES, efi, ${EFI_PROVIDER}, 
, d)}
 
 # Include legacy boot if MACHINE_FEATURES includes pcbios or if it does not
 # contain efi. This way legacy is supported by default if neither is
@@ -87,7 +88,7 @@ build_boot_dd() {
syslinux_hddimg_populate $HDDDIR
fi
if [ ${EFI} = 1 ]; then
-   grubefi_hddimg_populate $HDDDIR
+   efi_hddimg_populate $HDDDIR
fi
 
if [ ${IS_VMDK} = true ]; then
@@ -154,7 +155,7 @@ python do_bootdirectdisk() {
 if d.getVar(PCBIOS, True) == 1:
 bb.build.exec_func('build_syslinux_cfg', d)
 if d.getVar(EFI, True) == 1:
-bb.build.exec_func('build_grub_cfg', d)
+bb.build.exec_func('build_efi_cfg', d)
 bb.build.exec_func('build_boot_dd', d)
 }
 
diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
index c370bd6..b13eef9 100644
--- a/meta/classes/bootimg.bbclass
+++ b/meta/classes/bootimg.bbclass
@@ -42,7 +42,8 @@ BOOTIMG_VOLUME_ID   ?= boot
 BOOTIMG_EXTRA_SPACE ?= 512
 
 EFI = ${@base_contains(MACHINE_FEATURES, efi, 1, 0, d)}
-EFI_CLASS = ${@base_contains(MACHINE_FEATURES, efi, grub-efi, , d)}
+EFI_PROVIDER ?= grub-efi
+EFI_CLASS = ${@base_contains(MACHINE_FEATURES, efi, ${EFI_PROVIDER}, 
, d)}
 
 # Include legacy boot if MACHINE_FEATURES includes pcbios or if it does not
 # contain efi. This way legacy is supported by default if neither is
@@ -89,7 +90,7 @@ build_iso() {
syslinux_iso_populate ${ISODIR}
fi
if [ ${EFI} = 1 ]; then
-   grubefi_iso_populate ${ISODIR}
+   efi_iso_populate ${ISODIR}
build_fat_img ${EFIIMGDIR} ${ISODIR}/efi.img
fi
 
@@ -206,7 +207,7 @@ build_hddimg() {
syslinux_hddimg_populate ${HDDDIR}
fi
if [ ${EFI} = 1 ]; then
-   grubefi_hddimg_populate ${HDDDIR}
+   efi_hddimg_populate ${HDDDIR}
fi
 
build_fat_img ${HDDDIR} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg
@@ -227,7 +228,7 @@ python do_bootimg() {
 if d.getVar(PCBIOS, True) == 1:
 bb.build.exec_func('build_syslinux_cfg', d)
 if d.getVar(EFI, True) == 1:
-bb.build.exec_func('build_grub_cfg', d)
+bb.build.exec_func('build_efi_cfg', d)
 bb.build.exec_func('build_hddimg', d)
 bb.build.exec_func('build_iso', d)
 }
diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass
index 71bd00f..5c80c17 100644
--- a/meta/classes/grub-efi.bbclass
+++ b/meta/classes/grub-efi.bbclass
@@ -26,7 +26,7 @@ GRUB_OPTS ?= serial --unit=0 --speed=115200 --word=8 
--parity=no --stop=1
 
 EFIDIR = /EFI/BOOT
 
-grubefi_populate() {
+efi_populate() {
# DEST must be the root of the image so that EFIDIR is not
# nested under a top level directory.
DEST=$1
@@ -42,9 +42,9 @@ grubefi_populate() {
install -m 0644 ${GRUBCFG} ${DEST}${EFIDIR}
 }
 
-grubefi_iso_populate() {
+efi_iso_populate() {
iso_dir=$1
-   grubefi_populate $iso_dir
+   efi_populate $iso_dir
# Build a EFI directory to create efi.img
mkdir -p ${EFIIMGDIR}/${EFIDIR}
cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
@@ -55,11 +55,11 @@ grubefi_iso_populate() {
fi
 }
 
-grubefi_hddimg_populate() {
-   grubefi_populate $1
+efi_hddimg_populate() {
+   efi_populate $1
 }
 
-python build_grub_cfg() {
+python build_efi_cfg() {
 import sys
 
 workdir = d.getVar('WORKDIR', True)
-- 
1.8.5.3

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2 0/4] Add gummiboot boot manager alongside grub-efi

2014-03-09 Thread Stefan Stanacar
(I've sent this earlier but didn't add v2 to subject, this is resend only)

Hello,

This series adds recipes for gummiboot and a class allowing it to be used
as the boot loader for live/hddimg images.
Without changing EFI_PROVIDER, we have the same behaviour for EFI machines.
Using EFI_PROVIDER = gummiboot an installed image will use gummiboot instead
of grub-efi as it's boot manager.

I've tested this on FRI2, NUC and minnow (live USB boot and install from USB 
and boot) 
with  EFI_PROVIDER = gummiboot and  KERNEL_FEATURES_append =  cfg/efi-ext
in local.conf

This is a partial fix for YB#4082.

Changes in V2:
 - split the first patch in two
 - used ${B} instead of ${S} in gummiboot do_deploy
 - change the function names in bootimg/grub-efi instead of using a
prefix

I've tested again the changes on top of master.

Cheers,
Stefan


The following changes since commit abe417e22b1b55c60f722ca434f9d382ef87:

  classes/uboot-config: ignore doc varflag (2014-03-07 15:05:09 +)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib stefans/gummiboot
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=stefans/gummiboot

Stefan Stanacar (4):
  recipes-bsp: add gnu-efi recipe
  recipes-bsp: Add gummiboot recipe
  bootimg/grub-efi.bbclass: allow using a different class for EFI images
  classes: Add gummiboot class

 meta/classes/boot-directdisk.bbclass   |   7 +-
 meta/classes/bootimg.bbclass   |   9 +-
 meta/classes/grub-efi.bbclass  |  12 +--
 meta/classes/gummiboot.bbclass | 114 +
 .../gnu-efi/gnu-efi/parallel-make-archives.patch   |  48 +
 .../gnu-efi/gnu-efi/parallel-make.patch|  22 
 meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb   |  33 ++
 meta/recipes-bsp/gummiboot/gummiboot_git.bb|  25 +
 .../initrdscripts/files/init-install-efi.sh|  51 ++---
 9 files changed, 292 insertions(+), 29 deletions(-)
 create mode 100644 meta/classes/gummiboot.bbclass
 create mode 100644 
meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
 create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
 create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb
 create mode 100644 meta/recipes-bsp/gummiboot/gummiboot_git.bb

-- 
1.8.5.3

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2 4/4] classes: Add gummiboot class

2014-03-09 Thread Stefan Stanacar
Adds a gummiboot class similar to grub-efi class and makes the necessary
changes so it can be used for live/hddimg images as well.

One can set EFI_PROVIDER = gummiboot in local.conf to use gummiboot instead 
of grub-efi.
Gummiboot requires some kernel options that are not enabled by default, so one 
has to build
with KERNEL_FEATURES_append =  cfg/efi-ext.

The install scripts have been updated too, keeping the old behaviour around,
but accounting for the new boot loader config files (if they exist).
It can be argued that the installer and bootimg are a bit wierd and not 
necessarily correct,
but I wanted to have the exact same behviour with gummiboot.
With the default EFI_PROVIDER = grub-efi nothing changes, everthing should be 
just as before.

I've tested live boot, install and normal boot on:
- FRI2
- genericx86-64 on NUC
with:
  EFI_PROVIDER = gummiboot
  KERNEL_FEATURES_append =  cfg/efi-ext
in local.conf.

Signed-off-by: Stefan Stanacar stefanx.stana...@intel.com
---
 meta/classes/gummiboot.bbclass | 114 +
 .../initrdscripts/files/init-install-efi.sh|  51 ++---
 2 files changed, 149 insertions(+), 16 deletions(-)
 create mode 100644 meta/classes/gummiboot.bbclass

diff --git a/meta/classes/gummiboot.bbclass b/meta/classes/gummiboot.bbclass
new file mode 100644
index 000..0214652
--- /dev/null
+++ b/meta/classes/gummiboot.bbclass
@@ -0,0 +1,114 @@
+# Copyright (C) 2014 Intel Corporation
+#
+# Released under the MIT license (see COPYING.MIT)
+
+# gummiboot.bbclass - equivalent of grub-efi.bbclass
+# Set EFI_PROVIDER = gummiboot to use gummiboot on your live images instead 
of grub-efi
+# (images built by bootimage.bbclass or boot-directdisk.bbclass)
+
+do_bootimg[depends] += gummiboot:do_deploy
+do_bootdirectdisk[depends] += gummiboot:do_deploy
+
+EFIDIR = /EFI/BOOT
+
+GUMMIBOOT_CFG ?= ${S}/loader.conf
+GUMMIBOOT_ENTRIES ?= 
+GUMMIBOOT_TIMEOUT ?= 10
+
+efi_populate() {
+DEST=$1
+
+EFI_IMAGE=gummibootia32.efi
+DEST_EFI_IMAGE=bootia32.efi
+if [ ${TARGET_ARCH} = x86_64 ]; then
+EFI_IMAGE=gummibootx64.efi
+DEST_EFI_IMAGE=bootx64.efi
+fi
+
+install -d ${DEST}${EFIDIR}
+# gummiboot requires these paths for configuration files
+# they are not customizable so no point in new vars
+install -d ${DEST}/loader
+install -d ${DEST}/loader/entries
+install -m 0644 ${DEPLOY_DIR_IMAGE}/${EFI_IMAGE} 
${DEST}${EFIDIR}/${DEST_EFI_IMAGE}
+install -m 0644 ${GUMMIBOOT_CFG} ${DEST}/loader/loader.conf
+for i in ${GUMMIBOOT_ENTRIES}; do
+install -m 0644 ${i} ${DEST}/loader/entries
+done
+}
+
+efi_iso_populate() {
+iso_dir=$1
+efi_populate $iso_dir
+mkdir -p ${EFIIMGDIR}/${EFIDIR}
+cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
+cp $iso_dir/vmlinuz ${EFIIMGDIR}
+echo ${DEST_EFI_IMAGE}  ${EFIIMGDIR}/startup.nsh
+if [ -f $iso_dir/initrd ] ; then
+cp $iso_dir/initrd ${EFIIMGDIR}
+fi
+}
+
+efi_hddimg_populate() {
+efi_populate $1
+}
+
+python build_efi_cfg() {
+s = d.getVar(S, True)
+labels = d.getVar('LABELS', True)
+if not labels:
+bb.debug(1, LABELS not defined, nothing to do)
+return
+
+if labels == []:
+bb.debug(1, No labels, nothing to do)
+return
+
+cfile = d.getVar('GUMMIBOOT_CFG', True)
+try:
+ cfgfile = open(cfile, 'w')
+except OSError:
+raise bb.build.funcFailed('Unable to open %s' % (cfile))
+
+cfgfile.write('# Automatically created by OE\n')
+cfgfile.write('default %s\n' % (labels.split()[0]))
+timeout = d.getVar('GUMMIBOOT_TIMEOUT', True)
+if timeout:
+cfgfile.write('timeout %s\n' % timeout)
+else:
+cfgfile.write('timeout 10\n')
+cfgfile.close()
+
+for label in labels.split():
+localdata = d.createCopy()
+
+overrides = localdata.getVar('OVERRIDES', True)
+if not overrides:
+raise bb.build.FuncFailed('OVERRIDES not defined')
+
+entryfile = %s/%s.conf % (s, label)
+d.appendVar(GUMMIBOOT_ENTRIES,   + entryfile)
+try:
+entrycfg = open(entryfile, w)
+except OSError:
+raise bb.build.funcFailed('Unable to open %s' % (entryfile))
+localdata.setVar('OVERRIDES', label + ':' + overrides)
+bb.data.update_data(localdata)
+
+entrycfg.write('title %s\n' % label)
+entrycfg.write('linux /vmlinuz\n')
+
+append = localdata.getVar('APPEND', True)
+initrd = localdata.getVar('INITRD', True)
+
+if initrd:
+entrycfg.write('initrd /initrd\n')
+lb = label
+if label == install:
+lb = install-efi
+entrycfg.write('options LABEL=%s ' % lb)
+if append:
+entrycfg.write('%s' % append)
+entrycfg.write('\n')
+

Re: [OE-core] [PATCH] wic: Use mke2fs to create the ext2/3/4 image

2014-03-09 Thread Richard Purdie
On Sat, 2014-03-08 at 19:23 -0300, João Henrique Ferreira de Freitas
wrote:
 OE-core commit f3a95ca6886b55e5819b068bdbd2cceb882d91a6 removed the
 populate-extfs.sh. So mke2fs should be used to create ext2/3/4 image.
 
 Signed-off-by: João Henrique Ferreira de Freitas joa...@gmail.com
 ---
  scripts/lib/mic/kickstart/custom_commands/partition.py | 6 ++
  1 file changed, 2 insertions(+), 4 deletions(-)
 
 diff --git a/scripts/lib/mic/kickstart/custom_commands/partition.py 
 b/scripts/lib/mic/kickstart/custom_commands/partition.py
 index 91d751e..e0a82f5 100644
 --- a/scripts/lib/mic/kickstart/custom_commands/partition.py
 +++ b/scripts/lib/mic/kickstart/custom_commands/partition.py
 @@ -174,7 +174,6 @@ class Wic_PartData(Mic_PartData):
  
  Prepare content for an ext2/3/4 rootfs partition.
  
 -populate_script = %s/usr/bin/populate-extfs.sh % native_sysroot
  
  image_rootfs = rootfs_dir
  rootfs = %s/rootfs.%s % (cr_workdir, self.fstype)
 @@ -199,11 +198,10 @@ class Wic_PartData(Mic_PartData):
  
  extra_imagecmd = -i 8192
  
 -mkfs_cmd = mkfs.%s -F %s %s % (self.fstype, extra_imagecmd, rootfs)
 +mkfs_cmd = mkfs.%s -F %s %s -d %s % \
 +(self.fstype, extra_imagecmd, rootfs, image_rootfs)
  rc, out = exec_native_cmd(mkfs_cmd, native_sysroot)
  
 -populate_cmd = populate_script +   + image_rootfs +   + rootfs
 -rc, out = exec_native_cmd(pseudo + populate_cmd, native_sysroot)
  
  # get the rootfs size in the right units for kickstart (Mb)
  du_cmd = du -Lbms %s % rootfs

Don't we need to be careful to find the binary from the native sysroot
here since that is the one with the root directory option?

Cheers,

Richard

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] Status Update

2014-03-09 Thread Richard Purdie
Its been a while since I sent one of these out, I never got back into
the habit after I was away last year. I'm told they're useful to various
people and they stop me having to repeat myself to people so I'm going
to give them another go.

Pending Patches
===

The feature freeze point for the 1.6 release is today. Some things of
note that have merged recently including:

* Reworked ext2/3/4 rootfs generation. Great work to the people involved
  in getting the patches upstream! Can we delete genext2fs now? Please?
* ToasterUI Updates
* Systemd Upgrade to 209/210ish
* lttng updates
* core-image-basic renaming
* PRINC deprecation warning
* autotools aclocal improvements
* using the separate build include by default
* bitbake manual updates
* various oe-selftest improvements/tweaks

Its good to see many of these coming in, some have been long awaited.

I'm aware we don't quite have some things yet, in particular the 3.14
kernel so there are some changes to still to come in. We've been testing
the -dev kernel on the autobuilder, we have a list of issues we need to
resolve (perf mainly at this point) and as soon as 3.14 is officially
released we'll be good to go. Other things I'm aware of as pending for
1.6 are:

* gummiboot recipes (various versions exist in various layers, this 
  pulls things together hopefully)
* oe-init-build-env tweaks from Gary
* some parts of the on hardware automated testing
* possibly some bitbake fetcher extension code for automated upgrade 
  detection
* Enabling Separate B from S by default. Martin asked me to hold off 
  this until the issues form the previous changes get sorted out. 
  OE-Core is ready for it, the question is the other layers. We 
  probably need to bump the tmpdir ABI number for this change.

I get the feeling there may be some other things which I don't have on
the list too, please let me know of major pending features I don't have
here.

There are also some things looking very unlikely to get done in 1.6 at
this point. These include:

* Memory Resident and Interactive Bitbake work
* Kernel installation footprint optimisation
* python devshell
* PR Server improvements
* Locked SState support

Patches for some parts of these exist but we're running out of runway to
get them into a state ready to merge.

The recent autobuilder changes did cause a backlog of patches waiting
for testing. On the positive side the autobuilder does seem to have
stabilised now and the changes present there have been worth waiting
for. I believe we have caught up with most of the backlog now and had a
mostly green build on Friday.


Bitbake Changes
===

We found there were some issues when SIGTERM was sent to bitbake's
various (sub)processes, as might happen on a buildbot or jenkins setup
when stopping builds. The exact effect depended on the order the
processes received the signal and ranged from locking up to using 100%
CPU. There is a fairly comprehensive set of patches on the bitbake-devel
list which should make things behave better.

I've also been a little frustrated with the latency of certain bitbake
commands, it seems to do nothing at some points and debugging confirmed
that (e.g. setting the server/process.py select call timeout to 5s made
the issues extremely obvious). Again, there are patches out to try and
optimise out the various delays which are pointless and bitbake feels
snappier as a result, at least to me anyway.

I'd also like to give a mention to the BitBake manual once again. Its
been heavily reworked, improved and brought up to date. The edits are
now in bitbake master branch.

1.4.3
=

This was held back due to the recent gnutls CVE, its now undergoing
testing and should be ready for release soon if that is successful. If
not, it will have to wait until after 1.6 ships.


Cheers,

Richard


-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] Status Update

2014-03-09 Thread Robert Yang



On 03/10/2014 10:20 AM, Richard Purdie wrote:

Its been a while since I sent one of these out, I never got back into
the habit after I was away last year. I'm told they're useful to various
people and they stop me having to repeat myself to people so I'm going
to give them another go.

Pending Patches
===

The feature freeze point for the 1.6 release is today. Some things of
note that have merged recently including:

* Reworked ext2/3/4 rootfs generation. Great work to the people involved
   in getting the patches upstream! Can we delete genext2fs now? Please?


Yes, I think that we can delete the genext2fs since the mke2fs -d can
do the same thing as genext2fs.

// Robert


* ToasterUI Updates
* Systemd Upgrade to 209/210ish
* lttng updates
* core-image-basic renaming
* PRINC deprecation warning
* autotools aclocal improvements
* using the separate build include by default
* bitbake manual updates
* various oe-selftest improvements/tweaks

Its good to see many of these coming in, some have been long awaited.

I'm aware we don't quite have some things yet, in particular the 3.14
kernel so there are some changes to still to come in. We've been testing
the -dev kernel on the autobuilder, we have a list of issues we need to
resolve (perf mainly at this point) and as soon as 3.14 is officially
released we'll be good to go. Other things I'm aware of as pending for
1.6 are:

* gummiboot recipes (various versions exist in various layers, this
   pulls things together hopefully)
* oe-init-build-env tweaks from Gary
* some parts of the on hardware automated testing
* possibly some bitbake fetcher extension code for automated upgrade
   detection
* Enabling Separate B from S by default. Martin asked me to hold off
   this until the issues form the previous changes get sorted out.
   OE-Core is ready for it, the question is the other layers. We
   probably need to bump the tmpdir ABI number for this change.

I get the feeling there may be some other things which I don't have on
the list too, please let me know of major pending features I don't have
here.

There are also some things looking very unlikely to get done in 1.6 at
this point. These include:

* Memory Resident and Interactive Bitbake work
* Kernel installation footprint optimisation
* python devshell
* PR Server improvements
* Locked SState support

Patches for some parts of these exist but we're running out of runway to
get them into a state ready to merge.

The recent autobuilder changes did cause a backlog of patches waiting
for testing. On the positive side the autobuilder does seem to have
stabilised now and the changes present there have been worth waiting
for. I believe we have caught up with most of the backlog now and had a
mostly green build on Friday.


Bitbake Changes
===

We found there were some issues when SIGTERM was sent to bitbake's
various (sub)processes, as might happen on a buildbot or jenkins setup
when stopping builds. The exact effect depended on the order the
processes received the signal and ranged from locking up to using 100%
CPU. There is a fairly comprehensive set of patches on the bitbake-devel
list which should make things behave better.

I've also been a little frustrated with the latency of certain bitbake
commands, it seems to do nothing at some points and debugging confirmed
that (e.g. setting the server/process.py select call timeout to 5s made
the issues extremely obvious). Again, there are patches out to try and
optimise out the various delays which are pointless and bitbake feels
snappier as a result, at least to me anyway.

I'd also like to give a mention to the BitBake manual once again. Its
been heavily reworked, improved and brought up to date. The edits are
now in bitbake master branch.

1.4.3
=

This was held back due to the recent gnutls CVE, its now undergoing
testing and should be ready for release soon if that is successful. If
not, it will have to wait until after 1.6 ships.


Cheers,

Richard



--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 0/3] Package Updates

2014-03-09 Thread Saul Wold
These are some core packages for larger systems that had updates
that should be included in 1.6.

The bind update provides CVE fixes

Sau!

Saul Wold (3):
  util-linux: Update to 2.24.1
  dhcp: Update to 4.3.0
  bind: Update to 9.9.5

 .../bind-9.8.1-CVE-2012-5166.patch |   0
 .../{bind-9.8.1 = bind}/bind-CVE-2011-4313.patch  |   0
 .../{bind-9.8.1 = bind}/bind-CVE-2012-1667.patch  |   0
 .../{bind-9.8.1 = bind}/bind-CVE-2012-3817.patch  |   0
 .../{bind-9.8.1 = bind}/bind-CVE-2013-2266.patch  |   0
 .../bind-Fix-CVE-2012-4244.patch   |   0
 .../bind/{bind-9.8.1 = bind}/conf.patch   |   0
 .../{bind-9.8.1 = bind}/cross-build-fix.patch |   0
 .../bind/bind/dont-test-on-host.patch  |  13 ++
 .../make-etc-initd-bind-stop-work.patch|   0
 .../mips1-not-support-opcode.diff  |   0
 .../bind/{bind_9.8.1.bb = bind_9.9.5.bb}  |  20 +--
 meta/recipes-connectivity/dhcp/dhcp.inc|   2 +-
 .../dhcp/dhcp/fix-external-bind.patch  | 115 +++---
 .../dhcp/{dhcp_4.2.5-P1.bb = dhcp_4.3.0.bb}   |   6 +-
 meta/recipes-core/util-linux/util-linux.inc|  12 +-
 .../util-linux/util-linux/fix-configure.patch  |  20 +--
 .../util-linux/util-linux/util-linux-native.patch  | 173 +++--
 .../{util-linux_2.23.2.bb = util-linux_2.24.1.bb} |   6 +-
 19 files changed, 123 insertions(+), 244 deletions(-)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/bind-9.8.1-CVE-2012-5166.patch (100%)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/bind-CVE-2011-4313.patch (100%)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/bind-CVE-2012-1667.patch (100%)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/bind-CVE-2012-3817.patch (100%)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/bind-CVE-2013-2266.patch (100%)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/bind-Fix-CVE-2012-4244.patch (100%)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = bind}/conf.patch (100%)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/cross-build-fix.patch (100%)
 create mode 100644 meta/recipes-connectivity/bind/bind/dont-test-on-host.patch
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/make-etc-initd-bind-stop-work.patch (100%)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/mips1-not-support-opcode.diff (100%)
 rename meta/recipes-connectivity/bind/{bind_9.8.1.bb = bind_9.9.5.bb} (76%)
 rename meta/recipes-connectivity/dhcp/{dhcp_4.2.5-P1.bb = dhcp_4.3.0.bb} (65%)
 rename meta/recipes-core/util-linux/{util-linux_2.23.2.bb = 
util-linux_2.24.1.bb} (83%)

-- 
1.8.3.1

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 3/3] bind: Update to 9.9.5

2014-03-09 Thread Saul Wold
Remove CVE patches that are in bind
Updated COPYRIGHT includes date changes the NetBSD Copyright
Modifies the Base BSD License to 3-Clause (removes advertising clause)w
Add patch to disable running tests on host
bind: Add python-core for dnssec

Signed-off-by: Saul Wold s...@linux.intel.com
---
 .../bind-9.8.1-CVE-2012-5166.patch   |  0
 .../{bind-9.8.1 = bind}/bind-CVE-2011-4313.patch|  0
 .../{bind-9.8.1 = bind}/bind-CVE-2012-1667.patch|  0
 .../{bind-9.8.1 = bind}/bind-CVE-2012-3817.patch|  0
 .../{bind-9.8.1 = bind}/bind-CVE-2013-2266.patch|  0
 .../bind-Fix-CVE-2012-4244.patch |  0
 .../bind/{bind-9.8.1 = bind}/conf.patch |  0
 .../bind/{bind-9.8.1 = bind}/cross-build-fix.patch  |  0
 .../bind/bind/dont-test-on-host.patch| 13 +
 .../make-etc-initd-bind-stop-work.patch  |  0
 .../mips1-not-support-opcode.diff|  0
 .../bind/{bind_9.8.1.bb = bind_9.9.5.bb}| 20 
 12 files changed, 21 insertions(+), 12 deletions(-)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/bind-9.8.1-CVE-2012-5166.patch (100%)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/bind-CVE-2011-4313.patch (100%)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/bind-CVE-2012-1667.patch (100%)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/bind-CVE-2012-3817.patch (100%)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/bind-CVE-2013-2266.patch (100%)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/bind-Fix-CVE-2012-4244.patch (100%)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = bind}/conf.patch (100%)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/cross-build-fix.patch (100%)
 create mode 100644 meta/recipes-connectivity/bind/bind/dont-test-on-host.patch
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/make-etc-initd-bind-stop-work.patch (100%)
 rename meta/recipes-connectivity/bind/{bind-9.8.1 = 
bind}/mips1-not-support-opcode.diff (100%)
 rename meta/recipes-connectivity/bind/{bind_9.8.1.bb = bind_9.9.5.bb} (76%)

diff --git 
a/meta/recipes-connectivity/bind/bind-9.8.1/bind-9.8.1-CVE-2012-5166.patch 
b/meta/recipes-connectivity/bind/bind/bind-9.8.1-CVE-2012-5166.patch
similarity index 100%
rename from 
meta/recipes-connectivity/bind/bind-9.8.1/bind-9.8.1-CVE-2012-5166.patch
rename to meta/recipes-connectivity/bind/bind/bind-9.8.1-CVE-2012-5166.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.8.1/bind-CVE-2011-4313.patch 
b/meta/recipes-connectivity/bind/bind/bind-CVE-2011-4313.patch
similarity index 100%
rename from meta/recipes-connectivity/bind/bind-9.8.1/bind-CVE-2011-4313.patch
rename to meta/recipes-connectivity/bind/bind/bind-CVE-2011-4313.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.8.1/bind-CVE-2012-1667.patch 
b/meta/recipes-connectivity/bind/bind/bind-CVE-2012-1667.patch
similarity index 100%
rename from meta/recipes-connectivity/bind/bind-9.8.1/bind-CVE-2012-1667.patch
rename to meta/recipes-connectivity/bind/bind/bind-CVE-2012-1667.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.8.1/bind-CVE-2012-3817.patch 
b/meta/recipes-connectivity/bind/bind/bind-CVE-2012-3817.patch
similarity index 100%
rename from meta/recipes-connectivity/bind/bind-9.8.1/bind-CVE-2012-3817.patch
rename to meta/recipes-connectivity/bind/bind/bind-CVE-2012-3817.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.8.1/bind-CVE-2013-2266.patch 
b/meta/recipes-connectivity/bind/bind/bind-CVE-2013-2266.patch
similarity index 100%
rename from meta/recipes-connectivity/bind/bind-9.8.1/bind-CVE-2013-2266.patch
rename to meta/recipes-connectivity/bind/bind/bind-CVE-2013-2266.patch
diff --git 
a/meta/recipes-connectivity/bind/bind-9.8.1/bind-Fix-CVE-2012-4244.patch 
b/meta/recipes-connectivity/bind/bind/bind-Fix-CVE-2012-4244.patch
similarity index 100%
rename from 
meta/recipes-connectivity/bind/bind-9.8.1/bind-Fix-CVE-2012-4244.patch
rename to meta/recipes-connectivity/bind/bind/bind-Fix-CVE-2012-4244.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.8.1/conf.patch 
b/meta/recipes-connectivity/bind/bind/conf.patch
similarity index 100%
rename from meta/recipes-connectivity/bind/bind-9.8.1/conf.patch
rename to meta/recipes-connectivity/bind/bind/conf.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.8.1/cross-build-fix.patch 
b/meta/recipes-connectivity/bind/bind/cross-build-fix.patch
similarity index 100%
rename from meta/recipes-connectivity/bind/bind-9.8.1/cross-build-fix.patch
rename to meta/recipes-connectivity/bind/bind/cross-build-fix.patch
diff --git a/meta/recipes-connectivity/bind/bind/dont-test-on-host.patch 
b/meta/recipes-connectivity/bind/bind/dont-test-on-host.patch
new file mode 100644
index 000..8920740
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/dont-test-on-host.patch
@@ -0,0 +1,13 @@
+Index: bind-9.9.5/bin/Makefile.in

[OE-core] [PATCH 1/3] util-linux: Update to 2.24.1

2014-03-09 Thread Saul Wold
rebase native patch to remove sundisklabel as it's deprectated upstream
Update LIC_FILES_CHECKSUM for modified text, no License Changes
remove deprecated elvtune flag
Rebase the fix-configure patch due to change in configure.ac

Signed-off-by: Saul Wold s...@linux.intel.com
---
 meta/recipes-core/util-linux/util-linux.inc|  12 +-
 .../util-linux/util-linux/fix-configure.patch  |  20 +--
 .../util-linux/util-linux/util-linux-native.patch  | 173 +++--
 .../{util-linux_2.23.2.bb = util-linux_2.24.1.bb} |   6 +-
 4 files changed, 37 insertions(+), 174 deletions(-)
 rename meta/recipes-core/util-linux/{util-linux_2.23.2.bb = 
util-linux_2.24.1.bb} (83%)

diff --git a/meta/recipes-core/util-linux/util-linux.inc 
b/meta/recipes-core/util-linux/util-linux.inc
index 4c80bf2..51c982a 100644
--- a/meta/recipes-core/util-linux/util-linux.inc
+++ b/meta/recipes-core/util-linux/util-linux.inc
@@ -7,22 +7,22 @@ SECTION = base
 
 LICENSE = GPLv2+  LGPLv2.1+  BSD
 
-LIC_FILES_CHKSUM = 
file://README.licensing;md5=679af3e410ee112a5ec94de6501bf5c3 \
+LIC_FILES_CHKSUM = 
file://README.licensing;md5=1715f5ee3e01203ca1e1e0b9ee65918c \
 file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
 
file://Documentation/licenses/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263
 \
 
file://Documentation/licenses/COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c
 \
 
file://Documentation/licenses/COPYING.BSD-3;md5=58dcd8452651fc8b07d1f65ce07ca8af
 \
 
file://Documentation/licenses/COPYING.UCB;md5=263860f8968d8bafa5392cab74285262 \
-
file://libuuid/COPYING;md5=aa3ac5b4a5bcb707f714f78794011b80 \
-
file://libmount/COPYING;md5=152f98bc301a5ea649769ede7203ac82 \
-
file://libblkid/COPYING;md5=152f98bc301a5ea649769ede7203ac82
+
file://libuuid/COPYING;md5=b442ffb762cf8d3e9df1b99e0bb4af70 \
+
file://libmount/COPYING;md5=fb93f01d4361069c5616327705373b16 \
+
file://libblkid/COPYING;md5=fb93f01d4361069c5616327705373b16
 
 inherit autotools gettext pkgconfig systemd
 DEPENDS = zlib ncurses
 DEPENDS_append_class-native =  lzo-native
 DEPENDS_append_class-nativesdk =  lzo-native
 
-SRC_URI = 
${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-linux-${PV}.tar.bz2
 \
+SRC_URI = 
${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-linux-${PV}.tar.xz
 \
file://MCONFIG \
file://defines.h \
file://make_include \
@@ -39,7 +39,7 @@ PACKAGES =+ util-linux-agetty util-linux-fdisk 
util-linux-cfdisk util-linux-sfd
  util-linux-partx ${PN}-bash-completion
 
 SHARED_EXTRA_OECONF = --disable-use-tty-group \
-   --disable-makeinstall-chown --enable-elvtune \
+   --disable-makeinstall-chown \
--enable-kill --enable-last --enable-mesg 
--enable-partx \
--enable-raw --enable-reset --disable-login \
--disable-vipw --disable-newgrp --disable-chfn-chsh \
diff --git a/meta/recipes-core/util-linux/util-linux/fix-configure.patch 
b/meta/recipes-core/util-linux/util-linux/fix-configure.patch
index 0ea2318..cefae97 100644
--- a/meta/recipes-core/util-linux/util-linux/fix-configure.patch
+++ b/meta/recipes-core/util-linux/util-linux/fix-configure.patch
@@ -5,16 +5,16 @@ Upstream-Status: Pending
 
 Signed-off-by: Saul Wold s...@linux.intel.com
 
-Index: util-linux-2.22.1/configure.ac
+Index: util-linux-2.24.1/configure.ac
 ===
 util-linux-2.22.1.orig/configure.ac
-+++ util-linux-2.22.1/configure.ac
-@@ -79,7 +79,7 @@ fi
+--- util-linux-2.24.1.orig/configure.ac
 util-linux-2.24.1/configure.ac
+@@ -76,7 +76,7 @@ fi
  AC_SUBST([usrsbin_execdir])
  
- case $libdir in
-- '${exec_prefix}/'* | '${prefix}/'* | /usr/*)
-+ ${exec_prefix}/* | ${prefix}/* | /usr/*)
- usrlib_execdir=$libdir ;;
-  *)
- usrlib_execdir='${exec_prefix}'$libdir ;;
+ AS_CASE([$libdir],
+- ['${exec_prefix}/'* | '${prefix}/'* | /usr/*],
++ [${exec_prefix}/* | ${prefix}/* | /usr/*],
+[usrlib_execdir=$libdir],
+  [usrlib_execdir='${exec_prefix}'$libdir]
+ )
diff --git a/meta/recipes-core/util-linux/util-linux/util-linux-native.patch 
b/meta/recipes-core/util-linux/util-linux/util-linux-native.patch
index e8fcd98..afe543c 100644
--- a/meta/recipes-core/util-linux/util-linux/util-linux-native.patch
+++ b/meta/recipes-core/util-linux/util-linux/util-linux-native.patch
@@ -17,10 +17,11 @@ machines.
 
 Signed-off-by: Mark Hatle mark.ha...@windriver.com
 
-diff -ur util-linux-2.23/configure.ac 
/home/lmhatle/util-linux-2.23-fixed/configure.ac
 util-linux-2.23/configure.ac   2013-05-29 14:44:35.147853585 -0500
-+++ /home/lmhatle/util-linux-2.23-fixed/configure.ac   2013-05-30 
14:56:15.050799650 -0500

[OE-core] [PATCH 2/3] dhcp: Update to 4.3.0

2014-03-09 Thread Saul Wold
Rebase fix-external-bind patch
LICENSE file has date update to 2014

Signed-off-by: Saul Wold s...@linux.intel.com
---
 meta/recipes-connectivity/dhcp/dhcp.inc|   2 +-
 .../dhcp/dhcp/fix-external-bind.patch  | 115 +++--
 .../dhcp/{dhcp_4.2.5-P1.bb = dhcp_4.3.0.bb}   |   6 +-
 3 files changed, 65 insertions(+), 58 deletions(-)
 rename meta/recipes-connectivity/dhcp/{dhcp_4.2.5-P1.bb = dhcp_4.3.0.bb} (65%)

diff --git a/meta/recipes-connectivity/dhcp/dhcp.inc 
b/meta/recipes-connectivity/dhcp/dhcp.inc
index ad82b57..512127c 100644
--- a/meta/recipes-connectivity/dhcp/dhcp.inc
+++ b/meta/recipes-connectivity/dhcp/dhcp.inc
@@ -8,7 +8,7 @@ easier to administer devices.
 HOMEPAGE = http://www.isc.org/;
 
 LICENSE = ISC
-LIC_FILES_CHKSUM = 
file://LICENSE;beginline=4;md5=bb6fd41f5895b67088ebea61ad365e74
+LIC_FILES_CHKSUM = 
file://LICENSE;beginline=4;md5=c5c64d696107f84b56fe337d14da1753
 
 DEPENDS = openssl bind
 
diff --git a/meta/recipes-connectivity/dhcp/dhcp/fix-external-bind.patch 
b/meta/recipes-connectivity/dhcp/dhcp/fix-external-bind.patch
index 4f11655..a291fda 100644
--- a/meta/recipes-connectivity/dhcp/dhcp/fix-external-bind.patch
+++ b/meta/recipes-connectivity/dhcp/dhcp/fix-external-bind.patch
@@ -6,37 +6,39 @@ this patch is to allow building with external bind
 
 Signed-off-by: Qing He qing...@intel.com
 
-diff --git a/Makefile.am b/Makefile.am
-index 928d926..cd17af8 100644
 a/Makefile.am
-+++ b/Makefile.am
-@@ -21,7 +21,7 @@ EXTRA_DIST = RELNOTES LICENSE \
-util/bindvar.sh \
-bind/Makefile bind/bind.tar.gz bind/version.tmp 
+Index: dhcp-4.3.0/Makefile.am
+===
+--- dhcp-4.3.0.orig/Makefile.am
 dhcp-4.3.0/Makefile.am
+@@ -25,7 +25,7 @@ EXTRA_DIST = RELNOTES LICENSE \
+bind/Makefile bind/bind.tar.gz bind/version.tmp \
+common/tests/Atffile server/tests/Atffile
  
 -SUBDIRS = bind includes tests common dst omapip client dhcpctl relay server
 +SUBDIRS = includes tests common dst omapip client dhcpctl relay server
  
  nobase_include_HEADERS = dhcpctl/dhcpctl.h
  
-diff --git a/client/Makefile.am b/client/Makefile.am
-index 77ed055..5a77f2d 100644
 a/client/Makefile.am
-+++ b/client/Makefile.am
-@@ -5,7 +5,7 @@ dhclient_SOURCES = clparse.c dhclient.c dhc6.c \
+Index: dhcp-4.3.0/client/Makefile.am
+===
+--- dhcp-4.3.0.orig/client/Makefile.am
 dhcp-4.3.0/client/Makefile.am
+@@ -4,8 +4,8 @@ dhclient_SOURCES = clparse.c dhclient.c
+  scripts/bsdos scripts/freebsd scripts/linux scripts/macos \
   scripts/netbsd scripts/nextstep scripts/openbsd \
   scripts/solaris scripts/openwrt
- dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
--   ../bind/lib/libdns.a ../bind/lib/libisc.a
-+   $(libbind)/libdns.a $(libbind)/libisc.a
+-dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a 
../bind/lib/libirs.a \
+-   ../bind/lib/libdns.a ../bind/lib/libisccfg.a 
../bind/lib/libisc.a
++dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a $(libbind)/libirs.a 
\
++   $(libbind)/libdns.a $(libbind)/libisccfg.a $(libbind)/libisc.a
  man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
  EXTRA_DIST = $(man_MANS)
  
-diff --git a/configure.ac b/configure.ac
-index ff832aa..60d342c 100644
 a/configure.ac
-+++ b/configure.ac
-@@ -500,6 +500,7 @@ no)
+Index: dhcp-4.3.0/configure.ac
+===
+--- dhcp-4.3.0.orig/configure.ac
 dhcp-4.3.0/configure.ac
+@@ -566,6 +566,7 @@ no)
libbind=$use_libbind
;;
  esac
@@ -44,60 +46,67 @@ index ff832aa..60d342c 100644
  
  # OpenLDAP support.
  AC_ARG_WITH(ldap,
-diff --git a/dhcpctl/Makefile.am b/dhcpctl/Makefile.am
-index 61049be..85aefa3 100644
 a/dhcpctl/Makefile.am
-+++ b/dhcpctl/Makefile.am
-@@ -6,10 +6,10 @@ EXTRA_DIST = $(man_MANS)
+Index: dhcp-4.3.0/dhcpctl/Makefile.am
+===
+--- dhcp-4.3.0.orig/dhcpctl/Makefile.am
 dhcp-4.3.0/dhcpctl/Makefile.am
+@@ -6,12 +6,12 @@ EXTRA_DIST = $(man_MANS)
  
  omshell_SOURCES = omshell.c
  omshell_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
--  ../bind/lib/libdns.a ../bind/lib/libisc.a
-+  $(libbind)/libdns.a $(libbind)/libisc.a
+-  ../bind/lib/libirs.a ../bind/lib/libdns.a \
+-  ../bind/lib/libisccfg.a ../bind/lib/libisc.a
++  $(libbind)/libirs.a $(libbind)/libdns.a \
++  $(libbind)/libisccfg.a $(libbind)/libisc.a
  
  libdhcpctl_a_SOURCES = dhcpctl.c callback.c remote.c
  
  cltest_SOURCES = cltest.c
  cltest_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
-- ../bind/lib/libdns.a ../bind/lib/libisc.a
-\ No newline