summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@gmail.com>2024-03-06 18:56:18 +0000
committerBruce Ashfield <bruce.ashfield@gmail.com>2024-03-15 17:17:20 +0000
commit628d9430a8316bde742e5defbc6be3733e183624 (patch)
tree88a02a07004cc25b73f5f3d329d928527d9e57ef
parent1482ea31acdfc29cb6c4199073d0dff6a39bf41b (diff)
downloadmeta-virtualization-628d9430a8316bde742e5defbc6be3733e183624.tar.gz
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>
-rw-r--r--recipes-kernel/linux/linux-yocto/cgroup-hugetlb.cfg5
-rw-r--r--recipes-kernel/linux/linux-yocto/cgroup-hugetlb.scc5
-rw-r--r--recipes-kernel/linux/linux-yocto/criu.cfg8
-rw-r--r--recipes-kernel/linux/linux-yocto/criu.scc4
-rw-r--r--recipes-kernel/linux/linux-yocto/docker.cfg13
-rw-r--r--recipes-kernel/linux/linux-yocto/docker.scc4
-rw-r--r--recipes-kernel/linux/linux-yocto/ebtables.cfg2
-rw-r--r--recipes-kernel/linux/linux-yocto/ebtables.scc4
-rw-r--r--recipes-kernel/linux/linux-yocto/kubernetes.cfg39
-rw-r--r--recipes-kernel/linux/linux-yocto/kubernetes.scc3
-rw-r--r--recipes-kernel/linux/linux-yocto/lxc.cfg32
-rw-r--r--recipes-kernel/linux/linux-yocto/lxc.scc4
-rw-r--r--recipes-kernel/linux/linux-yocto/vswitch.cfg3
-rw-r--r--recipes-kernel/linux/linux-yocto/vswitch.scc4
-rw-r--r--recipes-kernel/linux/linux-yocto/xen.cfg49
-rw-r--r--recipes-kernel/linux/linux-yocto/xen.scc4
-rw-r--r--recipes-kernel/linux/linux-yocto/xt-checksum.cfg1
-rw-r--r--recipes-kernel/linux/linux-yocto/xt-checksum.scc4
-rw-r--r--recipes-kernel/linux/linux-yocto_virtualization.inc49
19 files changed, 36 insertions, 201 deletions
diff --git a/recipes-kernel/linux/linux-yocto/cgroup-hugetlb.cfg b/recipes-kernel/linux/linux-yocto/cgroup-hugetlb.cfg
deleted file mode 100644
index 417ca249..00000000
--- a/recipes-kernel/linux/linux-yocto/cgroup-hugetlb.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
1# SPDX-License-Identifier: MIT
2#
3# This requires CONFIG_HUGETLBFS
4
5CONFIG_CGROUP_HUGETLB=y
diff --git a/recipes-kernel/linux/linux-yocto/cgroup-hugetlb.scc b/recipes-kernel/linux/linux-yocto/cgroup-hugetlb.scc
deleted file mode 100644
index 7d1f9997..00000000
--- a/recipes-kernel/linux/linux-yocto/cgroup-hugetlb.scc
+++ /dev/null
@@ -1,5 +0,0 @@
1# SPDX-License-Identifier: MIT
2define KFEATURE_DESCRIPTION "Enable hugetlb cgroup"
3define KFEATURE_COMPATIBILITY all
4
5kconf non-hardware cgroup-hugetlb.cfg
diff --git a/recipes-kernel/linux/linux-yocto/criu.cfg b/recipes-kernel/linux/linux-yocto/criu.cfg
deleted file mode 100644
index dc9502a6..00000000
--- a/recipes-kernel/linux/linux-yocto/criu.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
1#Networking options options for sock-diag subsystem
2CONFIG_UNIX_DIAG=y
3CONFIG_INET_DIAG=y
4CONFIG_INET_UDP_DIAG=y
5CONFIG_PACKET_DIAG=y
6CONFIG_NETLINK_DIAG=y
7CONFIG_NETFILTER_XT_MARK=y
8CONFIG_TUN=m
diff --git a/recipes-kernel/linux/linux-yocto/criu.scc b/recipes-kernel/linux/linux-yocto/criu.scc
deleted file mode 100644
index 87a88113..00000000
--- a/recipes-kernel/linux/linux-yocto/criu.scc
+++ /dev/null
@@ -1,4 +0,0 @@
1define KFEATURE_DESCRIPTION "Enable Networking Features needed by criu."
2define KFEATURE_COMPATIBILITY board
3
4kconf non-hardware criu.cfg
diff --git a/recipes-kernel/linux/linux-yocto/docker.cfg b/recipes-kernel/linux/linux-yocto/docker.cfg
deleted file mode 100644
index eeeaa242..00000000
--- a/recipes-kernel/linux/linux-yocto/docker.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
1CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
2CONFIG_IP_NF_FILTER=m
3CONFIG_NF_NAT=m
4CONFIG_NF_CONNTRACK=y
5
6CONFIG_DM_THIN_PROVISIONING=m
7
8
9CONFIG_IP_NF_NAT=m
10CONFIG_IP_NF_TARGET_MASQUERADE=m
11CONFIG_NETFILTER_XT_MATCH_IPVS=m
12
13CONFIG_OVERLAY_FS=y
diff --git a/recipes-kernel/linux/linux-yocto/docker.scc b/recipes-kernel/linux/linux-yocto/docker.scc
deleted file mode 100644
index e317456c..00000000
--- a/recipes-kernel/linux/linux-yocto/docker.scc
+++ /dev/null
@@ -1,4 +0,0 @@
1define KFEATURE_DESCRIPTION "Enable Features needed by docker in addition to LXC features"
2define KFEATURE_COMPATIBILITY board
3
4kconf non-hardware docker.cfg
diff --git a/recipes-kernel/linux/linux-yocto/ebtables.cfg b/recipes-kernel/linux/linux-yocto/ebtables.cfg
deleted file mode 100644
index a3c514e1..00000000
--- a/recipes-kernel/linux/linux-yocto/ebtables.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
1CONFIG_BRIDGE_NF_EBTABLES=m
2CONFIG_BRIDGE_EBT_T_NAT=m
diff --git a/recipes-kernel/linux/linux-yocto/ebtables.scc b/recipes-kernel/linux/linux-yocto/ebtables.scc
deleted file mode 100644
index b3895e58..00000000
--- a/recipes-kernel/linux/linux-yocto/ebtables.scc
+++ /dev/null
@@ -1,4 +0,0 @@
1define KFEATURE_DESCRIPTION "Enable ebtables support"
2define KFEATURE_COMPATIBILITY board
3
4kconf non-hardware ebtables.cfg
diff --git a/recipes-kernel/linux/linux-yocto/kubernetes.cfg b/recipes-kernel/linux/linux-yocto/kubernetes.cfg
deleted file mode 100644
index 84fa8c57..00000000
--- a/recipes-kernel/linux/linux-yocto/kubernetes.cfg
+++ /dev/null
@@ -1,39 +0,0 @@
1CONFIG_BLK_CGROUP=y
2CONFIG_BLK_DEV_THROTTLING=y
3CONFIG_CGROUP_PERF=y
4CONFIG_CGROUP_HUGETLB=y
5CONFIG_NET_CLS_CGROUP=y
6CONFIG_CFS_BANDWIDTH=y
7CONFIG_FAIR_GROUP_SCHED=y
8CONFIG_RT_GROUP_SCHED=y
9CONFIG_IP_NF_TARGET_REDIRECT=y
10CONFIG_IP_SET=m
11CONFIG_IP_VS=y
12CONFIG_IP_VS_NFCT=y
13CONFIG_IP_VS_PROTO_TCP=y
14CONFIG_IP_VS_PROTO_UDP=y
15CONFIG_IP_VS_RR=m
16CONFIG_NETFILTER_NETLINK_LOG=m
17CONFIG_NETFILTER_XT_CONNMARK=m
18CONFIG_NETFILTER_XT_MATCH_COMMENT=m
19CONFIG_NETFILTER_XT_MATCH_LIMIT=m
20CONFIG_NETFILTER_XT_MATCH_MARK=m
21CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
22CONFIG_NETFILTER_XT_TARGET_NFLOG=m
23CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
24CONFIG_NAMESPACES=y
25CONFIG_NET_NS=y
26CONFIG_PID_NS=y
27CONFIG_IPC_NS=y
28CONFIG_UTS_NS=y
29CONFIG_CGROUPS=y
30CONFIG_CGROUP_CPUACCT=y
31CONFIG_CGROUP_DEVICE=y
32CONFIG_CGROUP_FREEZER=y
33CONFIG_CGROUP_SCHED=y
34CONFIG_SMP=y
35CONFIG_CPUSETS=y
36CONFIG_MEMCG=y
37CONFIG_INET=y
38CONFIG_EXT4_FS=y
39CONFIG_PROC_FS=y
diff --git a/recipes-kernel/linux/linux-yocto/kubernetes.scc b/recipes-kernel/linux/linux-yocto/kubernetes.scc
deleted file mode 100644
index a94ae845..00000000
--- a/recipes-kernel/linux/linux-yocto/kubernetes.scc
+++ /dev/null
@@ -1,3 +0,0 @@
1include docker.scc
2include cgl/cfg/net/ip_vs.scc
3kconf non-hardware kubernetes.cfg
diff --git a/recipes-kernel/linux/linux-yocto/lxc.cfg b/recipes-kernel/linux/linux-yocto/lxc.cfg
deleted file mode 100644
index e195c15b..00000000
--- a/recipes-kernel/linux/linux-yocto/lxc.cfg
+++ /dev/null
@@ -1,32 +0,0 @@
1CONFIG_CGROUP_DEVICE=y
2CONFIG_CPUSETS=y
3CONFIG_PROC_PID_CPUSET=y
4CONFIG_MEMCG=y
5CONFIG_CGROUP_SCHED=y
6CONFIG_FAIR_GROUP_SCHED=y
7CONFIG_CHECKPOINT_RESTORE=y
8CONFIG_NAMESPACES=y
9CONFIG_UTS_NS=y
10CONFIG_IPC_NS=y
11CONFIG_USER_NS=y
12CONFIG_PID_NS=y
13CONFIG_NET_NS=y
14
15CONFIG_NET_CLS_CGROUP=m
16CONFIG_BLK_CGROUP=y
17CONFIG_CGROUP_NET_PRIO=y
18
19# Virtual drivers
20CONFIG_HVC_DRIVER=y
21
22# Base support for live boot
23CONFIG_BLK_DEV_LOOP=y
24CONFIG_NLS_CODEPAGE_437=y
25CONFIG_NLS_ISO8859_1=y
26CONFIG_VFAT_FS=y
27CONFIG_RD_GZIP=y
28
29# Support for virtual ethernet and LXC
30CONFIG_VETH=y
31CONFIG_MACVLAN=y
32CONFIG_VXLAN=m
diff --git a/recipes-kernel/linux/linux-yocto/lxc.scc b/recipes-kernel/linux/linux-yocto/lxc.scc
deleted file mode 100644
index ee518835..00000000
--- a/recipes-kernel/linux/linux-yocto/lxc.scc
+++ /dev/null
@@ -1,4 +0,0 @@
1define KFEATURE_DESCRIPTION "Enable Features needed by LxC, namespaces, cgroups et.c."
2define KFEATURE_COMPATIBILITY board
3
4kconf non-hardware lxc.cfg
diff --git a/recipes-kernel/linux/linux-yocto/vswitch.cfg b/recipes-kernel/linux/linux-yocto/vswitch.cfg
deleted file mode 100644
index b1fefc0c..00000000
--- a/recipes-kernel/linux/linux-yocto/vswitch.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
1CONFIG_OPENVSWITCH=m
2CONFIG_NET_SCH_INGRESS=m
3CONFIG_NET_ACT_POLICE=m
diff --git a/recipes-kernel/linux/linux-yocto/vswitch.scc b/recipes-kernel/linux/linux-yocto/vswitch.scc
deleted file mode 100644
index 2790b4fe..00000000
--- a/recipes-kernel/linux/linux-yocto/vswitch.scc
+++ /dev/null
@@ -1,4 +0,0 @@
1define KFEATURE_DESCRIPTION "Enable in kernel OpenvSwitch module"
2define KFEATURE_COMPATIBILITY board
3
4kconf non-hardware vswitch.cfg
diff --git a/recipes-kernel/linux/linux-yocto/xen.cfg b/recipes-kernel/linux/linux-yocto/xen.cfg
deleted file mode 100644
index af821d2f..00000000
--- a/recipes-kernel/linux/linux-yocto/xen.cfg
+++ /dev/null
@@ -1,49 +0,0 @@
1CONFIG_HYPERVISOR_GUEST=y
2CONFIG_PARAVIRT=y
3CONFIG_XEN=y
4CONFIG_XEN_DOM0=y
5CONFIG_XEN_PVHVM=y
6CONFIG_XEN_SAVE_RESTORE=y
7# CONFIG_XEN_DEBUG_FS is not set
8CONFIG_XEN_PVH=y
9CONFIG_MMU_NOTIFIER=y
10CONFIG_HIBERNATE_CALLBACKS=y
11CONFIG_PCI_XEN=y
12CONFIG_XEN_PCIDEV_FRONTEND=y
13CONFIG_SYS_HYPERVISOR=y
14CONFIG_XEN_BLKDEV_FRONTEND=y
15CONFIG_XEN_BLKDEV_BACKEND=m
16CONFIG_XEN_SCSI_FRONTEND=m
17CONFIG_XEN_NETDEV_FRONTEND=y
18CONFIG_XEN_NETDEV_BACKEND=m
19CONFIG_INPUT_MISC=y
20CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
21CONFIG_HVC_IRQ=y
22CONFIG_HVC_XEN=y
23CONFIG_HVC_XEN_FRONTEND=y
24CONFIG_XEN_WDT=m
25CONFIG_FB_SYS_FILLRECT=y
26CONFIG_FB_SYS_COPYAREA=y
27CONFIG_FB_SYS_IMAGEBLIT=y
28CONFIG_FB_SYS_FOPS=y
29CONFIG_FB_DEFERRED_IO=y
30CONFIG_XEN_FBDEV_FRONTEND=y
31CONFIG_XEN_BALLOON=y
32CONFIG_XEN_SCRUB_PAGES_DEFAULT=y
33CONFIG_XEN_DEV_EVTCHN=y
34CONFIG_XEN_BACKEND=y
35CONFIG_XENFS=y
36CONFIG_XEN_COMPAT_XENFS=y
37CONFIG_XEN_SYS_HYPERVISOR=y
38CONFIG_XEN_XENBUS_FRONTEND=y
39CONFIG_XEN_GNTDEV=m
40CONFIG_XEN_GRANT_DEV_ALLOC=m
41CONFIG_SWIOTLB_XEN=y
42CONFIG_XEN_PCIDEV_BACKEND=m
43CONFIG_XEN_PRIVCMD=y
44CONFIG_XEN_ACPI_PROCESSOR=m
45CONFIG_XEN_MCE_LOG=y
46CONFIG_XEN_HAVE_PVMMU=y
47CONFIG_XEN_EFI=y
48CONFIG_XEN_AUTO_XLATE=y
49CONFIG_XEN_ACPI=y
diff --git a/recipes-kernel/linux/linux-yocto/xen.scc b/recipes-kernel/linux/linux-yocto/xen.scc
deleted file mode 100644
index b588e5df..00000000
--- a/recipes-kernel/linux/linux-yocto/xen.scc
+++ /dev/null
@@ -1,4 +0,0 @@
1define KFEATURE_DESCRIPTION "Xen Kernel Support"
2define KFEATURE_COMPATIBILITY arch
3
4kconf non-hardware xen.cfg
diff --git a/recipes-kernel/linux/linux-yocto/xt-checksum.cfg b/recipes-kernel/linux/linux-yocto/xt-checksum.cfg
deleted file mode 100644
index 58afbff6..00000000
--- a/recipes-kernel/linux/linux-yocto/xt-checksum.cfg
+++ /dev/null
@@ -1 +0,0 @@
1CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
diff --git a/recipes-kernel/linux/linux-yocto/xt-checksum.scc b/recipes-kernel/linux/linux-yocto/xt-checksum.scc
deleted file mode 100644
index d3804f0c..00000000
--- a/recipes-kernel/linux/linux-yocto/xt-checksum.scc
+++ /dev/null
@@ -1,4 +0,0 @@
1define KFEATURE_DESCRIPTION "Add extra iptables modules"
2define KFEATURE_COMPATIBILITY board
3
4kconf non-hardware xt-checksum.cfg
diff --git a/recipes-kernel/linux/linux-yocto_virtualization.inc b/recipes-kernel/linux/linux-yocto_virtualization.inc
index a37759ef..0ace9a75 100644
--- a/recipes-kernel/linux/linux-yocto_virtualization.inc
+++ b/recipes-kernel/linux/linux-yocto_virtualization.inc
@@ -1,14 +1,6 @@
1FILESEXTRAPATHS:prepend := "${THISDIR}/linux-yocto:" 1FILESEXTRAPATHS:prepend := "${THISDIR}/linux-yocto:"
2 2
3SRC_URI += "file://xt-checksum.scc \ 3KERNEL_FEATURES:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'kvm', ' features/kvm/qemu-kvm-enable.scc', '', d)}"
4 file://ebtables.scc \
5 file://vswitch.scc \
6 file://lxc.scc \
7 file://docker.scc \
8 file://cgroup-hugetlb.scc \
9 file://criu.scc \
10 "
11KERNEL_FEATURES:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'kvm', 'features/kvm/qemu-kvm-enable.scc', '', d)}"
12 4
13KERNEL_MODULE_AUTOLOAD += "nf_conntrack_ipv6 openvswitch" 5KERNEL_MODULE_AUTOLOAD += "nf_conntrack_ipv6 openvswitch"
14KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains('DISTRO_FEATURES', 'kvm', 'kvm', '', d)}" 6KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains('DISTRO_FEATURES', 'kvm', 'kvm', '', d)}"
@@ -16,6 +8,16 @@ KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains('DISTRO_FEATURES', 'kvm', 'kvm',
16# aufs kernel support required for xen-image-minimal 8# aufs kernel support required for xen-image-minimal
17KERNEL_FEATURES:append = "${@bb.utils.contains('DISTRO_FEATURES', 'aufs', ' features/aufs/aufs-enable.scc', '', d)}" 9KERNEL_FEATURES:append = "${@bb.utils.contains('DISTRO_FEATURES', 'aufs', ' features/aufs/aufs-enable.scc', '', d)}"
18 10
11
12# SRC_URI += "file://xt-checksum.scc \
13# file://ebtables.scc \
14# file://vswitch.scc \
15# file://lxc.scc \
16# file://docker.scc \
17# file://cgroup-hugetlb.scc \
18# file://criu.scc \
19# "
20
19# if the kernel-yocto meta-data routine automatically starts to add the 21# if the kernel-yocto meta-data routine automatically starts to add the
20# recipe-sysroot-native, we can do away with this conditional, since all 22# recipe-sysroot-native, we can do away with this conditional, since all
21# features will be found at the same relative offset from a search 23# features will be found at the same relative offset from a search
@@ -28,7 +30,24 @@ def kernel_cache_cond_feature(src_uri,feature):
28 30
29 return "../recipe-sysroot-native/kcfg/" + feature 31 return "../recipe-sysroot-native/kcfg/" + feature
30 32
31KERNEL_CACHE_FEATURES ?= "${@kernel_cache_cond_feature(d.getVar('SRC_URI'),'cfg/virtio.scc')}" 33# no conditional, just use the yocto-kernel-cache addition, yes
34# the src_uri isn't used, but we may need to check it in the future
35def kernel_cache_feature(src_uri,feature):
36 return "../recipe-sysroot-native/kcfg/" + feature
37
38def distro_cond_feature(feature_fragment,distro_feature,d):
39 import bb
40 feat = kernel_cache_feature("",feature_fragment)
41 return bb.utils.contains('DISTRO_FEATURES', distro_feature, feat, '', d)
42
43KERNEL_CACHE_FEATURES ?= "${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/virtio.scc')} \
44 ${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/xt-checksum.scc')} \
45 ${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/vswitch.scc')} \
46 ${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/lxc.scc')} \
47 ${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/docker.scc')} \
48 ${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/cgroup-hugetlb.scc')} \
49 ${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/criu.scc')} \
50 "
32KERNEL_FEATURES:append = " ${KERNEL_CACHE_FEATURES}" 51KERNEL_FEATURES:append = " ${KERNEL_CACHE_FEATURES}"
33 52
34# if kernel-yocto has been inherited (how we can check for configuration 53# if kernel-yocto has been inherited (how we can check for configuration
@@ -38,8 +57,12 @@ KERNEL_FEATURES:append = " ${KERNEL_CACHE_FEATURES}"
38do_kernel_metadata[depends] += "${@['', 'yocto-cfg-fragments-native:do_populate_sysroot'][(bb.data.inherits_class('kernel-yocto', d))]}" 57do_kernel_metadata[depends] += "${@['', 'yocto-cfg-fragments-native:do_populate_sysroot'][(bb.data.inherits_class('kernel-yocto', d))]}"
39 58
40# xen kernel support 59# xen kernel support
41SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' file://xen.scc', '', d)}" 60# SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' file://xen.scc', '', d)}"
61KERNEL_FEATURES:append = "${@distro_cond_feature('cfg/xen.scc', 'xen', d )}"
42 62
43# k8s and k3s kernel support 63# k8s and k3s kernel support
44SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'k8s', ' file://kubernetes.scc', '', d)}" 64# SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'k8s', ' file://kubernetes.scc', '', d)}"
45SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'k3s', ' file://kubernetes.scc', '', d)}" 65# SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'k3s', ' file://kubernetes.scc', '', d)}"
66KERNEL_FEATURES:append = "${@distro_cond_feature('cfg/kubernetes.scc', 'k8s', d )}"
67KERNEL_FEATURES:append = "${@distro_cond_feature('cfg/kubernetes.scc', 'k3s', d )}"
68