From 470b01fbf83b75a1fcab5aa19da67466cfdbc760 Mon Sep 17 00:00:00 2001 From: Vanient Date: Tue, 6 Sep 2022 10:12:17 +0800 Subject: [PATCH] modify kata integration to adapt to the update of kata-containers Signed-off-by: Vanient --- kata-containers.spec | 136 ------------------ kata-integration.spec | 14 +- kata-micro-kernel.spec | 65 +++++++++ ...ation-adapt-with-new-kata-containers.patch | 67 +++++++++ ...ration-modify-kernel-config-for-kata.patch | 42 ++++++ ...-modify-x86_64-kernel-config-for-kat.patch | 29 ++++ series.conf | 3 + 7 files changed, 219 insertions(+), 137 deletions(-) delete mode 100644 kata-containers.spec create mode 100644 kata-micro-kernel.spec create mode 100644 patches/0002-kata_integration-adapt-with-new-kata-containers.patch create mode 100644 patches/0003-kata_integration-modify-kernel-config-for-kata.patch create mode 100644 patches/0004-kata_integration-modify-x86_64-kernel-config-for-kat.patch diff --git a/kata-containers.spec b/kata-containers.spec deleted file mode 100644 index 6bdc1ab..0000000 --- a/kata-containers.spec +++ /dev/null @@ -1,136 +0,0 @@ -#needsrootforbuild -%global debug_package %{nil} -%global kernel_version 4.19.36 - -%define VERSION v1.11.1 -%define RELEASE 6 - -Name: kata-containers -Version: %{VERSION} -Release: %{RELEASE} -Summary: Kata Container integration -License: Apache 2.0 -URL: https://gitee.com/src-openeuler/kata_integration -Source0: kata_integration-v1.0.0.tar.gz -Source1: kata-runtime-%{version}.tar.gz -Source2: kata-agent-%{version}.tar.gz -Source3: kata-proxy-%{version}.tar.gz -Source4: kata-shim-%{version}.tar.gz -Source5: linux-%{kernel_version}.tar.gz - -BuildRoot: %_topdir/BUILDROOT -BuildRequires: automake golang gcc bc glibc-devel glibc-static busybox glib2-devel glib2 ipvsadm conntrack-tools nfs-utils -BuildRequires: patch elfutils-libelf-devel openssl-devel bison flex - -%description -This is core component of Kata Container, to make it work, you need a docker engine. - -%prep -%setup -T -c -a 0 -n %{name}-%{version} -%setup -T -c -a 1 -n runtime -%setup -T -c -a 2 -n agent -%setup -T -c -a 3 -n proxy -%setup -T -c -a 4 -n shim -%setup -T -c -a 5 -n kernel - -# extract the kata_integration.tar.gz file -cd %{_builddir}/%{name}-%{version} -# apply kata_integration patches -sh apply-patches - -# mv build components into kata_integration dir -pushd %{_builddir}/%{name}-%{version} -mv ../runtime . -mv ../agent . -mv ../proxy . -mv ../shim . -popd - -# build kernel -cd %{_builddir}/kernel -mv kernel linux -cd %{_builddir}/kernel/linux/ -%ifarch %{ix86} x86_64 -cp %{_builddir}/%{name}-%{version}/hack/config-kata-x86_64 ./.config -%else -cp %{_builddir}/%{name}-%{version}/hack/config-kata-arm64 ./.config -%endif - -%build -echo %{_builddir} -echo %{name}-%{version} -cd %{_builddir}/kernel/linux/ -make %{?_smp_mflags} - -cd %{_builddir}/%{name}-%{version} -mkdir -p -m 750 build -make runtime -make proxy -make shim -make initrd - -%install -mkdir -p -m 755 %{buildroot}/var/lib/kata -%ifarch %{ix86} x86_64 -install -p -m 755 -D %{_builddir}/kernel/linux/arch/x86_64/boot/bzImage %{buildroot}/var/lib/kata/kernel -%else -install -p -m 755 -D %{_builddir}/kernel/linux/arch/arm64/boot/Image %{buildroot}/var/lib/kata/kernel -%endif - -cd %{_builddir}/%{name}-%{version} -mkdir -p -m 750 %{buildroot}/usr/bin -install -p -m 750 ./build/kata-runtime ./build/kata-proxy ./build/kata-shim ./build/kata-netmon %{buildroot}/usr/bin/ -install -p -m 640 ./build/kata-containers-initrd.img %{buildroot}/var/lib/kata/ -mkdir -p -m 750 %{buildroot}/usr/share/defaults/kata-containers/ -install -p -m 640 -D ./runtime/cli/config/configuration-qemu.toml %{buildroot}/usr/share/defaults/kata-containers/configuration.toml - -%clean - -%files -/usr/bin/kata-runtime -/usr/bin/kata-proxy -/usr/bin/kata-shim -/usr/bin/kata-netmon -/var/lib/kata/kernel -/var/lib/kata/kata-containers-initrd.img -%config(noreplace) /usr/share/defaults/kata-containers/configuration.toml - -%doc - - -%changelog -* Fri Nov 6 2020 yangfeiyu - 1.11.1-6 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC:revert the kata-containers.spec to still build kata-containers components into one package - -* Fri Oct 9 2020 yangfeiyu - 1.11.1-5 -- Type:enhancement -- ID:NA -- SUG:restart -- DESC:directly copy kata binary files instead of building them - -* Wed Sep 30 2020 yangfeiyu - 1.11.1-4 -- Type:bugfix -- ID:NA -- SUG:restart -- DESC:kata-runtime retry inserting of CNI interface - -* Sun Sep 27 2020 LiangZhang - 1.11.1-3 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC:fix cmd params of direct use stratovirt binary - -* Thu Sep 20 2020 jiangpengf - 1.11.1-2 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC:fix del-iface doesn't delete the tap interface in the host problem - -* Thu Aug 27 2020 jiangpengf - 1.11.1-1 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC:update kata-containers version to v1.11.1-1 diff --git a/kata-integration.spec b/kata-integration.spec index 469b493..33776f9 100644 --- a/kata-integration.spec +++ b/kata-integration.spec @@ -1,6 +1,6 @@ %global debug_package %{nil} %define VERSION v1.0.0 -%define RELEASE 2 +%define RELEASE 9 Name: kata-integration Version: %{VERSION} @@ -28,6 +28,18 @@ This is a usefult tool for building Kata Container components. %doc %changelog +* Wed Aug 18 2022 chengzeruizhi - 1.0.0-9 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC:adapt to kata-containers + +* Fri Aug 5 2022 xiadanni - 1.0.0-8 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:bump version to 1.0.0-8 + * Sat Sep 5 2020 jiangpengf - 1.0.0-2 - Type:enhancement - ID:NA diff --git a/kata-micro-kernel.spec b/kata-micro-kernel.spec new file mode 100644 index 0000000..c1a62b5 --- /dev/null +++ b/kata-micro-kernel.spec @@ -0,0 +1,65 @@ +%global debug_package %{nil} + +%define VERSION 5.10.0 +%define RELEASE 1 + +Name: kata-micro-kernel +Version: %{VERSION} +Release: %{RELEASE} +Summary: Micro kernel for kata-containers +License: GPLv2 +URL: http://www.kernel.org/ +Source0: kernel.tar.gz +Source1: kata_integration-v1.0.0.tar.gz + +BuildRoot: %_topdir/BUILDROOT +BuildRequires: automake gcc bc glibc-devel glibc-static glib2-devel glib2 +BuildRequires: patch elfutils-libelf-devel bison flex + +%description +This is a micro kernel for kata-containers. + +%prep +%setup -T -c -a 0 -n kernel +%setup -T -c -a 1 -n kata_integration + +# extract the kata_integration.tar.gz file +cd %{_builddir}/kata_integration +# apply kata_integration patches +sh apply-patches + +# build kernel +cd %{_builddir}/kernel +mv kernel linux +cd %{_builddir}/kernel/linux/ +%ifarch %{ix86} x86_64 +cp %{_builddir}/kata_integration/hack/config-kata-x86_64 ./.config +%else +cp %{_builddir}/kata_integration/hack/config-kata-arm64 ./.config +%endif + +%build +cd %{_builddir}/kernel/linux/ +make %{?_smp_mflags} + +%install +mkdir -p -m 755 %{buildroot}/var/lib/kata +%ifarch %{ix86} x86_64 +install -p -m 640 -D %{_builddir}/kernel/linux/arch/x86_64/boot/bzImage %{buildroot}/var/lib/kata/kernel +%else +install -p -m 640 -D %{_builddir}/kernel/linux/arch/arm64/boot/Image %{buildroot}/var/lib/kata/kernel +%endif + +%clean + +%files +/var/lib/kata/kernel + +%doc + +%changelog +* Fri Aug 20 2021 jikui - 5.10.0-1 +- Type:requirement +- ID:NA +- SUG:NA +- DESC:init kata-micro-kernel package diff --git a/patches/0002-kata_integration-adapt-with-new-kata-containers.patch b/patches/0002-kata_integration-adapt-with-new-kata-containers.patch new file mode 100644 index 0000000..2a650a4 --- /dev/null +++ b/patches/0002-kata_integration-adapt-with-new-kata-containers.patch @@ -0,0 +1,67 @@ +From c26cf7520b4fe94dff39742b32168ac0bd36c212 Mon Sep 17 00:00:00 2001 +From: holyfei +Date: Wed, 18 Aug 2021 10:50:26 +0800 +Subject: [PATCH] kata_integration: adapt with new kata-containers + +reason: adapt with new kata-containers + +Signed-off-by: holyfei +--- + Makefile | 2 +- + hack/config-kata-arm64 | 2 +- + hack/config-kata-x86_64 | 6 +++--- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/Makefile b/Makefile +index f22fc80..db6b799 100644 +--- a/Makefile ++++ b/Makefile +@@ -55,7 +55,7 @@ agent: + test: + docker run -ti --rm --runtime=kata-runtime busybox sh + +-initrd: agent ++initrd: + sh ./scripts/make_kata_container_initrd.sh + + debug-initrd: runtime +diff --git a/hack/config-kata-arm64 b/hack/config-kata-arm64 +index 253af36..425bb52 100644 +--- a/hack/config-kata-arm64 ++++ b/hack/config-kata-arm64 +@@ -548,7 +548,7 @@ CONFIG_ACPI_GTDT=y + CONFIG_ACPI_PPTT=y + CONFIG_VIRTUALIZATION=y + # CONFIG_KVM is not set +-# CONFIG_VHOST_NET is not set ++CONFIG_VHOST_NET=y + CONFIG_VHOST_VSOCK=y + CONFIG_VHOST=y + # CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set +diff --git a/hack/config-kata-x86_64 b/hack/config-kata-x86_64 +index 452f903..7c57225 100644 +--- a/hack/config-kata-x86_64 ++++ b/hack/config-kata-x86_64 +@@ -583,8 +583,8 @@ CONFIG_FIRMWARE_MEMMAP=y + CONFIG_HAVE_KVM=y + CONFIG_VIRTUALIZATION=y + # CONFIG_KVM is not set +-# CONFIG_VHOST_NET is not set +-# CONFIG_VHOST_VSOCK is not set ++CONFIG_VHOST_NET=y ++CONFIG_VHOST_VSOCK=y + # CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set + + # +@@ -1261,7 +1261,7 @@ CONFIG_DNS_RESOLVER=y + # CONFIG_OPENVSWITCH is not set + CONFIG_VSOCKETS=y + CONFIG_VSOCKETS_DIAG=y +-# CONFIG_VIRTIO_VSOCKETS is not set ++CONFIG_VIRTIO_VSOCKETS=y + # CONFIG_NETLINK_DIAG is not set + # CONFIG_MPLS is not set + # CONFIG_NET_NSH is not set +-- +2.23.0 + diff --git a/patches/0003-kata_integration-modify-kernel-config-for-kata.patch b/patches/0003-kata_integration-modify-kernel-config-for-kata.patch new file mode 100644 index 0000000..c841c9a --- /dev/null +++ b/patches/0003-kata_integration-modify-kernel-config-for-kata.patch @@ -0,0 +1,42 @@ +From 8a527dfce24b0c71328812646f48b65df02b4890 Mon Sep 17 00:00:00 2001 +From: holyfei +Date: Fri, 20 Aug 2021 10:11:09 +0800 +Subject: [PATCH] kata_integration: modify kernel config for kata + +reason: modify kernel config for kata + +Signed-off-by: holyfei +--- + hack/config-kata-arm64 | 2 +- + hack/config-kata-x86_64 | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/hack/config-kata-arm64 b/hack/config-kata-arm64 +index 425bb52..bbea2a5 100644 +--- a/hack/config-kata-arm64 ++++ b/hack/config-kata-arm64 +@@ -1946,7 +1946,7 @@ CONFIG_VIRTIO_PCI=y + CONFIG_VIRTIO_PCI_LEGACY=y + CONFIG_VIRTIO_BALLOON=y + CONFIG_VIRTIO_INPUT=y +-# CONFIG_VIRTIO_MMIO is not set ++CONFIG_VIRTIO_MMIO=y + + # + # Microsoft Hyper-V guest support +diff --git a/hack/config-kata-x86_64 b/hack/config-kata-x86_64 +index 7c57225..e5e3cbf 100644 +--- a/hack/config-kata-x86_64 ++++ b/hack/config-kata-x86_64 +@@ -2177,7 +2177,7 @@ CONFIG_VIRTIO_PCI=y + CONFIG_VIRTIO_PCI_LEGACY=y + CONFIG_VIRTIO_BALLOON=y + # CONFIG_VIRTIO_INPUT is not set +-# CONFIG_VIRTIO_MMIO is not set ++CONFIG_VIRTIO_MMIO=y + + # + # Microsoft Hyper-V guest support +-- +2.23.0 + diff --git a/patches/0004-kata_integration-modify-x86_64-kernel-config-for-kat.patch b/patches/0004-kata_integration-modify-x86_64-kernel-config-for-kat.patch new file mode 100644 index 0000000..a500e54 --- /dev/null +++ b/patches/0004-kata_integration-modify-x86_64-kernel-config-for-kat.patch @@ -0,0 +1,29 @@ +From 15aea9afc7f15bd625da438a4c0d490d1884f1c2 Mon Sep 17 00:00:00 2001 +From: holyfei +Date: Wed, 25 Aug 2021 14:14:01 +0800 +Subject: [PATCH] kata_integration: modify x86_64 kernel config for kata + +reason: modify x86_64 kernel config for kata + +Signed-off-by: Wei Gao +--- + hack/config-kata-x86_64 | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/hack/config-kata-x86_64 b/hack/config-kata-x86_64 +index e5e3cbf..69302d7 100644 +--- a/hack/config-kata-x86_64 ++++ b/hack/config-kata-x86_64 +@@ -2176,8 +2176,9 @@ CONFIG_VIRTIO_MENU=y + CONFIG_VIRTIO_PCI=y + CONFIG_VIRTIO_PCI_LEGACY=y + CONFIG_VIRTIO_BALLOON=y +-# CONFIG_VIRTIO_INPUT is not set ++CONFIG_VIRTIO_INPUT=y + CONFIG_VIRTIO_MMIO=y ++CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y + + # + # Microsoft Hyper-V guest support +-- +2.21.1 (Apple Git-122.3) diff --git a/series.conf b/series.conf index d31db34..6343d25 100644 --- a/series.conf +++ b/series.conf @@ -1 +1,4 @@ 0001-kata-containers-disable-netmon-by-default.patch +0002-kata_integration-adapt-with-new-kata-containers.patch +0003-kata_integration-modify-kernel-config-for-kata.patch +0004-kata_integration-modify-x86_64-kernel-config-for-kat.patch -- Gitee