From 34be78df1900ff96913c1f84fb9d4fca225d3659 Mon Sep 17 00:00:00 2001 From: Wainer dos Santos Moschetta Date: Tue, 4 Jul 2023 11:04:58 -0300 Subject: [PATCH] kernel: moved measured rootfs logic to its builder Moved the measure rootfs logic from kata-deploy-binaries.sh to the kernel's builder script so that the former get less bloated with components's specific code. Fixes #6674 Signed-off-by: Wainer dos Santos Moschetta --- .../local-build/kata-deploy-binaries.sh | 9 --------- tools/packaging/static-build/kernel/build.sh | 19 +++++++++++++++---- 2 files changed, 15 insertions(+), 13 deletions(-) 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 31753b3769..9c75ad5326 100755 --- a/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh +++ b/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh @@ -25,7 +25,6 @@ readonly versions_yaml="${repo_root_dir}/versions.yaml" readonly agent_builder="${static_build_dir}/agent/build.sh" readonly clh_builder="${static_build_dir}/cloud-hypervisor/build-static-clh.sh" readonly firecracker_builder="${static_build_dir}/firecracker/build-static-firecracker.sh" -readonly initramfs_builder="${static_build_dir}/initramfs/build.sh" readonly kernel_builder="${static_build_dir}/kernel/build.sh" readonly ovmf_builder="${static_build_dir}/ovmf/build.sh" readonly qemu_builder="${static_build_dir}/qemu/build-static-qemu.sh" @@ -314,14 +313,6 @@ install_kernel_helper() { install_cached_kernel_tarball_component ${kernel_name} ${module_dir} && return 0 - if [ "${MEASURED_ROOTFS}" == "yes" ]; then - info "build initramfs for cc kernel" - "${initramfs_builder}" - # Turn on the flag to build the kernel with support to - # measured rootfs. - extra_cmd+=" -m" - fi - info "build ${kernel_name}" info "Kernel version ${kernel_version}" DESTDIR="${destdir}" PREFIX="${prefix}" "${kernel_builder}" -v "${kernel_version}" ${extra_cmd} diff --git a/tools/packaging/static-build/kernel/build.sh b/tools/packaging/static-build/kernel/build.sh index cbf7dc30f7..a7bb4b4b0e 100755 --- a/tools/packaging/static-build/kernel/build.sh +++ b/tools/packaging/static-build/kernel/build.sh @@ -13,6 +13,7 @@ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "${script_dir}/../../scripts/lib.sh" readonly kernel_builder="${repo_root_dir}/tools/packaging/kernel/build-kernel.sh" +readonly initramfs_builder="${repo_root_dir}/tools/packaging/static-build/initramfs/build.sh" BUILDX= PLATFORM= @@ -20,6 +21,16 @@ PLATFORM= DESTDIR=${DESTDIR:-${PWD}} PREFIX=${PREFIX:-/opt/kata} container_image="${KERNEL_CONTAINER_BUILDER:-$(get_kernel_image_name)}" +MEASURED_ROOTFS=${MEASURED_ROOTFS:-no} +kernel_builder_args="-a ${ARCH} $*" + +if [ "${MEASURED_ROOTFS}" == "yes" ]; then + info "build initramfs for cc kernel" + "${initramfs_builder}" + # Turn on the flag to build the kernel with support to + # measured rootfs. + kernel_builder_args+=" -m" +fi if [ "${CROSS_BUILD}" == "true" ]; then container_image="${container_image}-${ARCH}-cross-build" @@ -40,21 +51,21 @@ sudo docker pull ${container_image} || \ sudo docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \ -w "${PWD}" \ "${container_image}" \ - bash -c "${kernel_builder} -a ${ARCH} $* setup" + bash -c "${kernel_builder} ${kernel_builder_args} setup" sudo docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \ -w "${PWD}" \ "${container_image}" \ - bash -c "${kernel_builder} -a ${ARCH} $* build" + bash -c "${kernel_builder} ${kernel_builder_args} build" sudo docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \ -w "${PWD}" \ --env DESTDIR="${DESTDIR}" --env PREFIX="${PREFIX}" \ "${container_image}" \ - bash -c "${kernel_builder} -a ${ARCH} $* install" + bash -c "${kernel_builder} ${kernel_builder_args} install" sudo docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \ -w "${PWD}" \ --env DESTDIR="${DESTDIR}" --env PREFIX="${PREFIX}" \ "${container_image}" \ - bash -c "${kernel_builder} -a ${ARCH} $* build-headers" + bash -c "${kernel_builder} ${kernel_builder_args} build-headers"