From dae50800647ff069864d5290e8757b6d1d4a8c1f Mon Sep 17 00:00:00 2001 From: Dan Mihai Date: Fri, 27 Dec 2024 21:56:36 +0000 Subject: [PATCH] image: 2Mb default image size alignment Change the default image size alignment from 128Mb to 2Mb. The guest image size is 48Mb smaller after this change. A custom size aligment can be specified using the new variable IMAGE_SIZE_ALIGNMENT. Using a smaller guest image size is currently significant on AKS-Kata hosts, because the entire image gets copied into guest MAP_PRIVATE pages when using cloud-hypervisor's "--pmem discard_writes=on". Signed-off-by: Dan Mihai --- tools/osbuilder/image-builder/image_builder.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tools/osbuilder/image-builder/image_builder.sh b/tools/osbuilder/image-builder/image_builder.sh index ca7c90386a91..4530594bfdda 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:-2} #For cross build CROSS_BUILD=${CROSS_BUILD:-false} @@ -75,9 +76,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}" @@ -327,9 +325,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}"