From 270eae17e1f3aab566eb6d522f2dbca6dd16f065 Mon Sep 17 00:00:00 2001 From: Jackie Huang Date: Mon, 9 Dec 2024 14:29:27 +0800 Subject: [PATCH] patches-arm: add patches based on stx.9.0 for integ Add patches based on stx.9.0 for integ repo: https://opendev.org/starlingx/integ.git Issue-ID: INF-481 Signed-off-by: Jackie Huang Change-Id: I13cd5c0438723ae33f0754df589b9064670d7b5d --- ...1-crictl-add-dl_path_arm64-meta_data.yaml.patch | 48 ++ ...inerd-add-dl_path_arm64-in-meta_data.yaml.patch | 47 ++ ...-runc-add-dl_path_arm64-in-meta_data.yaml.patch | 73 +++ .../0004-chartmuseum-add-support-for-arm64.patch | 76 +++ ...helm-add-dl_files_arm64-and-fix-the-rules.patch | 77 +++ ...6-kubectl-cert-manager-add-dl_files_arm64.patch | 74 +++ .../0007-kubernetes-add-support-for-arm64.patch | 382 ++++++++++++++ .../integ/0008-ceph-add-support-for-arm64.patch | 42 ++ .../0009-grub-efi-add-support-for-arm64.patch | 363 +++++++++++++ ...lcpu-handle-devPath-when-it-doesn-t-exist.patch | 69 +++ .../0011-Add-image-and-pkg-list-for-arm64.patch | 586 +++++++++++++++++++++ ...bernetes-unversioned-update-the-checksums.patch | 45 ++ 12 files changed, 1882 insertions(+) create mode 100644 scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0001-crictl-add-dl_path_arm64-meta_data.yaml.patch create mode 100644 scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0002-containerd-add-dl_path_arm64-in-meta_data.yaml.patch create mode 100644 scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0003-runc-add-dl_path_arm64-in-meta_data.yaml.patch create mode 100644 scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0004-chartmuseum-add-support-for-arm64.patch create mode 100644 scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0005-helm-add-dl_files_arm64-and-fix-the-rules.patch create mode 100644 scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0006-kubectl-cert-manager-add-dl_files_arm64.patch create mode 100644 scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0007-kubernetes-add-support-for-arm64.patch create mode 100644 scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0008-ceph-add-support-for-arm64.patch create mode 100644 scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0009-grub-efi-add-support-for-arm64.patch create mode 100644 scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0010-isolcpu-handle-devPath-when-it-doesn-t-exist.patch create mode 100644 scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0011-Add-image-and-pkg-list-for-arm64.patch create mode 100644 scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0012-kubernetes-unversioned-update-the-checksums.patch diff --git a/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0001-crictl-add-dl_path_arm64-meta_data.yaml.patch b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0001-crictl-add-dl_path_arm64-meta_data.yaml.patch new file mode 100644 index 00000000..72929ee9 --- /dev/null +++ b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0001-crictl-add-dl_path_arm64-meta_data.yaml.patch @@ -0,0 +1,48 @@ +From 8d61823f6ff3444b4c5f5dc392eab9aca74484ac Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Wed, 26 Jul 2023 17:38:08 +0800 +Subject: [PATCH 01/12] crictl: add dl_path_arm64 meta_data.yaml + +The dl_path for arm64 is different whith the one for x86, +so add dl_path_arm64 for arm64. + +Test Plan: +PASS: build-pkgs on x86-64 host +PASS: build-image on x86-64 host +PASS: build-pkgs on arm64 host +PASS: build-image on arm64 host +PASS: Deploy AIO-SX on x86-64 target +PASS: Deploy AIO-SX on arm64 target +PASS: Deploy AIO-DX on arm64 targets +PASS: Deploy std (2+2+2) on arm64 targets + +Story: 2010739 +Task: 47981 + +Depends-On: https://review.opendev.org/c/starlingx/root/+/889686 + +Change-Id: Iec381a35faaeaf9b1e257c2be75c37e780756ae0 +Signed-off-by: Jackie Huang +--- + kubernetes/crictl/debian/meta_data.yaml | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/kubernetes/crictl/debian/meta_data.yaml b/kubernetes/crictl/debian/meta_data.yaml +index a6154068..62a70ca0 100644 +--- a/kubernetes/crictl/debian/meta_data.yaml ++++ b/kubernetes/crictl/debian/meta_data.yaml +@@ -6,6 +6,11 @@ dl_path: + url: https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.21.0/crictl-v1.21.0-linux-amd64.tar.gz + md5sum: 671e173f96f87aab18a4f9f8111cd4e6 + sha256sum: 85c78a35584971625bf1c3bcd46e5404a90396f979d7586f18b11119cb623e24 ++dl_path_arm64: ++ name: crictl-v1.21.0-linux-arm64.tar.gz ++ url: https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.21.0/crictl-v1.21.0-linux-arm64.tar.gz ++ md5sum: 5ca26d26d254fb59b776c63d8523b175 ++ sha256sum: 454eecd29fe636282339af5b73c60234a7d10e4b11b9e18937e33056763d72cf + revision: + dist: $STX_DIST + GITREVCOUNT: +-- +2.30.2 + diff --git a/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0002-containerd-add-dl_path_arm64-in-meta_data.yaml.patch b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0002-containerd-add-dl_path_arm64-in-meta_data.yaml.patch new file mode 100644 index 00000000..9883aa5d --- /dev/null +++ b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0002-containerd-add-dl_path_arm64-in-meta_data.yaml.patch @@ -0,0 +1,47 @@ +From 48534868e120b89468d1f7805603f717e45bbb75 Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Wed, 28 Jun 2023 09:51:39 +0800 +Subject: [PATCH 02/12] containerd: add dl_path_arm64 in meta_data.yaml + +The dl_path for arm64 is different whith the one for x86, +so add dl_path_arm64 for arm64. + +Test Plan: +PASS: build-pkgs on x86-64 host +PASS: build-image on x86-64 host +PASS: build-pkgs on arm64 host +PASS: build-image on arm64 host +PASS: Deploy AIO-SX on x86-64 target +PASS: Deploy AIO-SX on arm64 target +PASS: Deploy AIO-DX on arm64 targets +PASS: Deploy std (2+2+2) on arm64 targets + +Story: 2010739 +Task: 47981 + +Depends-On: https://review.opendev.org/c/starlingx/root/+/889686 + +Change-Id: I06b89a75b8efe5e06470b00eeef46f543d49f980 +Signed-off-by: Jackie Huang +--- + kubernetes/containerd/debian/meta_data.yaml | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/kubernetes/containerd/debian/meta_data.yaml b/kubernetes/containerd/debian/meta_data.yaml +index eb6f85a6..3c707824 100644 +--- a/kubernetes/containerd/debian/meta_data.yaml ++++ b/kubernetes/containerd/debian/meta_data.yaml +@@ -5,6 +5,10 @@ dl_path: + name: containerd-1.6.21-linux-amd64.tar.gz + url: https://github.com/containerd/containerd/releases/download/v1.6.21/containerd-1.6.21-linux-amd64.tar.gz + sha256sum: 04dcc1b99368492caee758583e531392683268197e58156888a3cea2941117b6 ++dl_path_arm64: ++ name: containerd-1.6.21-linux-arm64.tar.gz ++ url: https://github.com/containerd/containerd/releases/download/v1.6.21/containerd-1.6.21-linux-arm64.tar.gz ++ sha256sum: d713d8fbec491705ffe8c33ecc9051a904f6eedc92574928e1d33616f291c583 + src_files: + - debian/files/config.toml + - debian/files/containerd.service +-- +2.30.2 + diff --git a/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0003-runc-add-dl_path_arm64-in-meta_data.yaml.patch b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0003-runc-add-dl_path_arm64-in-meta_data.yaml.patch new file mode 100644 index 00000000..3d9d3291 --- /dev/null +++ b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0003-runc-add-dl_path_arm64-in-meta_data.yaml.patch @@ -0,0 +1,73 @@ +From bcbd1156399106a4baf156ed144759579d7176d3 Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Wed, 28 Jun 2023 10:23:00 +0800 +Subject: [PATCH 03/12] runc: add dl_path_arm64 in meta_data.yaml + +The dl_path for arm64 is different whith the one for x86, +so add dl_path_arm64 for arm64. + +Use @BUILD_ARCH@ to avoid hardcoded arch names in deb files. + +Test Plan: +PASS: build-pkgs on x86-64 host +PASS: build-image on x86-64 host +PASS: build-pkgs on arm64 host +PASS: build-image on arm64 host +PASS: Deploy AIO-SX on x86-64 target +PASS: Deploy AIO-SX on arm64 target +PASS: Deploy AIO-DX on arm64 targets +PASS: Deploy std (2+2+2) on arm64 targets + +Story: 2010739 +Task: 47981 + +Depends-On: https://review.opendev.org/c/starlingx/root/+/889686 + +Change-Id: Ib72861e266dcb08fe3609eba9a98d5c7d0676aa2 +Signed-off-by: Jackie Huang +--- + kubernetes/runc/debian/deb_folder/copyright | 2 +- + kubernetes/runc/debian/deb_folder/runc.install | 2 +- + kubernetes/runc/debian/meta_data.yaml | 5 +++++ + 3 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/kubernetes/runc/debian/deb_folder/copyright b/kubernetes/runc/debian/deb_folder/copyright +index 737e4ed7..e33b7616 100644 +--- a/kubernetes/runc/debian/deb_folder/copyright ++++ b/kubernetes/runc/debian/deb_folder/copyright +@@ -7,7 +7,7 @@ License: Apache-2 + + Other files are included from the upstream runc + binary package at +-https://github.com/opencontainers/runc/releases/download/v1.1.7/runc.amd64 ++https://github.com/opencontainers/runc/releases/download/v1.1.7/runc.@BUILD_ARCH@ + + + License: Apache-2.0 +diff --git a/kubernetes/runc/debian/deb_folder/runc.install b/kubernetes/runc/debian/deb_folder/runc.install +index 430dc94d..1b9a3d51 100755 +--- a/kubernetes/runc/debian/deb_folder/runc.install ++++ b/kubernetes/runc/debian/deb_folder/runc.install +@@ -1,2 +1,2 @@ + #!/usr/bin/dh-exec --with=install +-runc.amd64 => usr/bin/runc ++runc.@BUILD_ARCH@ => usr/bin/runc +diff --git a/kubernetes/runc/debian/meta_data.yaml b/kubernetes/runc/debian/meta_data.yaml +index cc813a2f..14c6735f 100644 +--- a/kubernetes/runc/debian/meta_data.yaml ++++ b/kubernetes/runc/debian/meta_data.yaml +@@ -7,6 +7,11 @@ dl_files: + topdir: null + url: https://github.com/opencontainers/runc/releases/download/v1.1.7/runc.amd64 + sha256sum: c3aadb419e5872af49504b6de894055251d2e685fddddb981a79703e7f895cbd ++dl_files_arm64: ++ runc.arm64: ++ topdir: null ++ url: https://github.com/opencontainers/runc/releases/download/v1.1.7/runc.arm64 ++ sha256sum: 1b309c4d5aa4cc7b888b2f79c385ecee26ca3d55dae0852e7c4a692196d5faab + revision: + dist: $STX_DIST + GITREVCOUNT: +-- +2.30.2 + diff --git a/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0004-chartmuseum-add-support-for-arm64.patch b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0004-chartmuseum-add-support-for-arm64.patch new file mode 100644 index 00000000..68d5a5a5 --- /dev/null +++ b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0004-chartmuseum-add-support-for-arm64.patch @@ -0,0 +1,76 @@ +From 152f4dc88e0d915cce7281c7ccced83feb581f7e Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Wed, 8 Feb 2023 02:09:05 -0500 +Subject: [PATCH 04/12] chartmuseum: add support for arm64 + +* The link for arm64 is different, so add dl_files_arm64 + +* Use DEB_HOST_ARCH to handle tar files for different arches. + +Test Plan: +PASS: build-pkgs on x86-64 host +PASS: build-image on x86-64 host +PASS: build-pkgs on arm64 host +PASS: build-image on arm64 host +PASS: Deploy AIO-SX on x86-64 target +PASS: Deploy AIO-SX on arm64 target +PASS: Deploy AIO-DX on arm64 targets +PASS: Deploy std (2+2+2) on arm64 targets + +Story: 2010739 +Task: 47981 + +Depends-On: https://review.opendev.org/c/starlingx/root/+/889686 + +Change-Id: I8047d006c56bb611e6dcec8ec12c2cdd8d5eb612 +Signed-off-by: Jackie Huang +--- + kubernetes/chartmuseum/debian/deb_folder/rules | 5 +++-- + kubernetes/chartmuseum/debian/meta_data.yaml | 6 ++++++ + 2 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/kubernetes/chartmuseum/debian/deb_folder/rules b/kubernetes/chartmuseum/debian/deb_folder/rules +index 4ea4c8fa..e38d88bf 100755 +--- a/kubernetes/chartmuseum/debian/deb_folder/rules ++++ b/kubernetes/chartmuseum/debian/deb_folder/rules +@@ -4,17 +4,18 @@ + export CHARTMUSEUM_VERSION = 0.13.0 + export ROOT = debian/tmp + export BINDIR = $(ROOT)/usr/bin ++export DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH 2>/dev/null) + + %: + dh $@ + + override_dh_auto_build: +- tar xfz chartmuseum-v$(CHARTMUSEUM_VERSION)-linux-amd64.tar.gz ++ tar xfz chartmuseum-v$(CHARTMUSEUM_VERSION)-linux-$(DEB_HOST_ARCH).tar.gz + + override_dh_auto_clean: + + override_dh_auto_install: + install -d -m 755 $(BINDIR) +- install -p -D -m 755 linux-amd64/chartmuseum $(BINDIR)/chartmuseum ++ install -p -D -m 755 linux-$(DEB_HOST_ARCH)/chartmuseum $(BINDIR)/chartmuseum + + override_dh_auto_test: +diff --git a/kubernetes/chartmuseum/debian/meta_data.yaml b/kubernetes/chartmuseum/debian/meta_data.yaml +index a898c279..1b722f48 100644 +--- a/kubernetes/chartmuseum/debian/meta_data.yaml ++++ b/kubernetes/chartmuseum/debian/meta_data.yaml +@@ -12,6 +12,12 @@ dl_files: + url: https://get.helm.sh/chartmuseum-v0.13.0-linux-amd64.tar.gz + md5sum: 14aaebaf95022fbc557f776f578f609f + sha256sum: fc6a8beda32975737a95b99292d18dd755ecfead0ceac1840f353d238818f683 ++dl_files_arm64: ++ chartmuseum-v0.13.0-linux-arm64.tar.gz: ++ topdir: linux-arm64 ++ url: https://get.helm.sh/chartmuseum-v0.13.0-linux-arm64.tar.gz ++ md5sum: d870170f1a0b04fb7f6efc4fc8f4bab5 ++ sha256sum: 9d803f7c6798a846cf173aff08f3a3f932093eaa38d8708f3cdf10bc1dd6b7a2 + revision: + dist: $STX_DIST + GITREVCOUNT: +-- +2.30.2 + diff --git a/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0005-helm-add-dl_files_arm64-and-fix-the-rules.patch b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0005-helm-add-dl_files_arm64-and-fix-the-rules.patch new file mode 100644 index 00000000..dcf0a6d6 --- /dev/null +++ b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0005-helm-add-dl_files_arm64-and-fix-the-rules.patch @@ -0,0 +1,77 @@ +From 5ea4c7ef61e071e82d771c8d1f457f950a736eea Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Wed, 8 Feb 2023 01:19:56 -0500 +Subject: [PATCH 05/12] helm: add dl_files_arm64 and fix the rules + +The dl_files for arm64 are different whith the ones for x86, +so add dl_files_arm64 for arm64. + +Use DEB_HOST_ARCH to replace the hardcoded arch name in the +rules file. + +Test Plan: +PASS: build-pkgs on x86-64 host +PASS: build-image on x86-64 host +PASS: build-pkgs on arm64 host +PASS: build-image on arm64 host +PASS: Deploy AIO-SX on x86-64 target +PASS: Deploy AIO-SX on arm64 target +PASS: Deploy AIO-DX on arm64 targets +PASS: Deploy std (2+2+2) on arm64 targets + +Story: 2010739 +Task: 47981 + +Depends-On: https://review.opendev.org/c/starlingx/root/+/889686 + +Change-Id: Ie71073e590fdde8ecf8d10d08c31e07904d89964 +Signed-off-by: Jackie Huang +--- + kubernetes/helm/debian/deb_folder/rules | 7 ++++--- + kubernetes/helm/debian/meta_data.yaml | 9 +++++++++ + 2 files changed, 13 insertions(+), 3 deletions(-) + +diff --git a/kubernetes/helm/debian/deb_folder/rules b/kubernetes/helm/debian/deb_folder/rules +index 6bac58e6..343a59b9 100755 +--- a/kubernetes/helm/debian/deb_folder/rules ++++ b/kubernetes/helm/debian/deb_folder/rules +@@ -6,12 +6,13 @@ export ROOT = debian/tmp + export SBINDIR = $(ROOT)/usr/sbin + export SUDOERDIR = $(ROOT)/etc/sudoers.d + ++export DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH 2>/dev/null) + export HELM_VERSION = 3.12.2 +-export HELM_EXECUTABLE = linux-amd64/helm +-export HELM_PKG = helm-v$(HELM_VERSION)-linux-amd64.tar.gz ++export HELM_EXECUTABLE = linux-$(DEB_HOST_ARCH)/helm ++export HELM_PKG = helm-v$(HELM_VERSION)-linux-$(DEB_HOST_ARCH).tar.gz + + export HELM_MAPKUBEAPIS_VERSION = 0.4.1 +-export HELM_MAPKUBEAPIS_PKG = helm-mapkubeapis_$(HELM_MAPKUBEAPIS_VERSION)_linux_amd64.tar.gz ++export HELM_MAPKUBEAPIS_PKG = helm-mapkubeapis_$(HELM_MAPKUBEAPIS_VERSION)_linux_$(DEB_HOST_ARCH).tar.gz + + %: + dh $@ +diff --git a/kubernetes/helm/debian/meta_data.yaml b/kubernetes/helm/debian/meta_data.yaml +index 915e3e4b..c210350d 100644 +--- a/kubernetes/helm/debian/meta_data.yaml ++++ b/kubernetes/helm/debian/meta_data.yaml +@@ -11,6 +11,15 @@ dl_files: + topdir: mapkubeapis + url: https://github.com/helm/helm-mapkubeapis/releases/download/v0.4.1/helm-mapkubeapis_0.4.1_linux_amd64.tar.gz + sha256sum: e90a22c4acee76774589042f6a5901e136ee33c10630790d6cff37d169905a78 ++dl_files_arm64: ++ helm-v3.12.2-linux-arm64.tar.gz: ++ topdir: linux-arm64 ++ url: https://get.helm.sh/helm-v3.12.2-linux-arm64.tar.gz ++ sha256sum: cfafbae85c31afde88c69f0e5053610c8c455826081c1b2d665d9b44c31b3759 ++ helm-mapkubeapis_0.4.1_linux_arm64.tar.gz: ++ topdir: mapkubeapis ++ url: https://github.com/helm/helm-mapkubeapis/releases/download/v0.4.1/helm-mapkubeapis_0.4.1_linux_arm64.tar.gz ++ sha256sum: 893ccab831d0d868768ba1bd63c0186f83ffda89cd95c0bc86cb12add9fe0d05 + + revision: + dist: $STX_DIST +-- +2.30.2 + diff --git a/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0006-kubectl-cert-manager-add-dl_files_arm64.patch b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0006-kubectl-cert-manager-add-dl_files_arm64.patch new file mode 100644 index 00000000..bfb137f3 --- /dev/null +++ b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0006-kubectl-cert-manager-add-dl_files_arm64.patch @@ -0,0 +1,74 @@ +From 55769435d21a5f5b50bdeb478c2f5e6a3496b94a Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Wed, 8 Feb 2023 06:18:24 -0500 +Subject: [PATCH 06/12] kubectl-cert-manager: add dl_files_arm64 + +The dl_files for arm64 are different whith the ones for x86, +so add dl_files_arm64 for arm64. + +Use DEB_HOST_ARCH to replace the hardcoded arch name in the +rules file. + +Test Plan: +PASS: build-pkgs on x86-64 host +PASS: build-image on x86-64 host +PASS: build-pkgs on arm64 host +PASS: build-image on arm64 host +PASS: Deploy AIO-SX on x86-64 target +PASS: Deploy AIO-SX on arm64 target +PASS: Deploy AIO-DX on arm64 targets +PASS: Deploy std (2+2+2) on arm64 targets + +Story: 2010739 +Task: 47981 + +Depends-On: https://review.opendev.org/c/starlingx/root/+/889686 + +Change-Id: Ie4f3a5e35f0ce1edead4e4d25548cc9744cf89c7 +Signed-off-by: Jackie Huang +--- + .../plugins/kubectl-cert-manager/debian/deb_folder/rules | 5 +++-- + .../plugins/kubectl-cert-manager/debian/meta_data.yaml | 6 ++++++ + 2 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/kubernetes/plugins/kubectl-cert-manager/debian/deb_folder/rules b/kubernetes/plugins/kubectl-cert-manager/debian/deb_folder/rules +index 6060bda9..df7e75ae 100644 +--- a/kubernetes/plugins/kubectl-cert-manager/debian/deb_folder/rules ++++ b/kubernetes/plugins/kubectl-cert-manager/debian/deb_folder/rules +@@ -2,7 +2,8 @@ + # vim: set expandtab! + # export DH_VERBOSE = 1 + +-export CERT_MANAGER_PKG = kubectl-cert-manager-linux-amd64.tar.gz ++export DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH 2>/dev/null) ++export CERT_MANAGER_PKG = kubectl-cert-manager-linux-$(DEB_HOST_ARCH).tar.gz + export ROOT = debian/tmp + export SBIN_DIR = $(ROOT)/usr/sbin + +@@ -18,4 +19,4 @@ override_dh_auto_install: + install -p -D -m 755 kubectl-cert_manager $(SBIN_DIR) + + override_dh_usrlocal: +- # Do Nothing +\ No newline at end of file ++ # Do Nothing +diff --git a/kubernetes/plugins/kubectl-cert-manager/debian/meta_data.yaml b/kubernetes/plugins/kubectl-cert-manager/debian/meta_data.yaml +index d66447af..5ecf0d34 100644 +--- a/kubernetes/plugins/kubectl-cert-manager/debian/meta_data.yaml ++++ b/kubernetes/plugins/kubectl-cert-manager/debian/meta_data.yaml +@@ -8,6 +8,12 @@ dl_files: + url: https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/kubectl-cert_manager-linux-amd64.tar.gz + md5sum: 661909b84c3ef582a0d941f7ff3d9be7 + sha256sum: f5a2741db8f5f5db4ab7ad041561b4c541a1ae35923053deadb0afb0e8c16cef ++dl_files_arm64: ++ kubectl-cert-manager-linux-arm64.tar.gz: ++ topdir: null ++ url: https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/kubectl-cert_manager-linux-arm64.tar.gz ++ md5sum: abf045f8a28c7104587a6bfae9fd964c ++ sha256sum: 116b34c2890fed102c743205c52f3c66ded5c44f4ca3594beebe3ba4581bb8f5 + revision: + dist: $STX_DIST + GITREVCOUNT: +-- +2.30.2 + diff --git a/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0007-kubernetes-add-support-for-arm64.patch b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0007-kubernetes-add-support-for-arm64.patch new file mode 100644 index 00000000..1202dbed --- /dev/null +++ b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0007-kubernetes-add-support-for-arm64.patch @@ -0,0 +1,382 @@ +From f3f34146a74eb4e286bb3f626c2ac7d197f4b640 Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Wed, 8 Feb 2023 03:01:19 -0500 +Subject: [PATCH 07/12] kubernetes: add support for arm64 + +Add arm64 as the supported arch in the control file. + +Test Plan: +PASS: build-pkgs on x86-64 host +PASS: build-image on x86-64 host +PASS: build-pkgs on arm64 host +PASS: build-image on arm64 host +PASS: Deploy AIO-SX on x86-64 target +PASS: Deploy AIO-SX on arm64 target +PASS: Deploy AIO-DX on arm64 targets +PASS: Deploy std (2+2+2) on arm64 targets + +Story: 2010739 +Task: 47981 + +Change-Id: I04bcb23bc67f0c885e4c1ca99260d27e7e06e023 +Signed-off-by: Jackie Huang +--- + .../kubernetes-1.24.4/debian/deb_folder/control | 12 ++++++------ + .../kubernetes-1.25.3/debian/deb_folder/control | 12 ++++++------ + .../kubernetes-1.26.1/debian/deb_folder/control | 12 ++++++------ + .../kubernetes-1.27.5/debian/deb_folder/control | 12 ++++++------ + .../kubernetes-1.28.4/debian/deb_folder/control | 12 ++++++------ + .../kubernetes-1.29.2/debian/deb_folder/control | 12 ++++++------ + 6 files changed, 36 insertions(+), 36 deletions(-) + +diff --git a/kubernetes/kubernetes-1.24.4/debian/deb_folder/control b/kubernetes/kubernetes-1.24.4/debian/deb_folder/control +index 4635bf47..79bd790d 100644 +--- a/kubernetes/kubernetes-1.24.4/debian/deb_folder/control ++++ b/kubernetes/kubernetes-1.24.4/debian/deb_folder/control +@@ -15,7 +15,7 @@ Homepage: http://kubernetes.io/ + + Package: kubernetes-1.24.4-client + Provides: kubernetes-utils +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends} + Recommends: ${misc:Recommends} + Built-Using: ${misc:Built-Using} +@@ -23,7 +23,7 @@ Description: Kubernetes Command Line Tool + The Kubernetes command line tool for interacting with the Kubernetes API. + + Package: kubernetes-1.24.4-master +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + adduser, + lsb-base, +@@ -44,7 +44,7 @@ Description: Kubernetes services for master host + + Package: kubernetes-1.24.4-node + Provides: cadvisor +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + adduser, + conntrack, +@@ -64,7 +64,7 @@ Description: Kubernetes services for node host + issues. + + Package: kubernetes-1.24.4-kubeadm +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, containernetworking-plugins + Recommends: ${misc:Recommends}, kubernetes-1.24.4-client + Built-Using: ${misc:Built-Using} +@@ -72,7 +72,7 @@ Description: Kubernetes Cluster Bootstrapping Tool + The Kubernetes command line tool for bootstrapping a Kubernetes cluster. + + Package: kubernetes-1.24.4-misc +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends} + Recommends: ${misc:Recommends} + Built-Using: ${misc:Built-Using} +@@ -80,7 +80,7 @@ Description: dummy package + Kubernetes dummy package for misc stuff we don't want to install in production. + + Package: kubernetes-1.24.4-unit-test +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + hostname, + rsync, +diff --git a/kubernetes/kubernetes-1.25.3/debian/deb_folder/control b/kubernetes/kubernetes-1.25.3/debian/deb_folder/control +index 33e2b16e..b441ac79 100644 +--- a/kubernetes/kubernetes-1.25.3/debian/deb_folder/control ++++ b/kubernetes/kubernetes-1.25.3/debian/deb_folder/control +@@ -15,7 +15,7 @@ Homepage: http://kubernetes.io/ + + Package: kubernetes-1.25.3-client + Provides: kubernetes-utils +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends} + Recommends: ${misc:Recommends} + Built-Using: ${misc:Built-Using} +@@ -23,7 +23,7 @@ Description: Kubernetes Command Line Tool + The Kubernetes command line tool for interacting with the Kubernetes API. + + Package: kubernetes-1.25.3-master +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + adduser, + lsb-base, +@@ -44,7 +44,7 @@ Description: Kubernetes services for master host + + Package: kubernetes-1.25.3-node + Provides: cadvisor +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + adduser, + conntrack, +@@ -64,7 +64,7 @@ Description: Kubernetes services for node host + issues. + + Package: kubernetes-1.25.3-kubeadm +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, containernetworking-plugins + Recommends: ${misc:Recommends}, kubernetes-1.25.3-client + Built-Using: ${misc:Built-Using} +@@ -72,7 +72,7 @@ Description: Kubernetes Cluster Bootstrapping Tool + The Kubernetes command line tool for bootstrapping a Kubernetes cluster. + + Package: kubernetes-1.25.3-misc +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends} + Recommends: ${misc:Recommends} + Built-Using: ${misc:Built-Using} +@@ -80,7 +80,7 @@ Description: dummy package + Kubernetes dummy package for misc stuff we don't want to install in production. + + Package: kubernetes-1.25.3-unit-test +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + hostname, + rsync, +diff --git a/kubernetes/kubernetes-1.26.1/debian/deb_folder/control b/kubernetes/kubernetes-1.26.1/debian/deb_folder/control +index 03a3003c..94948c07 100644 +--- a/kubernetes/kubernetes-1.26.1/debian/deb_folder/control ++++ b/kubernetes/kubernetes-1.26.1/debian/deb_folder/control +@@ -15,7 +15,7 @@ Homepage: http://kubernetes.io/ + + Package: kubernetes-1.26.1-client + Provides: kubernetes-utils +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends} + Recommends: ${misc:Recommends} + Built-Using: ${misc:Built-Using} +@@ -23,7 +23,7 @@ Description: Kubernetes Command Line Tool + The Kubernetes command line tool for interacting with the Kubernetes API. + + Package: kubernetes-1.26.1-master +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + adduser, + lsb-base, +@@ -44,7 +44,7 @@ Description: Kubernetes services for master host + + Package: kubernetes-1.26.1-node + Provides: cadvisor +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + adduser, + conntrack, +@@ -64,7 +64,7 @@ Description: Kubernetes services for node host + issues. + + Package: kubernetes-1.26.1-kubeadm +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, containernetworking-plugins + Recommends: ${misc:Recommends}, kubernetes-1.26.1-client + Built-Using: ${misc:Built-Using} +@@ -72,7 +72,7 @@ Description: Kubernetes Cluster Bootstrapping Tool + The Kubernetes command line tool for bootstrapping a Kubernetes cluster. + + Package: kubernetes-1.26.1-misc +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends} + Recommends: ${misc:Recommends} + Built-Using: ${misc:Built-Using} +@@ -80,7 +80,7 @@ Description: dummy package + Kubernetes dummy package for misc stuff we don't want to install in production. + + Package: kubernetes-1.26.1-unit-test +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + hostname, + rsync, +diff --git a/kubernetes/kubernetes-1.27.5/debian/deb_folder/control b/kubernetes/kubernetes-1.27.5/debian/deb_folder/control +index cb1081e6..55bb901e 100644 +--- a/kubernetes/kubernetes-1.27.5/debian/deb_folder/control ++++ b/kubernetes/kubernetes-1.27.5/debian/deb_folder/control +@@ -15,7 +15,7 @@ Homepage: http://kubernetes.io/ + + Package: kubernetes-1.27.5-client + Provides: kubernetes-utils +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends} + Recommends: ${misc:Recommends} + Built-Using: ${misc:Built-Using} +@@ -23,7 +23,7 @@ Description: Kubernetes Command Line Tool + The Kubernetes command line tool for interacting with the Kubernetes API. + + Package: kubernetes-1.27.5-master +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + adduser, + lsb-base, +@@ -44,7 +44,7 @@ Description: Kubernetes services for master host + + Package: kubernetes-1.27.5-node + Provides: cadvisor +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + adduser, + conntrack, +@@ -64,7 +64,7 @@ Description: Kubernetes services for node host + issues. + + Package: kubernetes-1.27.5-kubeadm +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, containernetworking-plugins + Recommends: ${misc:Recommends}, kubernetes-1.27.5-client + Built-Using: ${misc:Built-Using} +@@ -72,7 +72,7 @@ Description: Kubernetes Cluster Bootstrapping Tool + The Kubernetes command line tool for bootstrapping a Kubernetes cluster. + + Package: kubernetes-1.27.5-misc +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends} + Recommends: ${misc:Recommends} + Built-Using: ${misc:Built-Using} +@@ -80,7 +80,7 @@ Description: dummy package + Kubernetes dummy package for misc stuff we don't want to install in production. + + Package: kubernetes-1.27.5-unit-test +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + hostname, + rsync, +diff --git a/kubernetes/kubernetes-1.28.4/debian/deb_folder/control b/kubernetes/kubernetes-1.28.4/debian/deb_folder/control +index 1dca8da8..4eed9bdb 100644 +--- a/kubernetes/kubernetes-1.28.4/debian/deb_folder/control ++++ b/kubernetes/kubernetes-1.28.4/debian/deb_folder/control +@@ -15,7 +15,7 @@ Homepage: http://kubernetes.io/ + + Package: kubernetes-1.28.4-client + Provides: kubernetes-utils +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends} + Recommends: ${misc:Recommends} + Built-Using: ${misc:Built-Using} +@@ -23,7 +23,7 @@ Description: Kubernetes Command Line Tool + The Kubernetes command line tool for interacting with the Kubernetes API. + + Package: kubernetes-1.28.4-master +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + adduser, + lsb-base, +@@ -44,7 +44,7 @@ Description: Kubernetes services for master host + + Package: kubernetes-1.28.4-node + Provides: cadvisor +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + adduser, + conntrack, +@@ -64,7 +64,7 @@ Description: Kubernetes services for node host + issues. + + Package: kubernetes-1.28.4-kubeadm +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, containernetworking-plugins + Recommends: ${misc:Recommends}, kubernetes-1.28.4-client + Built-Using: ${misc:Built-Using} +@@ -72,7 +72,7 @@ Description: Kubernetes Cluster Bootstrapping Tool + The Kubernetes command line tool for bootstrapping a Kubernetes cluster. + + Package: kubernetes-1.28.4-misc +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends} + Recommends: ${misc:Recommends} + Built-Using: ${misc:Built-Using} +@@ -80,7 +80,7 @@ Description: dummy package + Kubernetes dummy package for misc stuff we don't want to install in production. + + Package: kubernetes-1.28.4-unit-test +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + hostname, + rsync, +diff --git a/kubernetes/kubernetes-1.29.2/debian/deb_folder/control b/kubernetes/kubernetes-1.29.2/debian/deb_folder/control +index ec5491ea..dcc5e6f7 100644 +--- a/kubernetes/kubernetes-1.29.2/debian/deb_folder/control ++++ b/kubernetes/kubernetes-1.29.2/debian/deb_folder/control +@@ -15,7 +15,7 @@ Homepage: http://kubernetes.io/ + + Package: kubernetes-1.29.2-client + Provides: kubernetes-utils +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends} + Recommends: ${misc:Recommends} + Built-Using: ${misc:Built-Using} +@@ -23,7 +23,7 @@ Description: Kubernetes Command Line Tool + The Kubernetes command line tool for interacting with the Kubernetes API. + + Package: kubernetes-1.29.2-master +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + adduser, + lsb-base, +@@ -44,7 +44,7 @@ Description: Kubernetes services for master host + + Package: kubernetes-1.29.2-node + Provides: cadvisor +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + adduser, + conntrack, +@@ -64,7 +64,7 @@ Description: Kubernetes services for node host + issues. + + Package: kubernetes-1.29.2-kubeadm +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, containernetworking-plugins + Recommends: ${misc:Recommends}, kubernetes-1.29.2-client + Built-Using: ${misc:Built-Using} +@@ -72,7 +72,7 @@ Description: Kubernetes Cluster Bootstrapping Tool + The Kubernetes command line tool for bootstrapping a Kubernetes cluster. + + Package: kubernetes-1.29.2-misc +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends} + Recommends: ${misc:Recommends} + Built-Using: ${misc:Built-Using} +@@ -80,7 +80,7 @@ Description: dummy package + Kubernetes dummy package for misc stuff we don't want to install in production. + + Package: kubernetes-1.29.2-unit-test +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + hostname, + rsync, +-- +2.30.2 + diff --git a/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0008-ceph-add-support-for-arm64.patch b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0008-ceph-add-support-for-arm64.patch new file mode 100644 index 00000000..6c477420 --- /dev/null +++ b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0008-ceph-add-support-for-arm64.patch @@ -0,0 +1,42 @@ +From a866467b15afb3200e168e5a245316b51210e8e6 Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Wed, 26 Jul 2023 22:30:09 +0800 +Subject: [PATCH 08/12] ceph: add support for arm64 + +Add arm64 as the supported arch in the control file. + +Test Plan: +PASS: build-pkgs on x86-64 host +PASS: build-image on x86-64 host +PASS: build-pkgs on arm64 host +PASS: build-image on arm64 host +PASS: Deploy AIO-SX on x86-64 target +PASS: Deploy AIO-SX on arm64 target +PASS: Deploy AIO-DX on arm64 targets +PASS: Deploy std (2+2+2) on arm64 targets + +Story: 2010739 +Task: 47981 + +Change-Id: Ice075e99a153b9b7da64a7da9eadc7233bc685ea +Signed-off-by: Jackie Huang +--- + ceph/ceph/debian/deb_folder/control | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ceph/ceph/debian/deb_folder/control b/ceph/ceph/debian/deb_folder/control +index b8677932..6d8d12ff 100644 +--- a/ceph/ceph/debian/deb_folder/control ++++ b/ceph/ceph/debian/deb_folder/control +@@ -178,7 +178,7 @@ Description: common utilities to mount and interact with a ceph storage cluster + of common tools that allow one to interact with and administer a Ceph cluster. + + Package: ceph-fuse +-Architecture: amd64 ++Architecture: amd64 arm64 + Depends: + python3, + ${misc:Depends}, +-- +2.30.2 + diff --git a/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0009-grub-efi-add-support-for-arm64.patch b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0009-grub-efi-add-support-for-arm64.patch new file mode 100644 index 00000000..dec6b99b --- /dev/null +++ b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0009-grub-efi-add-support-for-arm64.patch @@ -0,0 +1,363 @@ +From d1018c38965a4a58e7d8ed735259a880887af814 Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Thu, 27 Jul 2023 11:19:40 +0800 +Subject: [PATCH 09/12] grub-efi: add support for arm64 + +The patches for x86 secure boot can't work for arm64, +add extra series_arm64 in patches and deb_patches dir +for arm64 specifc patches, not secure boot specifc patches +are included, so the secure boot feature is disable +for arm64 now. + +Test Plan: +PASS: build-pkgs on x86-64 host +PASS: build-image on x86-64 host +PASS: build-pkgs on arm64 host +PASS: build-image on arm64 host +PASS: Deploy AIO-SX on x86-64 target +PASS: Deploy AIO-SX on arm64 target +PASS: Deploy AIO-DX on arm64 targets +PASS: Deploy std (2+2+2) on arm64 targets + +Story: 2010739 +Task: 47981 + +Depends-On: https://review.opendev.org/c/starlingx/root/+/889686 + +Change-Id: Ie0c63e4f35c34dc26971b2129c0b82001c78e059 +Signed-off-by: Jackie Huang +--- + ...ARM-rules-create-efi-files-for-arm64.patch | 70 +++++++++++ + ...2-ARM-rules-disable-efivar-for-arm64.patch | 29 +++++ + ...rol-add-grub-common-and-grub2-common.patch | 111 ++++++++++++++++++ + grub/grub-efi/debian/deb_patches/series_arm64 | 5 + + .../1001-ARM-init.c-fix-build-for-arm64.patch | 34 ++++++ + grub/grub-efi/debian/patches/series_arm64 | 32 +++++ + 6 files changed, 281 insertions(+) + create mode 100644 grub/grub-efi/debian/deb_patches/arm/1001-ARM-rules-create-efi-files-for-arm64.patch + create mode 100644 grub/grub-efi/debian/deb_patches/arm/1002-ARM-rules-disable-efivar-for-arm64.patch + create mode 100644 grub/grub-efi/debian/deb_patches/arm/1003-ARM-control-add-grub-common-and-grub2-common.patch + create mode 100644 grub/grub-efi/debian/deb_patches/series_arm64 + create mode 100644 grub/grub-efi/debian/patches/arm/1001-ARM-init.c-fix-build-for-arm64.patch + create mode 100644 grub/grub-efi/debian/patches/series_arm64 + +diff --git a/grub/grub-efi/debian/deb_patches/arm/1001-ARM-rules-create-efi-files-for-arm64.patch b/grub/grub-efi/debian/deb_patches/arm/1001-ARM-rules-create-efi-files-for-arm64.patch +new file mode 100644 +index 00000000..596fee53 +--- /dev/null ++++ b/grub/grub-efi/debian/deb_patches/arm/1001-ARM-rules-create-efi-files-for-arm64.patch +@@ -0,0 +1,70 @@ ++From af42d524353ffd95f63fb9afa910258f1394231d Mon Sep 17 00:00:00 2001 ++From: Jackie Huang ++Date: Fri, 19 May 2023 05:56:03 -0400 ++Subject: [PATCH] rules: create efi files for arm64 ++ ++Signed-off-by: Jackie Huang ++--- ++ debian/rules | 32 +++++++++++++++++++++++++++++++- ++ 1 file changed, 31 insertions(+), 1 deletion(-) ++ ++diff --git a/debian/rules b/debian/rules ++index c22ba5a..e45d349 100755 ++--- a/debian/rules +++++ b/debian/rules ++@@ -344,7 +344,7 @@ install/grub-none: ++ # files. ++ mkdir -p debian/tmp-$(package)/usr/share/locale ++ ++-D_PACKAGE := debian/grub-efi-amd64/ +++D_PACKAGE := debian/grub-efi-$(DEB_HOST_ARCH)/ ++ EFI_BOOT_PATH := /boot/efi/EFI/BOOT ++ DISTRO_NAME := StarlingX ++ DISTRO_VERSION := ++@@ -357,6 +357,12 @@ GRUB_TARGET := x86_64 ++ GRUB_PREFIX_DIR := /EFI/BOOT ++ OBJ_DIR := ./obj/grub-efi-amd64 ++ +++ifeq ($(DEB_HOST_ARCH),arm64) +++OSTREE_CONSOLE := console=ttyAMA0,115200 +++GRUB_TARGET := arm64 +++OBJ_DIR := ./obj/grub-efi-arm64 +++endif +++ ++ install/grub-efi-amd64 install/grub-efi-ia64 install/grub-efi-arm install/grub-efi-arm64 install/grub-ieee1275 install/grub-coreboot install/grub-emu install/grub-uboot install/grub-xen install/grub-yeeloong: ++ set -e ; \ ++ if [ "$@" = "install/grub-xen" ] ; then \ ++@@ -501,6 +507,30 @@ install/grub-efi-amd64 install/grub-efi-ia64 install/grub-efi-arm install/grub-e ++ install -m 0644 $(OBJ_DIR)/grub-core/*.mod $(D_PACKAGE)$(EFI_BOOT_PATH)/$(GRUB_TARGET)-efi ; \ ++ fi ++ +++ if [ "$@" = "install/grub-efi-arm64" ] ; then \ +++ install -d $(D_PACKAGE)/$(EFI_BOOT_PATH) ; \ +++ install -m 0600 ./grub-runtime.cfg $(D_PACKAGE)$(EFI_BOOT_PATH)/grub.cfg ; \ +++ sed -i "s#%DISTRO_NAME%#$(DISTRO_NAME)#g" "$(D_PACKAGE)$(EFI_BOOT_PATH)/grub.cfg" ; \ +++ sed -i "s#%DISTRO_VERSION%#$(DISTRO_VERSION)#g" "$(D_PACKAGE)$(EFI_BOOT_PATH)/grub.cfg" ; \ +++ echo -n "password_pbkdf2 $(OSTREE_GRUB_USER) " > ./pw ; \ +++ cat "$(OSTREE_GRUB_PW_FILE)" >> ./pw ; \ +++ sed -i "s#%OSTREE_GRUB_USER%#$(OSTREE_GRUB_USER)#g" "$(D_PACKAGE)$(EFI_BOOT_PATH)/grub.cfg" ; \ +++ str_pw=`cat ./pw` ; \ +++ sed -i "s#%OSTREE_GRUB_PW%#$${str_pw}#g" "$(D_PACKAGE)$(EFI_BOOT_PATH)/grub.cfg" ; \ +++ sed -i "s#%OSTREE_CONSOLE%#$(OSTREE_CONSOLE)#g" "$(D_PACKAGE)$(EFI_BOOT_PATH)/grub.cfg" ; \ +++ $(OBJ_DIR)/grub-mkimage -c ./cfg_nosecure -p "$(GRUB_PREFIX_DIR)" -d "$(OBJ_DIR)/grub-core" \ +++ -O "$(GRUB_TARGET)-efi" -o "./bootaa64-nosig.efi" \ +++ $(GRUB_BUILDIN) ; \ +++ install -m 0644 ./bootaa64-nosig.efi $(D_PACKAGE)$(EFI_BOOT_PATH)/bootaa64-nosig.efi ; \ +++ $(OBJ_DIR)/grub-editenv "$(D_PACKAGE)$(EFI_BOOT_PATH)/grubenv" create ; \ +++ install -d $(D_PACKAGE)$(EFI_BOOT_PATH)/$(GRUB_TARGET)-efi ; \ +++ $(OBJ_DIR)/grub-mkimage -c ./cfg -p "$(GRUB_PREFIX_DIR)" -d "$(OBJ_DIR)/grub-core" \ +++ -O "$(GRUB_TARGET)-efi" -o "./grubaa64.efi" \ +++ $(GRUB_BUILDIN) $(GRUB_SECURE_BUILDIN) ; \ +++ install -m 0644 ./grubaa64.efi $(D_PACKAGE)$(EFI_BOOT_PATH)/grubaa64.efi ; \ +++ install -m 0644 $(OBJ_DIR)/grub-core/*.mod $(D_PACKAGE)$(EFI_BOOT_PATH)/$(GRUB_TARGET)-efi ; \ +++ fi +++ ++ common_subst = \ ++ if [ -e debian/grub-common.$(1) ]; then \ ++ sed 's/@COMMON_PLATFORM@/$(COMMON_PLATFORM)/g' \ ++-- ++2.30.2 ++ +diff --git a/grub/grub-efi/debian/deb_patches/arm/1002-ARM-rules-disable-efivar-for-arm64.patch b/grub/grub-efi/debian/deb_patches/arm/1002-ARM-rules-disable-efivar-for-arm64.patch +new file mode 100644 +index 00000000..5312a255 +--- /dev/null ++++ b/grub/grub-efi/debian/deb_patches/arm/1002-ARM-rules-disable-efivar-for-arm64.patch +@@ -0,0 +1,29 @@ ++From 84f319dd8deaf2bb5d00e697979d4a432faafba8 Mon Sep 17 00:00:00 2001 ++From: Jackie Huang ++Date: Fri, 19 May 2023 06:22:57 -0400 ++Subject: [PATCH] rules: disable efivar for arm64 ++ ++./obj/grub-efi-arm64/grub-mkimage: error: cannot open `./obj/grub-efi-arm64/grub-core/efivar.mod': No such file or directory. ++./obj/grub-efi-arm64/grub-mkimage: error: cannot open `./obj/grub-efi-arm64/grub-core/efivar.mod': No such file or directory. ++ ++Signed-off-by: Jackie Huang ++--- ++ debian/rules | 2 ++ ++ 1 file changed, 2 insertions(+) ++ ++diff --git a/debian/rules b/debian/rules ++index 5697b3d..9fef924 100755 ++--- a/debian/rules +++++ b/debian/rules ++@@ -361,6 +361,8 @@ ifeq ($(DEB_HOST_ARCH),arm64) ++ OSTREE_CONSOLE := console=ttyAMA0,115200 ++ GRUB_TARGET := arm64 ++ OBJ_DIR := ./obj/grub-efi-arm64 +++GRUB_BUILDIN := boot linux ext2 fat serial part_msdos part_gpt normal efi_gop iso9660 configfile search loadenv test tftp efinet reboot chain regexp +++GRUB_SECURE_BUILDIN := tftp reboot chain password_pbkdf2 pgp gcry_rsa gcry_sha256 gcry_sha512 --pubkey ./boot_pub_key ++ endif ++ ++ install/grub-efi-amd64 install/grub-efi-ia64 install/grub-efi-arm install/grub-efi-arm64 install/grub-ieee1275 install/grub-coreboot install/grub-emu install/grub-uboot install/grub-xen install/grub-yeeloong: ++-- ++2.30.2 ++ +diff --git a/grub/grub-efi/debian/deb_patches/arm/1003-ARM-control-add-grub-common-and-grub2-common.patch b/grub/grub-efi/debian/deb_patches/arm/1003-ARM-control-add-grub-common-and-grub2-common.patch +new file mode 100644 +index 00000000..14c5f19c +--- /dev/null ++++ b/grub/grub-efi/debian/deb_patches/arm/1003-ARM-control-add-grub-common-and-grub2-common.patch +@@ -0,0 +1,111 @@ ++From 05ca2538d90be2c9789e5076770457039f6f4ab0 Mon Sep 17 00:00:00 2001 ++From: Jackie Huang ++Date: Tue, 23 May 2023 23:28:14 -0400 ++Subject: [PATCH] control: add grub-common and grub2-common ++ ++Signed-off-by: Jackie Huang ++--- ++ debian/control | 33 +++++++++++++++++++++++++++++++++ ++ debian/grub-common.install.in | 2 -- ++ debian/rules | 7 ++++--- ++ 3 files changed, 37 insertions(+), 5 deletions(-) ++ ++diff --git a/debian/control b/debian/control ++index caea0c3..7b4f933 100644 ++--- a/debian/control +++++ b/debian/control ++@@ -50,6 +50,39 @@ Description: GRand Unified Bootloader, version 2 (dummy package) ++ This is a dummy package that depends on the grub-efi-$ARCH package most likely ++ to be appropriate for each architecture. ++ +++Package: grub-common +++Architecture: any +++Depends: ${shlibs:Depends}, ${misc:Depends}, gettext-base, ${lsb-base-depends} +++Replaces: grub-pc (<< 2.00-4), grub-ieee1275 (<< 2.00-4), grub-efi (<< 1.99-1), grub-coreboot (<< 2.00-4), grub-linuxbios (<< 1.96+20080831-1), grub-efi-ia32 (<< 2.00-4), grub-efi-amd64 (<< 2.00-4), grub-efi-ia64 (<< 2.00-4), grub-yeeloong (<< 2.00-4), init-select +++Recommends: os-prober (>= 1.33) +++Suggests: multiboot-doc, grub-emu [any-i386 any-amd64 any-powerpc], mtools [any-i386 any-amd64 any-ia64 any-arm any-arm64], xorriso (>= 0.5.6.pl00), desktop-base (>= 4.0.6), console-setup +++Conflicts: init-select +++# mdadm: See bugs #435983 and #455746 +++Breaks: mdadm (<< 2.6.7-2), lupin-support (<< 0.55), friendly-recovery (<< 0.2.13), apport (<< 2.1.1) +++Multi-Arch: foreign +++Description: GRand Unified Bootloader (common files) +++ This package contains common files shared by the distinct flavours of GRUB. +++ It is shared between GRUB Legacy and GRUB 2, although a number of files +++ specific to GRUB 2 are here as long as they do not break GRUB Legacy. +++ . +++ grub-mkrescue needs the suggested packages mtools (for UEFI targets) and +++ xorriso. +++ +++Package: grub2-common +++# Not Architecture: any because this package contains some things which are +++# only built when there is a real platform (e.g. grub-install), and the rest +++# of the package is not very useful in a utilities-only build. +++Architecture: any-i386 any-amd64 any-powerpc any-ppc64 any-ppc64el any-sparc any-sparc64 any-mipsel any-ia64 any-arm any-arm64 +++Depends: grub-common (= ${binary:Version}), dpkg (>= 1.15.4) | install-info, ${shlibs:Depends}, ${misc:Depends} +++Replaces: grub, grub-legacy, ${legacy-doc-br}, grub-common (<< 1.99-1), grub-pc (<< 2.02+dfsg1-7), grub-coreboot (<< 2.02+dfsg1-7), grub-efi-ia32 (<< 2.02+dfsg1-7), grub-efi-amd64 (<< 2.02+dfsg1-7), grub-efi-ia64 (<< 2.02+dfsg1-7), grub-efi-arm (<< 2.02+dfsg1-7), grub-efi-arm64 (<< 2.02+dfsg1-7), grub-ieee1275 (<< 2.02+dfsg1-7), grub-uboot (<< 2.02+dfsg1-7), grub-xen (<< 2.02+dfsg1-7), grub-yeeloong (<< 2.02+dfsg1-7), grub-cloud-amd64 (<< 0.0.4) +++Conflicts: grub-legacy +++Breaks: grub (<< 0.97-54), ${legacy-doc-br}, shim (<< 0.9+1474479173.6c180c6-0ubuntu1~), grub-pc (<< 2.02+dfsg1-7), grub-coreboot (<< 2.02+dfsg1-7), grub-efi-ia32 (<< 2.02+dfsg1-7), grub-efi-amd64 (<< 2.02+dfsg1-7), grub-efi-ia64 (<< 2.02+dfsg1-7), grub-efi-arm (<< 2.02+dfsg1-7), grub-efi-arm64 (<< 2.02+dfsg1-7), grub-ieee1275 (<< 2.02+dfsg1-7), grub-uboot (<< 2.02+dfsg1-7), grub-xen (<< 2.02+dfsg1-7), grub-yeeloong (<< 2.02+dfsg1-7), grub-cloud-amd64 (<< 0.0.4) +++Multi-Arch: foreign +++Description: GRand Unified Bootloader (common files for version 2) +++ This package contains common files shared by the distinct flavours of GRUB. +++ The files in this package are specific to GRUB 2, and would break GRUB +++ Legacy if installed on the same system. +++ ++ Package: grub-efi-amd64-bin ++ Architecture: i386 kopensolaris-i386 any-amd64 ++ Depends: ${shlibs:Depends}, ${misc:Depends}, grub-common ++diff --git a/debian/grub-common.install.in b/debian/grub-common.install.in ++index 420a61e..cc6ae6d 100644 ++--- a/debian/grub-common.install.in +++++ b/debian/grub-common.install.in ++@@ -22,7 +22,6 @@ usr/bin/grub-script-check ++ usr/bin/grub-syslinux2cfg ++ usr/sbin/grub-macbless ++ usr/sbin/grub-mkconfig ++-usr/sbin/grub-mkdevicemap ++ usr/sbin/grub-probe ++ usr/share/grub/*.h ++ usr/share/grub/*.pf2 ++@@ -47,5 +46,4 @@ usr/share/man/man1/grub-script-check.1 ++ usr/share/man/man1/grub-syslinux2cfg.1 ++ usr/share/man/man8/grub-macbless.8 ++ usr/share/man/man8/grub-mkconfig.8 ++-usr/share/man/man8/grub-mkdevicemap.8 ++ usr/share/man/man8/grub-probe.8 ++diff --git a/debian/rules b/debian/rules ++index 9fef924..b3d2897 100755 ++--- a/debian/rules +++++ b/debian/rules ++@@ -167,10 +167,10 @@ override_dh_autoreconf: ++ PYTHON=python3 \ ++ dh_autoreconf -- ./autogen.sh ++ ++-debian/stamps/configure-grub-common: +++debian/stamps/configure-grub-common: debian/stamps/configure-grub-$(COMMON_PLATFORM) ++ touch $@ ++ ++-debian/stamps/build-grub-common: +++debian/stamps/build-grub-common: debian/stamps/build-grub-$(COMMON_PLATFORM) ++ touch $@ ++ ++ debian/stamps/configure-grub-none debian/stamps/configure-grub-pc debian/stamps/configure-grub-ieee1275 debian/stamps/configure-grub-coreboot debian/stamps/configure-grub-emu debian/stamps/configure-grub-uboot debian/stamps/configure-grub-yeeloong: ++@@ -208,7 +208,7 @@ debian/stamps/build-grub-none debian/stamps/build-grub-efi-ia64 debian/stamps/bu ++ dh_auto_build ++ touch $@ ++ ++-debian/stamps/build-grub-efi-amd64 debian/stamps/build-grub-efi-arm64: debian/stamps/build-%: debian/stamps/configure-% +++debian/stamps/build-grub-efi-amd64 debian/stamps/build-grub-efi-arm64: debian/stamps/build-%: debian/stamps/configure-% debian/stamps/build-grub-$(COMMON_PLATFORM) ++ dh_auto_build ++ grub_dir=`mktemp -d` ; \ ++ sed -e "s/@DEB_VERSION@/$(deb_version)/g" \ ++@@ -564,6 +564,7 @@ override_dh_install: ++ ifneq (,$(NON_PLATFORM_PACKAGES)) ++ dh_install $(patsubst %,-p%,$(NON_PLATFORM_PACKAGES)) ++ endif +++ dh_install $(patsubst %,-p%,$(COMMON_PLATFORM_PACKAGES)) --sourcedir=debian/tmp-grub-$(COMMON_PLATFORM) ++ rm -f debian/grub2-common/usr/share/info/dir* ++ rm -f debian/grub-theme-starfield/usr/share/grub/themes/starfield/COPYING.CC-BY-SA-3.0 ++ ifneq (,$(PLATFORM_PACKAGES)) ++-- ++2.30.2 ++ +diff --git a/grub/grub-efi/debian/deb_patches/series_arm64 b/grub/grub-efi/debian/deb_patches/series_arm64 +new file mode 100644 +index 00000000..0d336ead +--- /dev/null ++++ b/grub/grub-efi/debian/deb_patches/series_arm64 +@@ -0,0 +1,5 @@ ++0001-Make-series-null.patch ++0002-grub-efi-build-packages-related-with-grub-efi.patch ++arm/1001-ARM-rules-create-efi-files-for-arm64.patch ++arm/1002-ARM-rules-disable-efivar-for-arm64.patch ++arm/1003-ARM-control-add-grub-common-and-grub2-common.patch +diff --git a/grub/grub-efi/debian/patches/arm/1001-ARM-init.c-fix-build-for-arm64.patch b/grub/grub-efi/debian/patches/arm/1001-ARM-init.c-fix-build-for-arm64.patch +new file mode 100644 +index 00000000..fcdd0c86 +--- /dev/null ++++ b/grub/grub-efi/debian/patches/arm/1001-ARM-init.c-fix-build-for-arm64.patch +@@ -0,0 +1,34 @@ ++From 46e54aec0b0f6eda1bed195dd63f79e02f8b020a Mon Sep 17 00:00:00 2001 ++From: Jackie Huang ++Date: Thu, 25 May 2023 22:54:29 -0400 ++Subject: [PATCH] init.c: fix build for arm64 ++ ++Signed-off-by: Jackie Huang ++--- ++ grub-core/kern/efi/init.c | 3 ++- ++ 1 file changed, 2 insertions(+), 1 deletion(-) ++ ++diff --git a/grub-core/kern/efi/init.c b/grub-core/kern/efi/init.c ++index 4a88397..0ddadaa 100644 ++--- a/grub-core/kern/efi/init.c +++++ b/grub-core/kern/efi/init.c ++@@ -94,6 +94,7 @@ grub_cmd_efi_watchdog (grub_command_t cmd __attribute__ ((unused)), ++ grub_efi_status_t status; ++ grub_efi_uintn_t timeout; ++ grub_efi_uint64_t code; +++ grub_efi_char16_t *str_grub = (grub_efi_char16_t *)L"GRUB"; ++ ++ if (argc < 1) ++ return grub_error (GRUB_ERR_BAD_ARGUMENT, ++@@ -137,7 +138,7 @@ grub_cmd_efi_watchdog (grub_command_t cmd __attribute__ ((unused)), ++ } ++ ++ status = efi_call_4 (grub_efi_system_table->boot_services->set_watchdog_timer, ++- timeout, code, sizeof(L"GRUB"), L"GRUB"); +++ timeout, code, sizeof(str_grub), str_grub); ++ ++ if (status != GRUB_EFI_SUCCESS) ++ return grub_error (GRUB_ERR_BUG, ++-- ++2.30.2 ++ +diff --git a/grub/grub-efi/debian/patches/series_arm64 b/grub/grub-efi/debian/patches/series_arm64 +new file mode 100644 +index 00000000..54cbcc3d +--- /dev/null ++++ b/grub/grub-efi/debian/patches/series_arm64 +@@ -0,0 +1,32 @@ ++0001-grub2-add-tboot.patch ++0002-grub2-checking-if-loop-devices-are-available.patch ++0020-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch ++0021-video-readers-Add-artificial-limit-to-image-dimensio.patch ++0022-font-Reject-glyphs-exceeds-font-max_glyph_width-or-f.patch ++0023-font-Fix-size-overflow-in-grub_font_get_glyph_intern.patch ++0024-font-Fix-several-integer-overflows-in-grub_font_cons.patch ++0025-font-Remove-grub_font_dup_glyph.patch ++0026-font-Fix-integer-overflow-in-ensure_comb_space.patch ++0027-font-Fix-integer-overflow-in-BMP-index.patch ++0028-font-Fix-integer-underflow-in-binary-search-of-char-.patch ++0029-kern-efi-sb-Enforce-verification-of-font-files.patch ++0030-fbutil-Fix-integer-overflow.patch ++0031-font-Fix-an-integer-underflow-in-blit_comb.patch ++0032-font-Harden-grub_font_blit_glyph-and-grub_font_blit_.patch ++0033-font-Assign-null_font-to-glyphs-in-ascii_font_glyph.patch ++0034-normal-charset-Fix-an-integer-overflow-in-grub_unico.patch ++0035-video-readers-png-Drop-greyscale-support-to-fix-heap.patch ++0036-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch ++0037-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch ++0038-net-ip-Do-IP-fragment-maths-safely.patch ++0039-net-http-Fix-OOB-write-for-split-http-headers.patch ++0040-net-http-Error-out-on-headers-with-LF-without-CR.patch ++0041-loader-efi-chainloader-Simplify-the-loader-state.patch ++0042-commands-boot-Add-API-to-pass-context-to-loader.patch ++0043-loader-efi-chainloader-Use-grub_loader_set_ex.patch ++0044-fs-ntfs-Fix-an-OOB-write-when-parsing-the-ATTRIBUTE_.patch ++0045-fs-ntfs-Fix-an-OOB-read-when-reading-data-from-the-r.patch ++lat/0003-Make-UEFI-watchdog-behaviour-configurable.patch ++lat/0004-correct-grub_errno.patch ++lat/0005-grub-verify-Add-skip_check_cfg-variable.patch ++arm/1001-ARM-init.c-fix-build-for-arm64.patch +-- +2.30.2 + diff --git a/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0010-isolcpu-handle-devPath-when-it-doesn-t-exist.patch b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0010-isolcpu-handle-devPath-when-it-doesn-t-exist.patch new file mode 100644 index 00000000..74208151 --- /dev/null +++ b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0010-isolcpu-handle-devPath-when-it-doesn-t-exist.patch @@ -0,0 +1,69 @@ +From 55b007fcc580559e12d72c53ae39ba0136488b24 Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Wed, 6 Dec 2023 17:28:44 +0800 +Subject: [PATCH 10/12] isolcpu: handle devPath when it doesn't exist + +The /dev/cpu//cpuid doesn't exist and is not supported +for Arm architecture, so check its existence before passing +devPath to DeviceSpec. + +Test Plan: +PASS: build-pkgs on x86-64 host +PASS: build-image on x86-64 host +PASS: build-pkgs on arm64 host +PASS: build-image on arm64 host +PASS: Deploy AIO-SX on x86-64 target +PASS: Deploy AIO-SX on arm64 target +PASS: Deploy AIO-DX on arm64 targets +PASS: Deploy std (2+2+2) on arm64 targets + +Story: 2010739 +Task: 47981 + +Change-Id: I0f4905139365e6dc071994c46672816ae22b294d +Signed-off-by: Jackie Huang +--- + .../isolcpus-device-plugin/files/isolcpu.go | 20 ++++++++++++------- + 1 file changed, 13 insertions(+), 7 deletions(-) + +diff --git a/kubernetes/plugins/isolcpus-device-plugin/files/isolcpu.go b/kubernetes/plugins/isolcpus-device-plugin/files/isolcpu.go +index 1ef784df..0ebab58b 100644 +--- a/kubernetes/plugins/isolcpus-device-plugin/files/isolcpu.go ++++ b/kubernetes/plugins/isolcpus-device-plugin/files/isolcpu.go +@@ -27,6 +27,7 @@ import ( + "isolcpu_plugin/kubernetes/pkg/kubelet/cm/cpuset" + "github.com/pkg/errors" + "io/ioutil" ++ "os" + "strconv" + "strings" + "time" +@@ -111,13 +112,18 @@ func (dp *devicePlugin) scan() (dpapi.DeviceTree, error) { + cpustr := strconv.Itoa(cpu) + numaNode, _ := dp.getCPUNode(cpu) + devPath := path.Join("/dev/cpu", cpustr, "cpuid") +- debug.Printf("Adding %s to isolcpus", devPath) +- var nodes []pluginapi.DeviceSpec +- nodes = append(nodes, pluginapi.DeviceSpec{ +- HostPath: devPath, +- ContainerPath: devPath, +- Permissions: "r", +- }) ++ var nodes []pluginapi.DeviceSpec ++ if _, err := os.Stat(devPath); os.IsNotExist(err) { ++ debug.Printf("Dev path %s doesn't exist", devPath) ++ } else { ++ debug.Printf("Adding %s to isolcpus", devPath) ++ nodes = append(nodes, pluginapi.DeviceSpec{ ++ HostPath: devPath, ++ ContainerPath: devPath, ++ Permissions: "r", ++ }) ++ ++ } + devTree.AddDevice(deviceType, cpustr, dpapi.DeviceInfo{ + State: pluginapi.Healthy, Nodes: nodes, NumaNode: numaNode, + }) +-- +2.30.2 + diff --git a/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0011-Add-image-and-pkg-list-for-arm64.patch b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0011-Add-image-and-pkg-list-for-arm64.patch new file mode 100644 index 00000000..1f7cff22 --- /dev/null +++ b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0011-Add-image-and-pkg-list-for-arm64.patch @@ -0,0 +1,586 @@ +From 30290a313d8ffd46939723f390bea8b37e61a2e5 Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Thu, 27 Jul 2023 15:46:40 +0800 +Subject: [PATCH 11/12] Add image and pkg list for arm64 + +Some packages have different names for arm64, +e.g. grub-efi-amd4 vs grub-efi-arm64 +and some packages doesn't support for arm64, +e.g. grub-pc, kata-container + +So add debian_iso_image_arm64.inc and +debian_pkg_dirs_arm64. + +Test Plan: +PASS: build-pkgs on x86-64 host +PASS: build-image on x86-64 host +PASS: build-pkgs on arm64 host +PASS: build-image on arm64 host +PASS: Deploy AIO-SX on x86-64 target +PASS: Deploy AIO-SX on arm64 target +PASS: Deploy AIO-DX on arm64 targets +PASS: Deploy std (2+2+2) on arm64 targets + +Story: 2010739 +Task: 47981 + +Depends-On: https://review.opendev.org/c/starlingx/root/+/889681 +Depends-On: https://review.opendev.org/c/starlingx/root/+/889682 + +Change-Id: If32444fcf320b4e477f9ca3e14f593360dff162f +Signed-off-by: Jackie Huang +--- + debian_iso_image_arm64.inc | 427 +++++++++++++++++++++++++++++++++++++ + debian_pkg_dirs_arm64 | 106 +++++++++ + 2 files changed, 533 insertions(+) + create mode 100644 debian_iso_image_arm64.inc + create mode 100644 debian_pkg_dirs_arm64 + +diff --git a/debian_iso_image_arm64.inc b/debian_iso_image_arm64.inc +new file mode 100644 +index 00000000..230366d7 +--- /dev/null ++++ b/debian_iso_image_arm64.inc +@@ -0,0 +1,427 @@ ++# List of packages to be included/installed in ISO ++ ++#base-passwd ++base-passwd ++ ++#bash ++bash-builtins ++bash-dbgsym ++bash-doc ++bash-static ++bash ++ ++#centos-debian-compat ++centos-debian-compat ++ ++#ceph ++ceph-base ++ceph-common ++ceph-fuse ++#ceph-grafana-dashboards # not used ++ceph-mds ++#ceph-mgr-dashboard # not used ++#ceph-mgr-diskprediction-cloud # not used ++#ceph-mgr-diskprediction-local # not used ++#ceph-mgr-k8sevents # not used ++#ceph-mgr-rook # not used ++#ceph-mgr-ssh # not used ++ceph-mgr ++ceph-mon ++ceph-osd ++#ceph-resource-agents # not used ++ceph ++#cephfs-shell # not used ++#libcephfs-dev # not used ++#libcephfs-java # not used ++#libcephfs-jni # not used ++libcephfs2 ++#librados-dev # not used ++librados2 ++#libradospp-dev # not used ++#libradosstriper-dev # not used ++libradosstriper1 ++#librbd-dev # not used ++librbd1 ++#librgw-dev # not used ++librgw2 ++python3-ceph-argparse ++python3-ceph ++python3-cephfs ++python3-rados ++python3-rbd ++python3-rgw ++#rados-objclass-dev # not used ++radosgw ++#rbd-fuse # not used ++#rbd-mirror # not used ++#rbd-nbd # not used ++ ++#cluster-resource-agents ++#ldirectord # not used ++resource-agents ++ ++#containerd ++containerd ++ ++#crictl ++crictl ++ ++#dhcp ++#isc-dhcp-client-ddns # not used ++isc-dhcp-client ++isc-dhcp-common ++#isc-dhcp-dev # not used ++#isc-dhcp-relay # not used ++#isc-dhcp-server-ldap # not used ++#isc-dhcp-server # not used ++ ++#dnsmasq ++#dnsmasq-base-lua # not used ++dnsmasq-base ++dnsmasq-utils ++dnsmasq ++ ++#docker-distribution ++docker-registry ++ ++#drbd-tools ++drbd-utils ++ ++#efitools ++#efitools-dbgsym # not used ++efitools ++ ++#etcd ++etcd-client ++etcd-server ++#golang-etcd-server-dev # not used ++ ++#facter ++#facter-dev # not used ++facter ++libfacter3.14.12 ++ ++#gpu-operator ++#gpu-operator ++ ++#grub-efi ++#grub-efi-arm64-bin # not used ++#grub-efi-arm64-dbg # not used ++#grub-efi-arm64-signed-template # not used ++grub-efi-arm64 ++#grub-efi # not used ++ ++#grub2 ++grub-common ++#grub-coreboot-bin # not used ++#grub-coreboot-dbg # not used ++#grub-coreboot # not used ++#grub-emu-dbg # not used ++#grub-emu # not used ++#grub-firmware-qemu # not used ++#grub-ieee1275-bin # not used ++#grub-ieee1275-dbg # not used ++#grub-ieee1275 # not used ++#grub-linuxbios # not used ++#grub-pc-bin ++#grub-pc-dbg # not used ++#grub-pc ++#grub-rescue-pc # not used ++#grub-theme-starfield # not used ++#grub-xen-bin # not used ++#grub-xen-dbg # not used ++#grub-xen-host # not used ++#grub-xen # not used ++grub2-common ++#grub2 ++ ++#grubby ++grubby ++ ++#haproxy-config ++haproxy ++haproxy-config ++ ++#helm ++helm ++ ++#ifupdown ++ifupdown ++ifupdown-extra ++ ++kdump-tools ++ ++# iputils ++iputils-arping ++iputils-ping ++iputils-tracepath ++ ++#isolcpus-device-plugin ++isolcpus-device-plugin ++ ++#k8s-pod-recovery ++k8s-pod-recovery ++ ++#k8s-cni-cache-cleanup ++k8s-cni-cache-cleanup ++ ++#kata-containers ++#kata-containers ++ ++#kubectl-cert-manager ++kubectl-cert-manager ++ ++# lvm2 ++dmeventd ++dmsetup ++#dmsetup-udeb ++libdevmapper1.02.1 ++#libdevmapper1.02.1-udeb ++#libdevmapper-dev ++libdevmapper-event1.02.1 ++liblvm2cmd2.03 ++#liblvm2-dev ++lvm2 ++#lvm2-dbusd ++#lvm2-lockd ++#lvm2-udeb ++ ++#keyrings.alt ++python3-keyrings.alt ++ ++#kubernetes-x (-master, -misc, -unit-test used only for build) ++#kubernetes-1.24.4 ++kubernetes-1.24.4-client ++kubernetes-1.24.4-kubeadm ++kubernetes-1.24.4-node ++#kubernetes-1.25.3 ++kubernetes-1.25.3-client ++kubernetes-1.25.3-kubeadm ++kubernetes-1.25.3-node ++#kubernetes-1.26.1 ++kubernetes-1.26.1-client ++kubernetes-1.26.1-kubeadm ++kubernetes-1.26.1-node ++#kubernetes-1.27.5 ++kubernetes-1.27.5-client ++kubernetes-1.27.5-kubeadm ++kubernetes-1.27.5-node ++#kubernetes-1.28.4 ++kubernetes-1.28.4-client ++kubernetes-1.28.4-kubeadm ++kubernetes-1.28.4-node ++#kubernetes-1.29.2 ++kubernetes-1.29.2-client ++kubernetes-1.29.2-kubeadm ++kubernetes-1.29.2-node ++ ++#kubernetes-unversioned ++kubernetes-unversioned ++ ++#ldapscripts ++ldapscripts ++ ++#libfdt ++libfdt ++ ++#lighttpd ++#lighttpd-doc # not used ++#lighttpd-mod-authn-gssapi # not used ++#lighttpd-mod-authn-pam # not used ++#lighttpd-mod-authn-sasl # not used ++lighttpd-mod-geoip ++#lighttpd-mod-maxminddb # not used ++#lighttpd-mod-trigger-b4-dl # not used ++#lighttpd-mod-vhostdb-dbi # not used ++#lighttpd-mod-vhostdb-pgsql # not used ++#lighttpd-mod-webdav # not used ++lighttpd-modules-mysql ++lighttpd ++ ++#linuxptp ++linuxptp ++ ++#lldpd ++#liblldpctl-dev # not used ++lldpd ++ ++#lsb ++lsb-base ++#lsb-release # not used ++ ++#net-tools ++net-tools ++ ++#openldap ++ldap-utils ++libldap-2.4-2 ++libldap-common ++#libldap2-dev # not used ++#slapd-contrib # not used ++#slapd-smbk5pwd # not used ++slapd ++#slapi-dev # not used ++slapd-ppolicy-check-password ++ ++#parted ++#libparted-dev # not used ++libparted-fs-resize0 ++libparted-i18n ++libparted2 ++parted-doc ++parted ++ ++#luks-encryption ++luks-fs-mgr ++ ++#pf-bb-config ++pf-bb-config ++ ++#plugins ++bond-cni ++containernetworking-plugins ++#golang-github-containernetworking-plugins-dev # not used ++ ++#puppet-5.5.22 ++#puppet-master-passenger # not used ++puppet ++ ++#puppet-boolean-2.0.2 ++puppet-boolean ++ ++#puppet-ceph-3.1.1 ++puppet-module-ceph ++ ++#puppet-dnsmasq ++puppet-dnsmasq ++ ++#puppet-drbd-0.5.2 ++puppet-drbd ++ ++#puppet-hash2stuff ++puppet-hash2stuff ++ ++#puppet-memcached ++puppet-memcached ++ ++#puppet-etcd-1.12.3 ++puppet-module-cristifalcas-etcd ++ ++#puppet-keystone-17.4.0 ++puppet-module-keystone ++ ++#puppet-module-horizon-17.4.0 ++puppet-module-horizon ++ ++#puppet-ldap ++puppet-ldap ++ ++#puppet-lvm-1.4.0 ++puppet-lvm ++ ++#puppet-network ++puppet-network ++ ++#puppet-openstacklib-17.4.0 ++puppet-module-openstacklib ++ ++#puppet-oslo-17.4.0 ++puppet-module-oslo ++ ++#puppet-puppi ++puppet-puppi ++ ++#puppet-rabbitmq-8.5.0 ++puppet-module-puppetlabs-rabbitmq ++ ++#puppet-staging ++puppet-module-nanliu-staging ++ ++#puppetlabs-firewall-1.12.0 ++puppet-module-puppetlabs-firewall ++ ++#puppetlabs-haproxy-2.1.0 ++puppet-module-puppetlabs-haproxy ++ ++#puppetlabs-mysql-8.1.0 ++puppet-module-puppetlabs-mysql ++ ++#puppetlabs-postgresql-6.7.0 ++puppet-module-puppetlabs-postgresql ++ ++#puppetlabs-stdlib-5.0.0 ++puppet-module-puppetlabs-stdlib ++ ++#puppet-zitrlp-strongswan ++puppet-zitrlp-strongswan ++ ++#python-docker ++python3-docker ++ ++#python-keyring ++python3-keyring ++ ++#python3-nsenter ++python3-nsenter ++ ++#python3-setuptools ++#python-setuptools-doc ++python3-pkg-resources ++python3-setuptools ++ ++#python3.9 ++python3.9 ++ ++#openscap ++libopenscap25 ++openscap-common ++openscap-scanner ++openscap-utils ++python3-openscap ++ ++#openvswitch ++openvswitch-common ++openvswitch-switch-dpdk ++openvswitch-switch ++ ++#runc ++#golang-github-opencontainers-runc-dev # not used ++runc ++ ++#shim-unsigned ++shim-helpers-arm64-signed-template ++shim-unsigned ++ ++#synce4l ++synce4l ++ ++#systemd ++libnss-myhostname ++#libnss-mymachines # not used ++#libnss-resolve # not used ++#libnss-systemd # not used ++libpam-systemd ++#libsystemd-dev # not used ++libsystemd0 ++#libudev-dev # not used ++libudev1 ++systemd-container ++#systemd-coredump # not used ++#systemd-journal-remote # not used ++systemd-sysv ++#systemd-tests # not used ++#systemd-timesyncd # not used ++systemd ++udev ++ ++#systemd-presets ++systemd-presets ++ ++#trident-installer ++trident-installer ++ ++#tzdata ++tzdata ++ ++#watchdog ++watchdog +diff --git a/debian_pkg_dirs_arm64 b/debian_pkg_dirs_arm64 +new file mode 100644 +index 00000000..7f942087 +--- /dev/null ++++ b/debian_pkg_dirs_arm64 +@@ -0,0 +1,106 @@ ++base/base-passwd ++base/cluster-resource-agents ++base/dhcp ++base/dnsmasq ++base/haproxy ++base/libfdt ++base/lighttpd ++base/linuxptp ++base/lvm2 ++base/lsb ++base/pf-bb-config ++base/synce4l ++base/systemd ++base/systemd-presets ++base/watchdog ++centos-debian-compat ++ceph/ceph ++config/facter ++config/puppet-5.5.22 ++config/puppet-modules/openstack/puppet-ceph-2.4.1 ++config/puppet-modules/openstack/puppet-keystone-17.4.0 ++config/puppet-modules/openstack/puppet-horizon-17.4.0 ++config/puppet-modules/openstack/puppet-openstacklib-17.4.0 ++config/puppet-modules/openstack/puppet-oslo-17.4.0 ++config/puppet-modules/puppet-boolean-2.0.2 ++config/puppet-modules/puppet-dnsmasq ++config/puppet-modules/puppet-drbd-0.5.2 ++config/puppet-modules/puppet-etcd-1.12.3 ++config/puppet-modules/puppetlabs-firewall-1.12.0 ++config/puppet-modules/puppetlabs-haproxy-2.1.0 ++config/puppet-modules/puppetlabs-mysql-8.1.0 ++config/puppet-modules/puppetlabs-postgresql-8.0.0 ++config/puppet-modules/puppetlabs-stdlib-5.0.0 ++config/puppet-modules/puppet-ldap ++config/puppet-modules/puppet-hash2stuff ++config/puppet-modules/puppet-lvm-1.4.0 ++config/puppet-modules/puppet-memcached ++config/puppet-modules/puppet-network ++config/puppet-modules/puppet-puppi ++config/puppet-modules/puppet-rabbitmq-8.5.0 ++config/puppet-modules/puppet-staging ++config/puppet-modules/puppet-zitrlp-strongswan ++docker/python-docker ++filesystem/drbd/drbd-tools ++filesystem/luks ++filesystem/parted ++golang-github-dev/golang-github-appc-cni ++golang-github-dev/golang-github-checkpoint-restore-go-criu-dev ++golang-github-dev/golang-github-cilium-ebpf-dev ++golang-github-dev/golang-github-coreos-go-systemd-dev ++golang-github-dev/golang-github-opencontainers-specs-dev ++golang-github-dev/golang-github-vishvananda-netlink ++golang-github-dev/golang-github-networkplumbing-go-nft-dev ++golang-github-dev/golang-github-cockroachdb-datadriven ++golang-github-dev/golang-github-golang-jwt-jwt-dev ++grub/grub-efi ++#grub/grub2 ++grub/grubby ++kubernetes/armada ++kubernetes/armada-helm-toolkit ++kubernetes/chartmuseum ++kubernetes/cni/bond-cni ++kubernetes/cni/plugins ++kubernetes/containerd ++kubernetes/crictl ++kubernetes/docker-distribution ++kubernetes/etcd ++kubernetes/helm ++kubernetes/k8s-cni-cache-cleanup ++kubernetes/k8s-pod-recovery ++kubernetes/kubernetes-1.24.4 ++kubernetes/kubernetes-1.25.3 ++kubernetes/kubernetes-1.26.1 ++kubernetes/kubernetes-1.27.5 ++kubernetes/kubernetes-1.28.4 ++kubernetes/kubernetes-1.29.2 ++kubernetes/kubernetes-unversioned ++kubernetes/plugins/isolcpus-device-plugin ++kubernetes/plugins/kubectl-cert-manager ++kubernetes/runc ++ldap/ldapscripts ++ldap/openldap ++networking/dpdk ++networking/ifupdown ++networking/ifupdown-extra ++networking/iputils ++networking/lldpd ++networking/net-tools ++networking/openvswitch ++ostree/initramfs-ostree ++ostree/mttyexec ++ostree/ostree ++ostree/ostree-upgrade-mgr ++python/dh-python ++python/python-nss ++python/python3-nsenter ++python/python3-setuptools ++python/python3.9 ++python/zerorpc-python ++security/efitools ++security/keyrings.alt ++security/python-keyring ++security/shim-unsigned ++security/openscap ++storage-drivers/trident-installer ++tools/kdump-tools +-- +2.30.2 + diff --git a/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0012-kubernetes-unversioned-update-the-checksums.patch b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0012-kubernetes-unversioned-update-the-checksums.patch new file mode 100644 index 00000000..7e27d900 --- /dev/null +++ b/scripts/build_inf_debian/meta-patches-arm/stx90/cgcs-root/stx/integ/0012-kubernetes-unversioned-update-the-checksums.patch @@ -0,0 +1,45 @@ +From 2ef897d3c2a69ead38d0141502f6c1223424db42 Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Mon, 16 Oct 2023 17:21:11 +0800 +Subject: [PATCH 12/12] kubernetes-unversioned: update the checksums + +The checksums of the upstream github tarballs are changed +with only minor change of the version string: + +$ diff -r a/kubernetes-retired-contrib-89f6948/ \ + b/kubernetes-retired-contrib-89f6948/ +< gitVersion string = "v0.0.0-master+89f6948e245" + +Change-Id: I084affe696b85ab1fece56151782e3a8ec928a3c +--- +> gitVersion string = "v0.0.0-master+89f6948e24" + +Test Plan: +Pass: export CENGN_STRATEGY=upstream; downloader -s + +Closes-bug: 2039414 + +Change-Id: Ie1a771b4e5130430f53500312d52ac3e3365a74e +Signed-off-by: Jackie Huang +--- + kubernetes/kubernetes-unversioned/debian/meta_data.yaml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/kubernetes/kubernetes-unversioned/debian/meta_data.yaml b/kubernetes/kubernetes-unversioned/debian/meta_data.yaml +index 196b0ab8..237f5847 100644 +--- a/kubernetes/kubernetes-unversioned/debian/meta_data.yaml ++++ b/kubernetes/kubernetes-unversioned/debian/meta_data.yaml +@@ -4,8 +4,8 @@ debver: 1.0-1 + dl_path: + name: kubernetes-contrib-v1.18.1.tar.gz + url: https://github.com/kubernetes-retired/contrib/tarball/89f6948e24578fed2a90a87871b2263729f90ac3 +- md5sum: 9aa15af65ed89a7167b9520573bbdcd7 +- sha256sum: 97206b6c1ea8dc7cb6201f909c2d14fc68cf40faa4e2641cdefb8411e9403274 ++ md5sum: fc05d9dc693dd71e3afb98fa51419879 ++ sha256sum: 0e1c6f70fc167d4ff1f268bbb72a8a91fab9bdeb17cec95bd3bb7fe4f56ebdcb + revision: + dist: $STX_DIST + GITREVCOUNT: +-- +2.30.2 + -- 2.16.6