On Thu, Nov 8, 2018 at 3:25 PM Andrea Adami <andrea.ad...@gmail.com> wrote: > > On Thu, Nov 8, 2018 at 2:25 PM Nathan Rossi <nat...@nathanrossi.com> wrote: > > > > On Wed, 7 Nov 2018 at 23:21, Andrea Adami <andrea.ad...@gmail.com> wrote: > > > > > > On Wed, Nov 7, 2018 at 1:16 PM Nathan Rossi <nat...@nathanrossi.com> > > > wrote: > > > > > > > > This change moves the initramfs bundling functions and tasks into a > > > > separate class called 'kernel-initramfs'. The change also converts the > > > > copy_initramfs into a task that itself depends on the do_image_complete > > > > of the initramfs image. Making this change allows for the do_initramfs_* > > > > tasks to be conditionally added instead of relying on the task checking > > > > the variables, with the exception of do_deploy(_append). > > > > > > > > The 'use_alternate_initrd' of kernel_do_compile is replaced with a > > > > general use 'extra_make' variable. And the INITRAMFS_TASK functionality > > > > of kernel_do_compile is removed. > > > > > > > > The 'KERNEL_CLASSES' inherit is moved to after the EXPORT_FUNCTIONS > > > > do_deploy in order to allow these classes to append to the do_deploy > > > > task without breaking the do_deploy task itself. > > > > > > > > The functionality for INITRAMFS_TASK remained for backwards > > > > compatibility when the bundle changes were introduced. The bundle > > > > functionality has been available for a number of releases since, as such > > > > this change does not carry forward the functionality of INITRAMFS_TASK. > > > > The information regarding INITRAMFS_TASK issues for is kept along with > > > > the generation of a bb.fatal when a user attempts to use it. > > > > > > > > Signed-off-by: Nathan Rossi <nat...@nathanrossi.com> > > > > > > Hi Nathan, > > > > > > thanks for your efforts, clearly cleaning is needed wrt the bunling. > > > > > > As for the results of this work, I fear it will break the existent (10 > > > yrs) infrastructure. > > > A brief recap: we want to build a non-yocto kernel bundled with our > > > initramfs image, this in a single kernel recipe. > > > > > > http://cgit.openembedded.org/meta-handheld/tree/recipes-kernel/linux/linux-kexecboot_4.4.bb > > > > > > In the years I have adjusted the recipe which is today needing both > > > > > > INITRAMFS_IMAGE = "initramfs-kexecboot-klibc-image" > > > INITRAMFS_TASK = "${INITRAMFS_IMAGE}:do_image_complete" > > > > > > I will test your patch and include the new kernel-initramfs.bbclass. > > > The point is that I don't want/need the NITRAMFS_IMAGE_BUNDLE for th > > > emain kernel, just for thi ssecond kernel provided by the a.m. recipe. > > > I have to check again but this var has to be set upper in local.conf, > > > not in the recipe afaik. > > > > My understanding is that since image.bbclass no longer has any task > > dependence on the initramfs bundling you should be able to mark > > INITRAMFS_IMAGE_BUNDLE in your second kernel recipe and it will > > achieve a similar result. I did test this with a single kernel recipe, > > which resulted in correct kernel+image build and deploying. If you > > have issues with it behaving as desired then I can look into and see > > if it is possible to solve all bundling use cases with the one > > implementation similar to this change. > > > > The dependence on the kernel's bundling tasks was removed here: > > http://git.openembedded.org/openembedded-core/commit/?id=eca501aeb4f2cc9255fabab14c68f6910367aaf9 > > > > Other than the task dependencies that were in image I could find no > > evidence that INITRAMFS_IMAGE_BUNDLE was explicitly required in a > > .conf apart from the comment in local.conf.extended > > (http://git.openembedded.org/openembedded-core/tree/meta/conf/local.conf.sample.extended#n350). > > > > Regards, > > Nathan > > > > Hello, > > so I applied both patches and had to comment out (as expected) the > INITRAMFS_TASK. > I have added INITRAMFS_IMAGE_BUNDLE in my 2nd kernel recipe but last > night build did fail: the initramfs.cpio.xz was not found. > > I did only scrub the last lines... will debug later. >
Ok, so the problem is copy_initramfs() is done too late and do_compile fails | /tmp/build/tmp-musl/work-shared/spitz/kernel-source/scripts/gen_initramfs_list.sh: Cannot open 'initramfs.cpio.xz' | /tmp/build/tmp-musl/work-shared/spitz/kernel-source/usr/Makefile:73: recipe for target 'usr/initramfs_data.cpio.xz' failed do_compile log before 1 DEBUG: Executing shell function do_compile 2 Copying initramfs into ./usr ... 3 gzip decompressing image 4 Finished copy of initramfs into ./usr 5 NOTE: make -j ... do_compile with patch applied (build fails): 1 DEBUG: Executing shell function do_compile 2 NOTE: make -j ... Please check again the task order. Thanks. Cheers Andrea > > > > > > > Let me pls check this before (n)acking it... > > > > > > Cheers > > > Andrea > > > > > > > --- > > > > meta/classes/kernel-initramfs.bbclass | 114 +++++++++++++++++++++++++ > > > > meta/classes/kernel.bbclass | 155 > > > > +++++----------------------------- > > > > 2 files changed, 133 insertions(+), 136 deletions(-) > > > > create mode 100644 meta/classes/kernel-initramfs.bbclass > > > > > > > > diff --git a/meta/classes/kernel-initramfs.bbclass > > > > b/meta/classes/kernel-initramfs.bbclass > > > > new file mode 100644 > > > > index 0000000000..b23fb51495 > > > > --- /dev/null > > > > +++ b/meta/classes/kernel-initramfs.bbclass > > > > @@ -0,0 +1,114 @@ > > > > + > > > > +INITRAMFS_IMAGE ?= "" > > > > +INITRAMFS_IMAGE_NAME ?= "${@'${INITRAMFS_IMAGE}-${MACHINE}' if > > > > d.getVar('INITRAMFS_IMAGE') else ''}" > > > > +INITRAMFS_IMAGE_BUNDLE ?= "" > > > > + > > > > +python __anonymous () { > > > > + # NOTE: setting INITRAMFS_TASK was for backward compatibility > > > > + # The preferred method is to set INITRAMFS_IMAGE, because > > > > + # this INITRAMFS_TASK has circular dependency problems > > > > + # if the initramfs requires kernel modules > > > > + if d.getVar('INITRAMFS_TASK'): > > > > + bb.fatal("The INITRAMFS_TASK variable is no longer supported. > > > > Use INITRAMFS_IMAGE and INITRAMFS_IMAGE_BUNDLE.") > > > > + > > > > + image = d.getVar("INITRAMFS_IMAGE") > > > > + bundle = oe.types.boolean(d.getVar("INITRAMFS_IMAGE_BUNDLE") or > > > > "0") > > > > + if image and bundle: > > > > + # add all the tasks > > > > + bb.build.addtask('do_initramfs_copy', 'do_initramfs_bundle', > > > > 'do_install', d) > > > > + bb.build.addtask('do_initramfs_bundle', 'do_deploy', > > > > 'do_initramfs_copy', d) > > > > + > > > > + # make the do_initramfs_copy task depend on the image > > > > do_image_complete task > > > > + d.appendVarFlag('do_initramfs_copy', 'depends', ' > > > > ${INITRAMFS_IMAGE}:do_image_complete') > > > > +} > > > > + > > > > +do_initramfs_copy[dirs] = "${B}" > > > > +do_initramfs_copy () { > > > > + echo "Copying initramfs into ./usr ..." > > > > + # In case the directory is not created yet from the first pass > > > > compile: > > > > + mkdir -p ${B}/usr > > > > + # Find and use the first initramfs image archive type we find > > > > + rm -f ${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio > > > > + for img in cpio cpio.gz cpio.lz4 cpio.lzo cpio.lzma cpio.xz; do > > > > + if [ -e "${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.$img" ]; > > > > then > > > > + cp ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.$img > > > > ${B}/usr/. > > > > + case $img in > > > > + *gz) > > > > + echo "gzip decompressing image" > > > > + gunzip -f ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img > > > > + break > > > > + ;; > > > > + *lz4) > > > > + echo "lz4 decompressing image" > > > > + lz4 -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img > > > > + break > > > > + ;; > > > > + *lzo) > > > > + echo "lzo decompressing image" > > > > + lzop -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img > > > > + break > > > > + ;; > > > > + *lzma) > > > > + echo "lzma decompressing image" > > > > + lzma -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img > > > > + break > > > > + ;; > > > > + *xz) > > > > + echo "xz decompressing image" > > > > + xz -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img > > > > + break > > > > + ;; > > > > + esac > > > > + fi > > > > + done > > > > + if [ ! -e ${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio ]; then > > > > + bbfatal "Failed to copy initramfs cpio for image > > > > ${INITRAMFS_IMAGE_NAME}" > > > > + fi > > > > + echo "Finished copy of initramfs into ./usr" > > > > +} > > > > + > > > > +do_initramfs_bundle[dirs] = "${B}" > > > > +do_initramfs_bundle () { > > > > + echo "Creating a kernel image with a bundled initramfs..." > > > > + # Backing up kernel image relies on its type(regular file or > > > > symbolic link) > > > > + tmp_path="" > > > > + for imageType in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do > > > > + if [ -h ${KERNEL_OUTPUT_DIR}/$imageType ] ; then > > > > + linkpath=`readlink -n ${KERNEL_OUTPUT_DIR}/$imageType` > > > > + realpath=`readlink -fn ${KERNEL_OUTPUT_DIR}/$imageType` > > > > + mv -f $realpath $realpath.bak > > > > + tmp_path=$tmp_path" "$imageType"#"$linkpath"#"$realpath > > > > + elif [ -f ${KERNEL_OUTPUT_DIR}/$imageType ]; then > > > > + mv -f ${KERNEL_OUTPUT_DIR}/$imageType > > > > ${KERNEL_OUTPUT_DIR}/$imageType.bak > > > > + tmp_path=$tmp_path" "$imageType"##" > > > > + fi > > > > + done > > > > + > > > > extra_make=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio > > > > + kernel_do_compile > > > > + # Restoring kernel image > > > > + for tp in $tmp_path ; do > > > > + imageType=`echo $tp|cut -d "#" -f 1` > > > > + linkpath=`echo $tp|cut -d "#" -f 2` > > > > + realpath=`echo $tp|cut -d "#" -f 3` > > > > + if [ -n "$realpath" ]; then > > > > + mv -f $realpath $realpath.initramfs > > > > + mv -f $realpath.bak $realpath > > > > + ln -sf $linkpath.initramfs > > > > ${B}/${KERNEL_OUTPUT_DIR}/$imageType.initramfs > > > > + else > > > > + mv -f ${KERNEL_OUTPUT_DIR}/$imageType > > > > ${KERNEL_OUTPUT_DIR}/$imageType.initramfs > > > > + mv -f ${KERNEL_OUTPUT_DIR}/$imageType.bak > > > > ${KERNEL_OUTPUT_DIR}/$imageType > > > > + fi > > > > + done > > > > +} > > > > + > > > > +do_deploy_append () { > > > > + if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" = > > > > x1 ]; then > > > > + for imageType in ${KERNEL_IMAGETYPES} ; do > > > > + initramfs_base_name=${imageType}-${INITRAMFS_NAME} > > > > + initramfs_symlink_name=${imageType}-${INITRAMFS_LINK_NAME} > > > > + install -m 0644 > > > > ${KERNEL_OUTPUT_DIR}/${imageType}.initramfs > > > > $deployDir/${initramfs_base_name}.bin > > > > + ln -sf ${initramfs_base_name}.bin > > > > $deployDir/${initramfs_symlink_name}.bin > > > > + done > > > > + fi > > > > +} > > > > + > > > > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass > > > > index e04d2fe004..c0e9452ca6 100644 > > > > --- a/meta/classes/kernel.bbclass > > > > +++ b/meta/classes/kernel.bbclass > > > > @@ -20,10 +20,6 @@ OE_TERMINAL_EXPORTS += "KBUILD_OUTPUT" > > > > INHIBIT_DEFAULT_DEPS = "1" > > > > > > > > KERNEL_IMAGETYPE ?= "zImage" > > > > -INITRAMFS_IMAGE ?= "" > > > > -INITRAMFS_IMAGE_NAME ?= "${@['${INITRAMFS_IMAGE}-${MACHINE}', > > > > ''][d.getVar('INITRAMFS_IMAGE') == '']}" > > > > -INITRAMFS_TASK ?= "" > > > > -INITRAMFS_IMAGE_BUNDLE ?= "" > > > > > > > > # KERNEL_VERSION is extracted from source code. It is evaluated as > > > > # None for the first parsing, since the code has not been fetched. > > > > @@ -93,37 +89,8 @@ python __anonymous () { > > > > d.appendVar('RDEPENDS_%s-image' % kname, ' %s-image-%s' % > > > > (kname, typelower)) > > > > d.setVar('PKG_%s-image-%s' % (kname,typelower), > > > > '%s-image-%s-${KERNEL_VERSION_PKG_NAME}' % (kname, typelower)) > > > > d.setVar('ALLOW_EMPTY_%s-image-%s' % (kname, typelower), '1') > > > > - > > > > - image = d.getVar('INITRAMFS_IMAGE') > > > > - if image: > > > > - d.appendVarFlag('do_bundle_initramfs', 'depends', ' > > > > ${INITRAMFS_IMAGE}:do_image_complete') > > > > - > > > > - # NOTE: setting INITRAMFS_TASK is for backward compatibility > > > > - # The preferred method is to set INITRAMFS_IMAGE, because > > > > - # this INITRAMFS_TASK has circular dependency problems > > > > - # if the initramfs requires kernel modules > > > > - image_task = d.getVar('INITRAMFS_TASK') > > > > - if image_task: > > > > - d.appendVarFlag('do_configure', 'depends', ' > > > > ${INITRAMFS_TASK}') > > > > } > > > > > > > > -# Here we pull in all various kernel image types which we support. > > > > -# > > > > -# In case you're wondering why kernel.bbclass inherits the other image > > > > -# types instead of the other way around, the reason for that is to > > > > -# maintain compatibility with various currently existing meta-layers. > > > > -# By pulling in the various kernel image types here, we retain the > > > > -# original behavior of kernel.bbclass, so no meta-layers should get > > > > -# broken. > > > > -# > > > > -# KERNEL_CLASSES by default pulls in kernel-uimage.bbclass, since this > > > > -# used to be the default behavior when only uImage was supported. This > > > > -# variable can be appended by users who implement support for new > > > > kernel > > > > -# image types. > > > > - > > > > -KERNEL_CLASSES ?= " kernel-uimage " > > > > -inherit ${KERNEL_CLASSES} > > > > - > > > > # Old style kernels may set ${S} = ${WORKDIR}/git for example > > > > # We need to move these over to STAGING_KERNEL_DIR. We can't just > > > > # create the symlink in advance as the git fetcher can't cope with > > > > @@ -188,90 +155,10 @@ KERNEL_EXTRA_ARGS ?= "" > > > > EXTRA_OEMAKE = " HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" > > > > HOSTCPP="${BUILD_CPP}"" > > > > KERNEL_ALT_IMAGETYPE ??= "" > > > > > > > > -copy_initramfs() { > > > > - echo "Copying initramfs into ./usr ..." > > > > - # In case the directory is not created yet from the first pass > > > > compile: > > > > - mkdir -p ${B}/usr > > > > - # Find and use the first initramfs image archive type we find > > > > - rm -f ${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio > > > > - for img in cpio cpio.gz cpio.lz4 cpio.lzo cpio.lzma cpio.xz; do > > > > - if [ -e > > > > "${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.$img" ]; then > > > > - cp > > > > ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.$img ${B}/usr/. > > > > - case $img in > > > > - *gz) > > > > - echo "gzip decompressing image" > > > > - gunzip -f > > > > ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img > > > > - break > > > > - ;; > > > > - *lz4) > > > > - echo "lz4 decompressing image" > > > > - lz4 -df > > > > ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img > > > > - break > > > > - ;; > > > > - *lzo) > > > > - echo "lzo decompressing image" > > > > - lzop -df > > > > ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img > > > > - break > > > > - ;; > > > > - *lzma) > > > > - echo "lzma decompressing image" > > > > - lzma -df > > > > ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img > > > > - break > > > > - ;; > > > > - *xz) > > > > - echo "xz decompressing image" > > > > - xz -df > > > > ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img > > > > - break > > > > - ;; > > > > - esac > > > > - fi > > > > - done > > > > - echo "Finished copy of initramfs into ./usr" > > > > -} > > > > - > > > > -do_bundle_initramfs () { > > > > - if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" > > > > = x1 ]; then > > > > - echo "Creating a kernel image with a bundled > > > > initramfs..." > > > > - copy_initramfs > > > > - # Backing up kernel image relies on its type(regular > > > > file or symbolic link) > > > > - tmp_path="" > > > > - for imageType in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do > > > > - if [ -h ${KERNEL_OUTPUT_DIR}/$imageType ] ; then > > > > - linkpath=`readlink -n > > > > ${KERNEL_OUTPUT_DIR}/$imageType` > > > > - realpath=`readlink -fn > > > > ${KERNEL_OUTPUT_DIR}/$imageType` > > > > - mv -f $realpath $realpath.bak > > > > - tmp_path=$tmp_path" > > > > "$imageType"#"$linkpath"#"$realpath > > > > - elif [ -f ${KERNEL_OUTPUT_DIR}/$imageType ]; > > > > then > > > > - mv -f ${KERNEL_OUTPUT_DIR}/$imageType > > > > ${KERNEL_OUTPUT_DIR}/$imageType.bak > > > > - tmp_path=$tmp_path" "$imageType"##" > > > > - fi > > > > - done > > > > - > > > > use_alternate_initrd=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio > > > > - kernel_do_compile > > > > - # Restoring kernel image > > > > - for tp in $tmp_path ; do > > > > - imageType=`echo $tp|cut -d "#" -f 1` > > > > - linkpath=`echo $tp|cut -d "#" -f 2` > > > > - realpath=`echo $tp|cut -d "#" -f 3` > > > > - if [ -n "$realpath" ]; then > > > > - mv -f $realpath $realpath.initramfs > > > > - mv -f $realpath.bak $realpath > > > > - ln -sf $linkpath.initramfs > > > > ${B}/${KERNEL_OUTPUT_DIR}/$imageType.initramfs > > > > - else > > > > - mv -f ${KERNEL_OUTPUT_DIR}/$imageType > > > > ${KERNEL_OUTPUT_DIR}/$imageType.initramfs > > > > - mv -f > > > > ${KERNEL_OUTPUT_DIR}/$imageType.bak ${KERNEL_OUTPUT_DIR}/$imageType > > > > - fi > > > > - done > > > > - fi > > > > -} > > > > -do_bundle_initramfs[dirs] = "${B}" > > > > - > > > > python do_devshell_prepend () { > > > > os.environ["LDFLAGS"] = '' > > > > } > > > > > > > > -addtask bundle_initramfs after do_install before do_deploy > > > > - > > > > get_cc_option () { > > > > # Check if KERNEL_CC supports the option > > > > "file-prefix-map". > > > > # This option allows us to build images with __FILE__ > > > > values that do not > > > > @@ -302,22 +189,10 @@ kernel_do_compile() { > > > > export KCONFIG_NOTIMESTAMP=1 > > > > bbnote "KBUILD_BUILD_TIMESTAMP: $ts" > > > > fi > > > > - # The $use_alternate_initrd is only set from > > > > - # do_bundle_initramfs() This variable is specifically for the > > > > - # case where we are making a second pass at the kernel > > > > - # compilation and we want to force the kernel build to use a > > > > - # 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_NAME}.cpio > > > > - fi > > > > cc_extra=$(get_cc_option) > > > > + # extra_make is set via users of kernel_do_compile like > > > > do_initramfs_bundle > > > > for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do > > > > - oe_runmake ${typeformake} CC="${KERNEL_CC} $cc_extra " > > > > LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd > > > > + oe_runmake ${typeformake} CC="${KERNEL_CC} $cc_extra " > > > > LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $extra_make > > > > done > > > > # vmlinux.gz is not built by kernel > > > > if (echo "${KERNEL_IMAGETYPES}" | grep -wq "vmlinux\.gz"); then > > > > @@ -679,15 +554,6 @@ kernel_do_deploy() { > > > > tar -cvzf $deployDir/modules-${MODULE_TARBALL_NAME}.tgz > > > > -C ${D}${root_prefix} lib > > > > ln -sf modules-${MODULE_TARBALL_NAME}.tgz > > > > $deployDir/modules-${MODULE_TARBALL_LINK_NAME}.tgz > > > > fi > > > > - > > > > - if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" > > > > = x1 ]; then > > > > - for imageType in ${KERNEL_IMAGETYPES} ; do > > > > - > > > > initramfs_base_name=${imageType}-${INITRAMFS_NAME} > > > > - > > > > initramfs_symlink_name=${imageType}-${INITRAMFS_LINK_NAME} > > > > - install -m 0644 > > > > ${KERNEL_OUTPUT_DIR}/${imageType}.initramfs > > > > $deployDir/${initramfs_base_name}.bin > > > > - ln -sf ${initramfs_base_name}.bin > > > > $deployDir/${initramfs_symlink_name}.bin > > > > - done > > > > - fi > > > > } > > > > do_deploy[cleandirs] = "${DEPLOYDIR}" > > > > do_deploy[dirs] = "${DEPLOYDIR} ${B}" > > > > @@ -697,5 +563,22 @@ addtask deploy after do_populate_sysroot > > > > do_packagedata > > > > > > > > EXPORT_FUNCTIONS do_deploy > > > > > > > > +# Here we pull in all various kernel image types which we support. > > > > +# > > > > +# In case you're wondering why kernel.bbclass inherits the other image > > > > +# types instead of the other way around, the reason for that is to > > > > +# maintain compatibility with various currently existing meta-layers. > > > > +# By pulling in the various kernel image types here, we retain the > > > > +# original behavior of kernel.bbclass, so no meta-layers should get > > > > +# broken. > > > > +# > > > > +# KERNEL_CLASSES by default pulls in kernel-uimage.bbclass, since this > > > > +# used to be the default behavior when only uImage was supported. This > > > > +# variable can be appended by users who implement support for new > > > > kernel > > > > +# image types. > > > > + > > > > +KERNEL_CLASSES ?= " kernel-uimage kernel-initramfs " > > > > +inherit ${KERNEL_CLASSES} > > > > + > > > > # Add using Device Tree support > > > > inherit kernel-devicetree > > > > --- > > > > 2.19.1 > > > > -- > > > > _______________________________________________ > > > > 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