[OE-core] [PATCH] kernel.bbclass: Allow INITRAMFS_TASK to trigger copy initramfs code

2013-09-27 Thread Jason Wessel
Activating the INITRAMFS_TASK can cause circular dependencies, but
that is up to the end user to resolve in recipes.  The INITRAMFS_TASK
should also trigger immediate linking of the cpio task in the first
compile pass.  This was a subtle regression introduced by: 609d5a9ab
(kernel.bbclass, image.bbclass: Implement kernel INITRAMFS dependency
and bundling).

This patch restores the previous behavior and only affects the
INITRAMFS_TASK which is not set by any of the default build profiles
in oe-core.

Signed-off-by: Jason Wessel jason.wes...@windriver.com
---
 meta/classes/kernel.bbclass |6 ++
 1 file changed, 6 insertions(+)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 8cf66ce..73c525f 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -156,6 +156,12 @@ kernel_do_compile() {
# different initramfs image.  The way to do that in the kernel
# is to specify:
# make ...args... CONFIG_INITRAMFS_SOURCE=some_other_initramfs.cpio
+   if [ $use_alternate_initrd =  ]  [ ${INITRAMFS_TASK} !=  ] ; 
then
+   # The old style way of copying an prebuilt image and building it
+   # is turned on via INTIRAMFS_TASK != 
+   copy_initramfs
+   
use_alternate_initrd=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE}-${MACHINE}.cpio
+   fi
oe_runmake ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_ALT_IMAGETYPE} 
CC=${KERNEL_CC} LD=${KERNEL_LD} ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
if test ${KERNEL_IMAGETYPE_FOR_MAKE}.gz = ${KERNEL_IMAGETYPE}; then
gzip -9c  ${KERNEL_IMAGETYPE_FOR_MAKE}  ${KERNEL_OUTPUT}
-- 
1.7.9.5

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


Re: [OE-core] [PATCH] kernel.bbclass: Allow INITRAMFS_TASK to trigger copy initramfs code

2013-09-27 Thread Andrea Adami
Jason,

there is one more problem here:

| DEBUG: Executing shell function do_compile
| Copying initramfs into ./usr ...
| cp: cannot create regular file
'/oe/oe-core/build/tmp-eglibc/work/poodle-oe-linux-gnueabi/linux-yocto-tiny-kexecboot/3.10.11+gitAUTOINC+dad2b7e1ce_e1aa804148-r0/linux-poodle-tiny-build/usr/.':
No such file or directory

I'm solving it this way:

copy_initramfs() {
echo Covpying initramfs into ./usr ...
+mkdir -p ${B}/usr
# Find and use the first initramfs image archive type we find


Please take care of this.
Thanks

Andrea




On Fri, Sep 27, 2013 at 6:23 PM, Jason Wessel
jason.wes...@windriver.com wrote:
 Activating the INITRAMFS_TASK can cause circular dependencies, but
 that is up to the end user to resolve in recipes.  The INITRAMFS_TASK
 should also trigger immediate linking of the cpio task in the first
 compile pass.  This was a subtle regression introduced by: 609d5a9ab
 (kernel.bbclass, image.bbclass: Implement kernel INITRAMFS dependency
 and bundling).

 This patch restores the previous behavior and only affects the
 INITRAMFS_TASK which is not set by any of the default build profiles
 in oe-core.

 Signed-off-by: Jason Wessel jason.wes...@windriver.com
 ---
  meta/classes/kernel.bbclass |6 ++
  1 file changed, 6 insertions(+)

 diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
 index 8cf66ce..73c525f 100644
 --- a/meta/classes/kernel.bbclass
 +++ b/meta/classes/kernel.bbclass
 @@ -156,6 +156,12 @@ kernel_do_compile() {
 # different initramfs image.  The way to do that in the kernel
 # is to specify:
 # make ...args... CONFIG_INITRAMFS_SOURCE=some_other_initramfs.cpio
 +   if [ $use_alternate_initrd =  ]  [ ${INITRAMFS_TASK} !=  ] 
 ; then
 +   # The old style way of copying an prebuilt image and building 
 it
 +   # is turned on via INTIRAMFS_TASK != 
 +   copy_initramfs
 +   
 use_alternate_initrd=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE}-${MACHINE}.cpio
 +   fi
 oe_runmake ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_ALT_IMAGETYPE} 
 CC=${KERNEL_CC} LD=${KERNEL_LD} ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
 if test ${KERNEL_IMAGETYPE_FOR_MAKE}.gz = ${KERNEL_IMAGETYPE}; 
 then
 gzip -9c  ${KERNEL_IMAGETYPE_FOR_MAKE}  ${KERNEL_OUTPUT}
 --
 1.7.9.5

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


Re: [OE-core] [PATCH] kernel.bbclass: Allow INITRAMFS_TASK to trigger copy initramfs code

2013-09-27 Thread Jason Wessel
On 09/27/2013 04:06 PM, Andrea Adami wrote:
 | DEBUG: Executing shell function do_compile
 | Copying initramfs into ./usr ...
 | cp: cannot create regular file
 '/oe/oe-core/build/tmp-eglibc/work/poodle-oe-linux-gnueabi/linux-yocto-tiny-kexecboot/3.10.11+gitAUTOINC+dad2b7e1ce_e1aa804148-r0/linux-poodle-tiny-build/usr/.':


I suppose that one makes sense given that the compile directory might not 
exist.  My testing did not show this problem because my working env was dirty.

Thanks for the report, your fix is perfectly fine.  I'll send a v2.

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