[meta-virtualization] [PATCH] linux-yocto: make bbappend have effect conditionally

Bruce Ashfield bruce.ashfield at gmail.com
Fri Sep 22 05:13:22 PDT 2017


On Fri, Sep 22, 2017 at 4:26 AM, Chen Qi <Qi.Chen at windriver.com> wrote:

> Make these bbappend files to take effect only when DISTRO_FEATURES
> contain 'virtualization'. Otherwise, we would meet failure failure
> at system booting up qemux86. Related logs are as below.
>
>  systemd-modules-load[113]: Failed to insert 'kvm_amd': Operation not
> supported
>  systemd-modules-load[113]: Failed to insert 'kvm_intel': Operation not
> supported
>
> Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
> ---
>  recipes-kernel/linux/linux-yocto_4.10.bbappend      | 21
> +--------------------
>  recipes-kernel/linux/linux-yocto_4.12.bbappend      | 21
> +--------------------
>  recipes-kernel/linux/linux-yocto_4.4.bbappend       | 21
> +--------------------
>  recipes-kernel/linux/linux-yocto_4.9.bbappend       | 21
> +--------------------
>  recipes-kernel/linux/linux-yocto_virtualization.inc | 20
> ++++++++++++++++++++
>  5 files changed, 24 insertions(+), 80 deletions(-)
>  create mode 100644 recipes-kernel/linux/linux-yocto_virtualization.inc
>
> diff --git a/recipes-kernel/linux/linux-yocto_4.10.bbappend
> b/recipes-kernel/linux/linux-yocto_4.10.bbappend
> index f163fdf..617cacc 100644
> --- a/recipes-kernel/linux/linux-yocto_4.10.bbappend
> +++ b/recipes-kernel/linux/linux-yocto_4.10.bbappend
> @@ -1,20 +1 @@
> -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
> -
> -SRC_URI += "file://xt-checksum.scc \
> -            file://ebtables.scc \
> -           file://vswitch.scc \
> -           file://lxc.scc \
> -            file://docker.scc \
> -           "
> -KERNEL_FEATURES_append = " features/kvm/qemu-kvm-enable.scc"
> -
> -KERNEL_MODULE_AUTOLOAD += "openvswitch"
> -KERNEL_MODULE_AUTOLOAD += "kvm"
> -KERNEL_MODULE_AUTOLOAD += "kvm-amd"
> -KERNEL_MODULE_AUTOLOAD += "kvm-intel"
> -
> -# aufs kernel support required for xen-image-minimal
> -KERNEL_FEATURES_append += "${@bb.utils.contains('DISTRO_FEATURES',
> 'aufs', ' features/aufs/aufs-enable.scc', '', d)}"
> -
> -# xen kernel support
> -SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', '
> file://xen.scc', '', d)}"
> +require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization',
> '${BPN}_virtualization.inc', '', d)}
> diff --git a/recipes-kernel/linux/linux-yocto_4.12.bbappend
> b/recipes-kernel/linux/linux-yocto_4.12.bbappend
> index f163fdf..617cacc 100644
> --- a/recipes-kernel/linux/linux-yocto_4.12.bbappend
> +++ b/recipes-kernel/linux/linux-yocto_4.12.bbappend
> @@ -1,20 +1 @@
> -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
> -
> -SRC_URI += "file://xt-checksum.scc \
> -            file://ebtables.scc \
> -           file://vswitch.scc \
> -           file://lxc.scc \
> -            file://docker.scc \
> -           "
> -KERNEL_FEATURES_append = " features/kvm/qemu-kvm-enable.scc"
> -
> -KERNEL_MODULE_AUTOLOAD += "openvswitch"
> -KERNEL_MODULE_AUTOLOAD += "kvm"
> -KERNEL_MODULE_AUTOLOAD += "kvm-amd"
> -KERNEL_MODULE_AUTOLOAD += "kvm-intel"
> -
> -# aufs kernel support required for xen-image-minimal
> -KERNEL_FEATURES_append += "${@bb.utils.contains('DISTRO_FEATURES',
> 'aufs', ' features/aufs/aufs-enable.scc', '', d)}"
> -
> -# xen kernel support
> -SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', '
> file://xen.scc', '', d)}"
> +require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization',
> '${BPN}_virtualization.inc', '', d)}
> diff --git a/recipes-kernel/linux/linux-yocto_4.4.bbappend
> b/recipes-kernel/linux/linux-yocto_4.4.bbappend
> index f163fdf..617cacc 100644
> --- a/recipes-kernel/linux/linux-yocto_4.4.bbappend
> +++ b/recipes-kernel/linux/linux-yocto_4.4.bbappend
> @@ -1,20 +1 @@
> -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
> -
> -SRC_URI += "file://xt-checksum.scc \
> -            file://ebtables.scc \
> -           file://vswitch.scc \
> -           file://lxc.scc \
> -            file://docker.scc \
> -           "
> -KERNEL_FEATURES_append = " features/kvm/qemu-kvm-enable.scc"
> -
> -KERNEL_MODULE_AUTOLOAD += "openvswitch"
> -KERNEL_MODULE_AUTOLOAD += "kvm"
> -KERNEL_MODULE_AUTOLOAD += "kvm-amd"
> -KERNEL_MODULE_AUTOLOAD += "kvm-intel"
> -
> -# aufs kernel support required for xen-image-minimal
> -KERNEL_FEATURES_append += "${@bb.utils.contains('DISTRO_FEATURES',
> 'aufs', ' features/aufs/aufs-enable.scc', '', d)}"
> -
> -# xen kernel support
> -SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', '
> file://xen.scc', '', d)}"
> +require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization',
> '${BPN}_virtualization.inc', '', d)}
> diff --git a/recipes-kernel/linux/linux-yocto_4.9.bbappend
> b/recipes-kernel/linux/linux-yocto_4.9.bbappend
> index f163fdf..617cacc 100644
> --- a/recipes-kernel/linux/linux-yocto_4.9.bbappend
> +++ b/recipes-kernel/linux/linux-yocto_4.9.bbappend
> @@ -1,20 +1 @@
> -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
> -
> -SRC_URI += "file://xt-checksum.scc \
> -            file://ebtables.scc \
> -           file://vswitch.scc \
> -           file://lxc.scc \
> -            file://docker.scc \
> -           "
> -KERNEL_FEATURES_append = " features/kvm/qemu-kvm-enable.scc"
> -
> -KERNEL_MODULE_AUTOLOAD += "openvswitch"
> -KERNEL_MODULE_AUTOLOAD += "kvm"
> -KERNEL_MODULE_AUTOLOAD += "kvm-amd"
> -KERNEL_MODULE_AUTOLOAD += "kvm-intel"
> -
> -# aufs kernel support required for xen-image-minimal
> -KERNEL_FEATURES_append += "${@bb.utils.contains('DISTRO_FEATURES',
> 'aufs', ' features/aufs/aufs-enable.scc', '', d)}"
> -
> -# xen kernel support
> -SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', '
> file://xen.scc', '', d)}"
> +require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization',
> '${BPN}_virtualization.inc', '', d)}
>

