From 3c29c1707d35760aca3f81eea6082463837e9e9a Mon Sep 17 00:00:00 2001 From: Zvonko Kaiser Date: Mon, 15 Apr 2024 14:11:56 +0000 Subject: [PATCH 1/3] image: Add suffix to image or initrd depending on the NVIDIA driver version Fixes: #9478 We want to keep track of the driver versions build during initrd/image build so update the artifact_name after the fact. Signed-off-by: Zvonko Kaiser --- tools/packaging/guest-image/build_image.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/packaging/guest-image/build_image.sh b/tools/packaging/guest-image/build_image.sh index 3f576dddc7..1c68d63c62 100755 --- a/tools/packaging/guest-image/build_image.sh +++ b/tools/packaging/guest-image/build_image.sh @@ -48,6 +48,12 @@ build_initrd() { PULL_TYPE="${PULL_TYPE:-default}" \ COCO_GUEST_COMPONENTS_TARBALL="${COCO_GUEST_COMPONENTS_TARBALL:-}" \ PAUSE_IMAGE_TARBALL="${PAUSE_IMAGE_TARBALL:-}" + + if [[ "$artifact_name" == *"nvidia-gpu"* ]]; then + nvidia_driver_version=$(cat "${builddir}"/initrd-image/*/nvidia_driver_version) + artifact_name=${artifact_name/.initrd/"-${nvidia_driver_version}".initrd} + fi + mv "kata-containers-initrd.img" "${install_dir}/${artifact_name}" ( cd "${install_dir}" @@ -70,6 +76,12 @@ build_image() { PULL_TYPE="${PULL_TYPE:-default}" \ COCO_GUEST_COMPONENTS_TARBALL="${COCO_GUEST_COMPONENTS_TARBALL:-}" \ PAUSE_IMAGE_TARBALL="${PAUSE_IMAGE_TARBALL:-}" + + if [[ "$artifact_name" == *"nvidia-gpu"* ]]; then + nvidia_driver_version=$(cat "${builddir}"/rootfs-image/*/nvidia_driver_version) + artifact_name=${artifact_name/.img/"-${nvidia_driver_version}".img} + fi + mv -f "kata-containers.img" "${install_dir}/${artifact_name}" if [ -e "root_hash.txt" ]; then cp root_hash.txt "${install_dir}/" From 95b69c57323fcd09aadea424f91c2a031bd6574f Mon Sep 17 00:00:00 2001 From: Zvonko Kaiser Date: Mon, 15 Apr 2024 14:15:58 +0000 Subject: [PATCH 2/3] build: initrd make it coherent to the image build Add -f for moving the initrd to the correct file path Signed-off-by: Zvonko Kaiser --- tools/packaging/guest-image/build_image.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/packaging/guest-image/build_image.sh b/tools/packaging/guest-image/build_image.sh index 1c68d63c62..d99c255677 100755 --- a/tools/packaging/guest-image/build_image.sh +++ b/tools/packaging/guest-image/build_image.sh @@ -54,7 +54,7 @@ build_initrd() { artifact_name=${artifact_name/.initrd/"-${nvidia_driver_version}".initrd} fi - mv "kata-containers-initrd.img" "${install_dir}/${artifact_name}" + mv -f "kata-containers-initrd.img" "${install_dir}/${artifact_name}" ( cd "${install_dir}" ln -sf "${artifact_name}" "${final_artifact_name}${image_initrd_extension}" From 3781526c9462186e78594812af06960e97814d5f Mon Sep 17 00:00:00 2001 From: Zvonko Kaiser Date: Fri, 10 May 2024 09:52:46 +0000 Subject: [PATCH 3/3] gpu: Add VARIANT to the initrd and image build We need to know if we're building a nvidia initrd or image Additionally if we build a regular or confidential VARIANT Signed-off-by: Zvonko Kaiser --- tools/packaging/guest-image/build_image.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/packaging/guest-image/build_image.sh b/tools/packaging/guest-image/build_image.sh index d99c255677..e6b89fe7fe 100755 --- a/tools/packaging/guest-image/build_image.sh +++ b/tools/packaging/guest-image/build_image.sh @@ -37,6 +37,7 @@ build_initrd() { info "initrd os: $os_name" info "initrd os version: $os_version" make initrd \ + VARIANT="${image_initrd_suffix}" \ DISTRO="$os_name" \ DEBUG="${DEBUG:-}" \ OS_VERSION="${os_version}" \ @@ -49,7 +50,7 @@ build_initrd() { COCO_GUEST_COMPONENTS_TARBALL="${COCO_GUEST_COMPONENTS_TARBALL:-}" \ PAUSE_IMAGE_TARBALL="${PAUSE_IMAGE_TARBALL:-}" - if [[ "$artifact_name" == *"nvidia-gpu"* ]]; then + if [[ "${image_initrd_suffix}" == "nvidia-gpu"* ]]; then nvidia_driver_version=$(cat "${builddir}"/initrd-image/*/nvidia_driver_version) artifact_name=${artifact_name/.initrd/"-${nvidia_driver_version}".initrd} fi @@ -66,6 +67,7 @@ build_image() { info "image os: $os_name" info "image os version: $os_version" make image \ + VARIANT="${image_initrd_suffix}" \ DISTRO="${os_name}" \ DEBUG="${DEBUG:-}" \ USE_DOCKER="1" \ @@ -77,9 +79,9 @@ build_image() { COCO_GUEST_COMPONENTS_TARBALL="${COCO_GUEST_COMPONENTS_TARBALL:-}" \ PAUSE_IMAGE_TARBALL="${PAUSE_IMAGE_TARBALL:-}" - if [[ "$artifact_name" == *"nvidia-gpu"* ]]; then + if [[ "${image_initrd_suffix}" == "nvidia-gpu"* ]]; then nvidia_driver_version=$(cat "${builddir}"/rootfs-image/*/nvidia_driver_version) - artifact_name=${artifact_name/.img/"-${nvidia_driver_version}".img} + artifact_name=${artifact_name/.image/"-${nvidia_driver_version}".image} fi mv -f "kata-containers.img" "${install_dir}/${artifact_name}"