--- /dev/null
+From 8d61823f6ff3444b4c5f5dc392eab9aca74484ac Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+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 <jackie.huang@windriver.com>
+---
+ 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
+
--- /dev/null
+From 48534868e120b89468d1f7805603f717e45bbb75 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+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 <jackie.huang@windriver.com>
+---
+ 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
+
--- /dev/null
+From bcbd1156399106a4baf156ed144759579d7176d3 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+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 <jackie.huang@windriver.com>
+---
+ 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
+
--- /dev/null
+From 152f4dc88e0d915cce7281c7ccced83feb581f7e Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+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 <jackie.huang@windriver.com>
+---
+ 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
+
--- /dev/null
+From 5ea4c7ef61e071e82d771c8d1f457f950a736eea Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+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 <jackie.huang@windriver.com>
+---
+ 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
+
--- /dev/null
+From 55769435d21a5f5b50bdeb478c2f5e6a3496b94a Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+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 <jackie.huang@windriver.com>
+---
+ .../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
+
--- /dev/null
+From f3f34146a74eb4e286bb3f626c2ac7d197f4b640 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+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 <jackie.huang@windriver.com>
+---
+ .../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
+
--- /dev/null
+From a866467b15afb3200e168e5a245316b51210e8e6 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+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 <jackie.huang@windriver.com>
+---
+ 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
+
--- /dev/null
+From d1018c38965a4a58e7d8ed735259a880887af814 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+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 <jackie.huang@windriver.com>
+---
+ ...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 <jackie.huang@windriver.com>
++Date: Fri, 19 May 2023 05:56:03 -0400
++Subject: [PATCH] rules: create efi files for arm64
++
++Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
++---
++ 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 <jackie.huang@windriver.com>
++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 <jackie.huang@windriver.com>
++---
++ 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 <jackie.huang@windriver.com>
++Date: Tue, 23 May 2023 23:28:14 -0400
++Subject: [PATCH] control: add grub-common and grub2-common
++
++Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
++---
++ 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 <jackie.huang@windriver.com>
++Date: Thu, 25 May 2023 22:54:29 -0400
++Subject: [PATCH] init.c: fix build for arm64
++
++Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
++---
++ 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
+
--- /dev/null
+From 55b007fcc580559e12d72c53ae39ba0136488b24 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Wed, 6 Dec 2023 17:28:44 +0800
+Subject: [PATCH 10/12] isolcpu: handle devPath when it doesn't exist
+
+The /dev/cpu/<cpunum>/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 <jackie.huang@windriver.com>
+---
+ .../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
+
--- /dev/null
+From 30290a313d8ffd46939723f390bea8b37e61a2e5 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+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 <jackie.huang@windriver.com>
+---
+ 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
+
--- /dev/null
+From 2ef897d3c2a69ead38d0141502f6c1223424db42 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+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 <jackie.huang@windriver.com>
+---
+ 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
+