But now you've just made up a random distro flag that no one uses and will
impact every existing build of meta-virtualization.

so no, I won't merge this just to fix a boot with a qemu machine. There must
be a better solution. i.e. make a flag opt-out of using the loads, and
throw a
warning and we can transition to something like you have above over time.

Bruce


> diff --git a/recipes-kernel/linux/linux-yocto_virtualization.inc
> b/recipes-kernel/linux/linux-yocto_virtualization.inc
> new file mode 100644
> index 0000000..f163fdf
> --- /dev/null
> +++ b/recipes-kernel/linux/linux-yocto_virtualization.inc
> @@ -0,0 +1,20 @@
> +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
> +
> +SRC_URI += "file://xt-checksum.scc \
> +            file://ebtables.scc \
> +           file://vswitch.scc \
> +           file://lxc.scc \
> +            file://docker.scc \
> +           "
> +KERNEL_FEATURES_append = " features/kvm/qemu-kvm-enable.scc"
> +
> +KERNEL_MODULE_AUTOLOAD += "openvswitch"
> +KERNEL_MODULE_AUTOLOAD += "kvm"
> +KERNEL_MODULE_AUTOLOAD += "kvm-amd"
> +KERNEL_MODULE_AUTOLOAD += "kvm-intel"
> +
> +# aufs kernel support required for xen-image-minimal
> +KERNEL_FEATURES_append += "${@bb.utils.contains('DISTRO_FEATURES',
> 'aufs', ' features/aufs/aufs-enable.scc', '', d)}"
> +
> +# xen kernel support
> +SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', '
> file://xen.scc', '', d)}"
> --
> 2.11.0
>
> --
> _______________________________________________
> meta-virtualization mailing list
> meta-virtualization at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-virtualization
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-virtualization/attachments/20170922/e6998bf8/attachment-0001.html>


More information about the meta-virtualization mailing list