mirror of
git://git.yoctoproject.org/meta-virtualization.git
synced 2025-07-19 20:59:41 +02:00
kernel/cfg: move to a kernel-cache / central location for configuration
We've had duplicate fragments in the kernel-cache and the meta-virt layer for quite some time (i.e. docker). To more easily keep these in sync, promote the sharing of fragments and to allow them to be used even when meta-virt isn't part of a build, we change our feature additions to use the yocto-kernel-cfg clone of the kernel-cache instead of the ones in our layer. It remains to be seen if any other kernel recipes will run into issues with this movement of the fragments, so we mark this as a WIP/RFC. Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
This commit is contained in:
parent
1482ea31ac
commit
628d9430a8
|
@ -1,5 +0,0 @@
|
|||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
# This requires CONFIG_HUGETLBFS
|
||||
|
||||
CONFIG_CGROUP_HUGETLB=y
|
|
@ -1,5 +0,0 @@
|
|||
# SPDX-License-Identifier: MIT
|
||||
define KFEATURE_DESCRIPTION "Enable hugetlb cgroup"
|
||||
define KFEATURE_COMPATIBILITY all
|
||||
|
||||
kconf non-hardware cgroup-hugetlb.cfg
|
|
@ -1,8 +0,0 @@
|
|||
#Networking options options for sock-diag subsystem
|
||||
CONFIG_UNIX_DIAG=y
|
||||
CONFIG_INET_DIAG=y
|
||||
CONFIG_INET_UDP_DIAG=y
|
||||
CONFIG_PACKET_DIAG=y
|
||||
CONFIG_NETLINK_DIAG=y
|
||||
CONFIG_NETFILTER_XT_MARK=y
|
||||
CONFIG_TUN=m
|
|
@ -1,4 +0,0 @@
|
|||
define KFEATURE_DESCRIPTION "Enable Networking Features needed by criu."
|
||||
define KFEATURE_COMPATIBILITY board
|
||||
|
||||
kconf non-hardware criu.cfg
|
|
@ -1,13 +0,0 @@
|
|||
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
|
||||
CONFIG_IP_NF_FILTER=m
|
||||
CONFIG_NF_NAT=m
|
||||
CONFIG_NF_CONNTRACK=y
|
||||
|
||||
CONFIG_DM_THIN_PROVISIONING=m
|
||||
|
||||
|
||||
CONFIG_IP_NF_NAT=m
|
||||
CONFIG_IP_NF_TARGET_MASQUERADE=m
|
||||
CONFIG_NETFILTER_XT_MATCH_IPVS=m
|
||||
|
||||
CONFIG_OVERLAY_FS=y
|
|
@ -1,4 +0,0 @@
|
|||
define KFEATURE_DESCRIPTION "Enable Features needed by docker in addition to LXC features"
|
||||
define KFEATURE_COMPATIBILITY board
|
||||
|
||||
kconf non-hardware docker.cfg
|
|
@ -1,2 +0,0 @@
|
|||
CONFIG_BRIDGE_NF_EBTABLES=m
|
||||
CONFIG_BRIDGE_EBT_T_NAT=m
|
|
@ -1,4 +0,0 @@
|
|||
define KFEATURE_DESCRIPTION "Enable ebtables support"
|
||||
define KFEATURE_COMPATIBILITY board
|
||||
|
||||
kconf non-hardware ebtables.cfg
|
|
@ -1,39 +0,0 @@
|
|||
CONFIG_BLK_CGROUP=y
|
||||
CONFIG_BLK_DEV_THROTTLING=y
|
||||
CONFIG_CGROUP_PERF=y
|
||||
CONFIG_CGROUP_HUGETLB=y
|
||||
CONFIG_NET_CLS_CGROUP=y
|
||||
CONFIG_CFS_BANDWIDTH=y
|
||||
CONFIG_FAIR_GROUP_SCHED=y
|
||||
CONFIG_RT_GROUP_SCHED=y
|
||||
CONFIG_IP_NF_TARGET_REDIRECT=y
|
||||
CONFIG_IP_SET=m
|
||||
CONFIG_IP_VS=y
|
||||
CONFIG_IP_VS_NFCT=y
|
||||
CONFIG_IP_VS_PROTO_TCP=y
|
||||
CONFIG_IP_VS_PROTO_UDP=y
|
||||
CONFIG_IP_VS_RR=m
|
||||
CONFIG_NETFILTER_NETLINK_LOG=m
|
||||
CONFIG_NETFILTER_XT_CONNMARK=m
|
||||
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
|
||||
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
|
||||
CONFIG_NETFILTER_XT_MATCH_MARK=m
|
||||
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
|
||||
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
|
||||
CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
|
||||
CONFIG_NAMESPACES=y
|
||||
CONFIG_NET_NS=y
|
||||
CONFIG_PID_NS=y
|
||||
CONFIG_IPC_NS=y
|
||||
CONFIG_UTS_NS=y
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
CONFIG_CGROUP_DEVICE=y
|
||||
CONFIG_CGROUP_FREEZER=y
|
||||
CONFIG_CGROUP_SCHED=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_CPUSETS=y
|
||||
CONFIG_MEMCG=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_PROC_FS=y
|
|
@ -1,3 +0,0 @@
|
|||
include docker.scc
|
||||
include cgl/cfg/net/ip_vs.scc
|
||||
kconf non-hardware kubernetes.cfg
|
|
@ -1,32 +0,0 @@
|
|||
CONFIG_CGROUP_DEVICE=y
|
||||
CONFIG_CPUSETS=y
|
||||
CONFIG_PROC_PID_CPUSET=y
|
||||
CONFIG_MEMCG=y
|
||||
CONFIG_CGROUP_SCHED=y
|
||||
CONFIG_FAIR_GROUP_SCHED=y
|
||||
CONFIG_CHECKPOINT_RESTORE=y
|
||||
CONFIG_NAMESPACES=y
|
||||
CONFIG_UTS_NS=y
|
||||
CONFIG_IPC_NS=y
|
||||
CONFIG_USER_NS=y
|
||||
CONFIG_PID_NS=y
|
||||
CONFIG_NET_NS=y
|
||||
|
||||
CONFIG_NET_CLS_CGROUP=m
|
||||
CONFIG_BLK_CGROUP=y
|
||||
CONFIG_CGROUP_NET_PRIO=y
|
||||
|
||||
# Virtual drivers
|
||||
CONFIG_HVC_DRIVER=y
|
||||
|
||||
# Base support for live boot
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_RD_GZIP=y
|
||||
|
||||
# Support for virtual ethernet and LXC
|
||||
CONFIG_VETH=y
|
||||
CONFIG_MACVLAN=y
|
||||
CONFIG_VXLAN=m
|
|
@ -1,4 +0,0 @@
|
|||
define KFEATURE_DESCRIPTION "Enable Features needed by LxC, namespaces, cgroups et.c."
|
||||
define KFEATURE_COMPATIBILITY board
|
||||
|
||||
kconf non-hardware lxc.cfg
|
|
@ -1,3 +0,0 @@
|
|||
CONFIG_OPENVSWITCH=m
|
||||
CONFIG_NET_SCH_INGRESS=m
|
||||
CONFIG_NET_ACT_POLICE=m
|
|
@ -1,4 +0,0 @@
|
|||
define KFEATURE_DESCRIPTION "Enable in kernel OpenvSwitch module"
|
||||
define KFEATURE_COMPATIBILITY board
|
||||
|
||||
kconf non-hardware vswitch.cfg
|
|
@ -1,49 +0,0 @@
|
|||
CONFIG_HYPERVISOR_GUEST=y
|
||||
CONFIG_PARAVIRT=y
|
||||
CONFIG_XEN=y
|
||||
CONFIG_XEN_DOM0=y
|
||||
CONFIG_XEN_PVHVM=y
|
||||
CONFIG_XEN_SAVE_RESTORE=y
|
||||
# CONFIG_XEN_DEBUG_FS is not set
|
||||
CONFIG_XEN_PVH=y
|
||||
CONFIG_MMU_NOTIFIER=y
|
||||
CONFIG_HIBERNATE_CALLBACKS=y
|
||||
CONFIG_PCI_XEN=y
|
||||
CONFIG_XEN_PCIDEV_FRONTEND=y
|
||||
CONFIG_SYS_HYPERVISOR=y
|
||||
CONFIG_XEN_BLKDEV_FRONTEND=y
|
||||
CONFIG_XEN_BLKDEV_BACKEND=m
|
||||
CONFIG_XEN_SCSI_FRONTEND=m
|
||||
CONFIG_XEN_NETDEV_FRONTEND=y
|
||||
CONFIG_XEN_NETDEV_BACKEND=m
|
||||
CONFIG_INPUT_MISC=y
|
||||
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
|
||||
CONFIG_HVC_IRQ=y
|
||||
CONFIG_HVC_XEN=y
|
||||
CONFIG_HVC_XEN_FRONTEND=y
|
||||
CONFIG_XEN_WDT=m
|
||||
CONFIG_FB_SYS_FILLRECT=y
|
||||
CONFIG_FB_SYS_COPYAREA=y
|
||||
CONFIG_FB_SYS_IMAGEBLIT=y
|
||||
CONFIG_FB_SYS_FOPS=y
|
||||
CONFIG_FB_DEFERRED_IO=y
|
||||
CONFIG_XEN_FBDEV_FRONTEND=y
|
||||
CONFIG_XEN_BALLOON=y
|
||||
CONFIG_XEN_SCRUB_PAGES_DEFAULT=y
|
||||
CONFIG_XEN_DEV_EVTCHN=y
|
||||
CONFIG_XEN_BACKEND=y
|
||||
CONFIG_XENFS=y
|
||||
CONFIG_XEN_COMPAT_XENFS=y
|
||||
CONFIG_XEN_SYS_HYPERVISOR=y
|
||||
CONFIG_XEN_XENBUS_FRONTEND=y
|
||||
CONFIG_XEN_GNTDEV=m
|
||||
CONFIG_XEN_GRANT_DEV_ALLOC=m
|
||||
CONFIG_SWIOTLB_XEN=y
|
||||
CONFIG_XEN_PCIDEV_BACKEND=m
|
||||
CONFIG_XEN_PRIVCMD=y
|
||||
CONFIG_XEN_ACPI_PROCESSOR=m
|
||||
CONFIG_XEN_MCE_LOG=y
|
||||
CONFIG_XEN_HAVE_PVMMU=y
|
||||
CONFIG_XEN_EFI=y
|
||||
CONFIG_XEN_AUTO_XLATE=y
|
||||
CONFIG_XEN_ACPI=y
|
|
@ -1,4 +0,0 @@
|
|||
define KFEATURE_DESCRIPTION "Xen Kernel Support"
|
||||
define KFEATURE_COMPATIBILITY arch
|
||||
|
||||
kconf non-hardware xen.cfg
|
|
@ -1 +0,0 @@
|
|||
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
|
|
@ -1,4 +0,0 @@
|
|||
define KFEATURE_DESCRIPTION "Add extra iptables modules"
|
||||
define KFEATURE_COMPATIBILITY board
|
||||
|
||||
kconf non-hardware xt-checksum.cfg
|
|
@ -1,14 +1,6 @@
|
|||
FILESEXTRAPATHS:prepend := "${THISDIR}/linux-yocto:"
|
||||
|
||||
SRC_URI += "file://xt-checksum.scc \
|
||||
file://ebtables.scc \
|
||||
file://vswitch.scc \
|
||||
file://lxc.scc \
|
||||
file://docker.scc \
|
||||
file://cgroup-hugetlb.scc \
|
||||
file://criu.scc \
|
||||
"
|
||||
KERNEL_FEATURES:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'kvm', 'features/kvm/qemu-kvm-enable.scc', '', d)}"
|
||||
KERNEL_FEATURES:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'kvm', ' features/kvm/qemu-kvm-enable.scc', '', d)}"
|
||||
|
||||
KERNEL_MODULE_AUTOLOAD += "nf_conntrack_ipv6 openvswitch"
|
||||
KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains('DISTRO_FEATURES', 'kvm', 'kvm', '', d)}"
|
||||
|
@ -16,6 +8,16 @@ KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains('DISTRO_FEATURES', 'kvm', 'kvm',
|
|||
# aufs kernel support required for xen-image-minimal
|
||||
KERNEL_FEATURES:append = "${@bb.utils.contains('DISTRO_FEATURES', 'aufs', ' features/aufs/aufs-enable.scc', '', d)}"
|
||||
|
||||
|
||||
# SRC_URI += "file://xt-checksum.scc \
|
||||
# file://ebtables.scc \
|
||||
# file://vswitch.scc \
|
||||
# file://lxc.scc \
|
||||
# file://docker.scc \
|
||||
# file://cgroup-hugetlb.scc \
|
||||
# file://criu.scc \
|
||||
# "
|
||||
|
||||
# if the kernel-yocto meta-data routine automatically starts to add the
|
||||
# recipe-sysroot-native, we can do away with this conditional, since all
|
||||
# features will be found at the same relative offset from a search
|
||||
|
@ -28,7 +30,24 @@ def kernel_cache_cond_feature(src_uri,feature):
|
|||
|
||||
return "../recipe-sysroot-native/kcfg/" + feature
|
||||
|
||||
KERNEL_CACHE_FEATURES ?= "${@kernel_cache_cond_feature(d.getVar('SRC_URI'),'cfg/virtio.scc')}"
|
||||
# no conditional, just use the yocto-kernel-cache addition, yes
|
||||
# the src_uri isn't used, but we may need to check it in the future
|
||||
def kernel_cache_feature(src_uri,feature):
|
||||
return "../recipe-sysroot-native/kcfg/" + feature
|
||||
|
||||
def distro_cond_feature(feature_fragment,distro_feature,d):
|
||||
import bb
|
||||
feat = kernel_cache_feature("",feature_fragment)
|
||||
return bb.utils.contains('DISTRO_FEATURES', distro_feature, feat, '', d)
|
||||
|
||||
KERNEL_CACHE_FEATURES ?= "${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/virtio.scc')} \
|
||||
${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/xt-checksum.scc')} \
|
||||
${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/vswitch.scc')} \
|
||||
${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/lxc.scc')} \
|
||||
${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/docker.scc')} \
|
||||
${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/cgroup-hugetlb.scc')} \
|
||||
${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/criu.scc')} \
|
||||
"
|
||||
KERNEL_FEATURES:append = " ${KERNEL_CACHE_FEATURES}"
|
||||
|
||||
# if kernel-yocto has been inherited (how we can check for configuration
|
||||
|
@ -38,8 +57,12 @@ KERNEL_FEATURES:append = " ${KERNEL_CACHE_FEATURES}"
|
|||
do_kernel_metadata[depends] += "${@['', 'yocto-cfg-fragments-native:do_populate_sysroot'][(bb.data.inherits_class('kernel-yocto', d))]}"
|
||||
|
||||
# xen kernel support
|
||||
SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' file://xen.scc', '', d)}"
|
||||
# SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' file://xen.scc', '', d)}"
|
||||
KERNEL_FEATURES:append = "${@distro_cond_feature('cfg/xen.scc', 'xen', d )}"
|
||||
|
||||
# k8s and k3s kernel support
|
||||
SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'k8s', ' file://kubernetes.scc', '', d)}"
|
||||
SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'k3s', ' file://kubernetes.scc', '', d)}"
|
||||
# SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'k8s', ' file://kubernetes.scc', '', d)}"
|
||||
# SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'k3s', ' file://kubernetes.scc', '', d)}"
|
||||
KERNEL_FEATURES:append = "${@distro_cond_feature('cfg/kubernetes.scc', 'k8s', d )}"
|
||||
KERNEL_FEATURES:append = "${@distro_cond_feature('cfg/kubernetes.scc', 'k3s', d )}"
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user