Skip to content

Instantly share code, notes, and snippets.

@BbolroC
Last active January 25, 2023 09:29
Show Gist options
  • Save BbolroC/6ee8e4414182d1fdd9ddc402edf2732e to your computer and use it in GitHub Desktop.
Save BbolroC/6ee8e4414182d1fdd9ddc402edf2732e to your computer and use it in GitHub Desktop.
Add Makefile target cc-rootfs-initrd-tarball
diff --git a/tools/packaging/guest-image/build_image.sh b/tools/packaging/guest-image/build_image.sh
index ee77f396b..868454c4b 100755
--- a/tools/packaging/guest-image/build_image.sh
+++ b/tools/packaging/guest-image/build_image.sh
@@ -39,13 +39,19 @@ build_initrd() {
export OS_VERSION="${initrd_os_version}"
export USE_DOCKER=1
export AGENT_INIT="yes"
+ config_version=$(get_config_version)
# ROOTFS_BUILD_DEST is a Make variable
# SNP will also use the SEV guest module
if [[ "${AA_KBC:-}" == "offline_sev_kbc" || "${AA_KBC:-}" == "online_sev_kbc" ]]; then
- config_version=$(get_config_version)
kernel_version="$(get_from_kata_deps "assets.kernel.sev.version")"
kernel_version=${kernel_version#v}
module_dir="${repo_root_dir}/tools/packaging/kata-deploy/local-build/build/cc-sev-kernel/builddir/kata-linux-${kernel_version}-${config_version}/lib/modules/${kernel_version}"
+ else
+ kernel_version="$(get_from_kata_deps "assets.kernel.version")"
+ kernel_version=${kernel_version#v}
+ module_dir="${repo_root_dir}/tools/packaging/kata-deploy/local-build/build/cc-kernel/builddir/kata-linux-${kernel_version}-${config_version}/lib/modules/${kernel_version}"
+ fi
+ if [[ "${KATA_BUILD_CC}" == "yes" ]]; then
sudo -E PATH="$PATH" make rootfs ROOTFS_BUILD_DEST="${rootfs_build_dest}" KERNEL_MODULES_DIR="${module_dir}"
else
sudo -E PATH="$PATH" make rootfs ROOTFS_BUILD_DEST="${rootfs_build_dest}"
diff --git a/tools/packaging/kata-deploy/local-build/Makefile b/tools/packaging/kata-deploy/local-build/Makefile
index 48e9af19b..7c3b69263 100644
--- a/tools/packaging/kata-deploy/local-build/Makefile
+++ b/tools/packaging/kata-deploy/local-build/Makefile
@@ -20,6 +20,8 @@ EXTRA_TARBALL=cc-cloud-hypervisor-tarball \
cc-sev-ovmf-tarball \
cc-sev-rootfs-initrd-tarball \
cc-tdx-rootfs-image-tarball
+else ifeq ($(ARCH), s390x)
+EXTRA_TARBALL=cc-rootfs-initrd-tarball
endif
define BUILD
@@ -117,6 +119,9 @@ cc-rootfs-image-tarball:
cc-sev-rootfs-initrd-tarball: cc-sev-kernel-tarball
${MAKE} $@-build
+cc-rootfs-initrd-tarball: cc-kernel-tarball
+ ${MAKE} $@-build
+
cc-tdx-rootfs-image-tarball:
${MAKE} $@-build
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 608631912..9860cc31a 100755
--- a/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh
+++ b/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh
@@ -98,6 +98,7 @@ options:
cc-tdx-qemu
cc-rootfs-image
cc-sev-rootfs-initrd
+ cc-rootfs-initrd
cc-shimv2
cc-virtiofsd
cc-sev-ovmf
@@ -283,6 +284,12 @@ install_cc_sev_image() {
install_cc_image "${AA_KBC}" "${image_type}" "sev"
}
+install_cc_initrd() {
+ AA_KBC="${AA_KBC:-offline_fs_kbc}"
+ image_type="initrd"
+ install_cc_image "${AA_KBC}" "${image_type}"
+}
+
install_cc_tdx_image() {
AA_KBC="eaa_kbc"
image_type="image"
@@ -625,6 +632,8 @@ handle_build() {
cc-sev-rootfs-initrd) install_cc_sev_image ;;
+ cc-rootfs-initrd) install_cc_initrd;;
+
cc-tdx-rootfs-image) install_cc_tdx_image ;;
cc-shim-v2) install_cc_shimv2 ;;
diff --git a/tools/packaging/kernel/build-kernel.sh b/tools/packaging/kernel/build-kernel.sh
index bc4c85ee1..e0f995e7f 100755
--- a/tools/packaging/kernel/build-kernel.sh
+++ b/tools/packaging/kernel/build-kernel.sh
@@ -409,7 +409,7 @@ build_kernel() {
arch_target=$(arch_to_kernel "${arch_target}")
pushd "${kernel_path}" >>/dev/null
make -j $(nproc ${CI:+--ignore 1}) ARCH="${arch_target}"
- if [ "${conf_guest}" == "sev" ]; then
+ if [ "${KATA_BUILD_CC}" == "yes" ]; then
make -j $(nproc ${CI:+--ignore 1}) INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=${kernel_path} modules_install
fi
[ "$arch_target" != "powerpc" ] && ([ -e "arch/${arch_target}/boot/bzImage" ] || [ -e "arch/${arch_target}/boot/Image.gz" ])
diff --git a/tools/packaging/static-build/kernel/build.sh b/tools/packaging/static-build/kernel/build.sh
index c9bb71be4..39fc3d1e0 100755
--- a/tools/packaging/static-build/kernel/build.sh
+++ b/tools/packaging/static-build/kernel/build.sh
@@ -31,6 +31,7 @@ sudo docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \
sudo docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \
-w "${PWD}" \
+ --env KATA_BUILD_CC="${KATA_BUILD_CC:-}" \
"${container_image}" \
bash -c "${kernel_builder} $* build"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment