Re: [OE-core] [PATCH 1/3] recipes-bsp: Add gummiboot and gnu-efi recipes
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
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 '+='
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
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
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
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
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
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
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
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
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
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
(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
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
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
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
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
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
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
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
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