build: add arm64 coco-dev build dependencies

Build coco-guest-components, pause-image, and rootfs-image-confidential
for arm64, which are required by qemu-coco-dev-runtime-rs.

Enable MEASURED_ROOTFS on the arm64 shim-v2 build, add the aarch64 case
to install_kernel() so the default kernel is built as a unified kernel
(with confidential guest support, like x86_64), and adjust the kernel
install naming so only CCA builds get the -confidential suffix.

Also wire rootfs-image-confidential-tarball into the aarch64 local-build
Makefile.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
Made-with: Cursor
This commit is contained in:
Fabiano Fidêncio
2026-04-07 12:27:55 +02:00
parent 091b36246c
commit e28a8a4e47
4 changed files with 17 additions and 2 deletions

View File

@@ -43,6 +43,7 @@ jobs:
- agent
- busybox
- cloud-hypervisor
- coco-guest-components
- firecracker
- kernel
- kernel-debug
@@ -51,6 +52,7 @@ jobs:
- kernel-cca-confidential
- nydus
- ovmf
- pause-image
- qemu
- virtiofsd
env:
@@ -151,6 +153,7 @@ jobs:
matrix:
asset:
- rootfs-image
- rootfs-image-confidential
- rootfs-image-nvidia-gpu
- rootfs-initrd
steps:
@@ -216,7 +219,9 @@ jobs:
matrix:
asset:
- busybox
- coco-guest-components
- kernel-nvidia-gpu-modules
- pause-image
steps:
- uses: geekyeggo/delete-artifact@f275313e70c08f6120db482d7a6b98377786765b # v5.1.0
with:
@@ -288,6 +293,7 @@ jobs:
ARTEFACT_REGISTRY_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
TARGET_BRANCH: ${{ inputs.target-branch }}
RELEASE: ${{ inputs.stage == 'release' && 'yes' || 'no' }}
MEASURED_ROOTFS: yes
- name: store-artifact shim-v2
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2

View File

@@ -60,6 +60,7 @@ BASE_TARBALLS = serial-targets \
shim-v2-tarball \
virtiofsd-tarball
BASE_SERIAL_TARBALLS = rootfs-image-tarball \
rootfs-image-confidential-tarball \
rootfs-cca-confidential-image-tarball \
rootfs-cca-confidential-initrd-tarball \
rootfs-initrd-tarball

View File

@@ -705,6 +705,11 @@ install_kernel() {
export MEASURED_ROOTFS="no"
extra_cmd="-x"
;;
aarch64)
export CONFIDENTIAL_GUEST="yes"
export MEASURED_ROOTFS="yes"
extra_cmd="-x"
;;
x86_64)
export CONFIDENTIAL_GUEST="yes"
export MEASURED_ROOTFS="yes"

View File

@@ -578,8 +578,11 @@ install_kata() {
if [[ ${gpu_vendor} != "" ]]; then
suffix="-${gpu_vendor}-gpu${suffix}"
elif [[ ${conf_guest} != "" ]]; then
# CCA on aarch64 uses -confidential suffix; x86_64/s390x unified kernel does not
if [[ "${arch_target}" == "aarch64" ]]; then
# CCA kernel on aarch64 needs a -confidential suffix to coexist
# with the unified kernel; the regular kernel with -x does not
# get the suffix (matching x86_64/s390x unified kernel behavior).
# CCA builds are identified by -H (linux_headers) being set.
if [[ "${arch_target}" == "aarch64" ]] && [[ -n "${linux_headers}" ]]; then
suffix="-${conf_guest}${suffix}"
fi
fi