From 65385a5bf9818da18e1fe46c694bfce8c8016c77 Mon Sep 17 00:00:00 2001 From: Dan Mihai Date: Thu, 29 May 2025 20:51:24 +0000 Subject: [PATCH 1/2] image: custom guest rootfs image file size alignment The Guest rootfs image file size is aligned up to 128M boundary, since commmit 2b0d5b2. This change allows users to use a custom alignment value - e.g., to align up to 2M, users will be able to specify IMAGE_SIZE_ALIGNMENT_MB=2 for image_builder.sh. Signed-off-by: Dan Mihai --- tools/osbuilder/image-builder/image_builder.sh | 9 ++++----- .../local-build/kata-deploy-binaries-in-docker.sh | 1 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/osbuilder/image-builder/image_builder.sh b/tools/osbuilder/image-builder/image_builder.sh index c0176d0c87..b49e7f5266 100755 --- a/tools/osbuilder/image-builder/image_builder.sh +++ b/tools/osbuilder/image-builder/image_builder.sh @@ -12,6 +12,7 @@ set -o pipefail DOCKER_RUNTIME=${DOCKER_RUNTIME:-runc} MEASURED_ROOTFS=${MEASURED_ROOTFS:-no} +IMAGE_SIZE_ALIGNMENT_MB=${IMAGE_SIZE_ALIGNMENT_MB:-128} #For cross build CROSS_BUILD=${CROSS_BUILD:-false} @@ -54,9 +55,6 @@ AGENT_INIT=${AGENT_INIT:-no} SELINUX=${SELINUX:-no} SELINUXFS="/sys/fs/selinux" -# Align image to 128M -readonly mem_boundary_mb=128 - # shellcheck source=../scripts/lib.sh source "${lib_file}" @@ -178,6 +176,7 @@ build_with_container() { --env TARGET_ARCH="${TARGET_ARCH}" \ --env USER="$(id -u)" \ --env GROUP="$(id -g)" \ + --env IMAGE_SIZE_ALIGNMENT_MB="${IMAGE_SIZE_ALIGNMENT_MB}" \ -v /dev:/dev \ -v "${script_dir}":"/osbuilder" \ -v "${script_dir}/../scripts":"/scripts" \ @@ -308,9 +307,9 @@ calculate_img_size() { img_size="$((img_size + root_free_space_mb))" fi - remaining="$((img_size % mem_boundary_mb))" + remaining="$((img_size % ${IMAGE_SIZE_ALIGNMENT_MB}))" if [ "${remaining}" != "0" ]; then - img_size=$((img_size + mem_boundary_mb - remaining)) + img_size=$((img_size + ${IMAGE_SIZE_ALIGNMENT_MB} - remaining)) fi echo "${img_size}" diff --git a/tools/packaging/kata-deploy/local-build/kata-deploy-binaries-in-docker.sh b/tools/packaging/kata-deploy/local-build/kata-deploy-binaries-in-docker.sh index 16f9819554..56a1f44d6c 100755 --- a/tools/packaging/kata-deploy/local-build/kata-deploy-binaries-in-docker.sh +++ b/tools/packaging/kata-deploy/local-build/kata-deploy-binaries-in-docker.sh @@ -112,6 +112,7 @@ REPO_URL_X86_64="${REPO_URL_X86_64:-}" REPO_COMPONENTS="${REPO_COMPONENTS:-}" AGENT_POLICY="${AGENT_POLICY:-yes}" RUNTIME_CHOICE="${RUNTIME_CHOICE:-both}" +IMAGE_SIZE_ALIGNMENT_MB=${IMAGE_SIZE_ALIGNMENT_MB:-} docker run \ -v $HOME/.docker:/root/.docker \ From c2c194d860f25458a3668964c2986c56133f3161 Mon Sep 17 00:00:00 2001 From: Dan Mihai Date: Thu, 29 May 2025 20:55:42 +0000 Subject: [PATCH 2/2] kata-deploy: smaller guest image file for mariner Align up the mariner Guest image file size to 2M instead of the default 128M alignment. Signed-off-by: Dan Mihai --- tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh b/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh index c30baf6476..d0c3394902 100755 --- a/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh +++ b/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh @@ -436,6 +436,7 @@ install_image_confidential() { #Install cbl-mariner guest image install_image_mariner() { + export IMAGE_SIZE_ALIGNMENT_MB=2 install_image "mariner" }