mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-29 04:04:45 +00:00
static-build: Add AmdSev option for OVMF builder
Introduces new build of firmware needed for SEV Fixes: kata-containers#4169 Signed-off-by: Alex Carter <alex.carter@ibm.com>
This commit is contained in:
parent
f0b58e38d2
commit
638c2c4164
@ -13,6 +13,7 @@ source "${script_dir}/../../scripts/lib.sh"
|
|||||||
|
|
||||||
# disabling set -u because scripts attempt to expand undefined variables
|
# disabling set -u because scripts attempt to expand undefined variables
|
||||||
set +u
|
set +u
|
||||||
|
ovmf_build="${ovmf_build:-x86_64}"
|
||||||
ovmf_repo="${ovmf_repo:-}"
|
ovmf_repo="${ovmf_repo:-}"
|
||||||
ovmf_dir="edk2"
|
ovmf_dir="edk2"
|
||||||
ovmf_version="${ovmf_version:-}"
|
ovmf_version="${ovmf_version:-}"
|
||||||
@ -45,6 +46,12 @@ make -C BaseTools/
|
|||||||
info "Calling edksetup script"
|
info "Calling edksetup script"
|
||||||
source edksetup.sh
|
source edksetup.sh
|
||||||
|
|
||||||
|
if [ "${ovmf_build}" == "sev" ]; then
|
||||||
|
info "Creating dummy grub file"
|
||||||
|
#required for building AmdSev package without grub
|
||||||
|
touch OvmfPkg/AmdSev/Grub/grub.efi
|
||||||
|
fi
|
||||||
|
|
||||||
info "Building ovmf"
|
info "Building ovmf"
|
||||||
build -b "${build_target}" -t "${toolchain}" -a "${architecture}" -p "${ovmf_package}"
|
build -b "${build_target}" -t "${toolchain}" -a "${architecture}" -p "${ovmf_package}"
|
||||||
|
|
||||||
|
@ -34,6 +34,10 @@ if [ "${ovmf_build}" == "x86_64" ]; then
|
|||||||
[ -n "$ovmf_version" ] || ovmf_version=$(get_from_kata_deps "externals.ovmf.x86_64.version" "${kata_version}")
|
[ -n "$ovmf_version" ] || ovmf_version=$(get_from_kata_deps "externals.ovmf.x86_64.version" "${kata_version}")
|
||||||
[ -n "$ovmf_package" ] || ovmf_package=$(get_from_kata_deps "externals.ovmf.x86_64.package" "${kata_version}")
|
[ -n "$ovmf_package" ] || ovmf_package=$(get_from_kata_deps "externals.ovmf.x86_64.package" "${kata_version}")
|
||||||
[ -n "$package_output_dir" ] || package_output_dir=$(get_from_kata_deps "externals.ovmf.x86_64.package_output_dir" "${kata_version}")
|
[ -n "$package_output_dir" ] || package_output_dir=$(get_from_kata_deps "externals.ovmf.x86_64.package_output_dir" "${kata_version}")
|
||||||
|
elif [ "${ovmf_build}" == "sev" ]; then
|
||||||
|
[ -n "$ovmf_version" ] || ovmf_version=$(get_from_kata_deps "externals.ovmf.sev.version" "${kata_version}")
|
||||||
|
[ -n "$ovmf_package" ] || ovmf_package=$(get_from_kata_deps "externals.ovmf.sev.package" "${kata_version}")
|
||||||
|
[ -n "$package_output_dir" ] || package_output_dir=$(get_from_kata_deps "externals.ovmf.sev.package_output_dir" "${kata_version}")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -n "$ovmf_version" ] || die "failed to get ovmf version or commit"
|
[ -n "$ovmf_version" ] || die "failed to get ovmf version or commit"
|
||||||
@ -45,6 +49,7 @@ sudo docker build -t "${container_image}" "${script_dir}"
|
|||||||
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}" \
|
-w "${PWD}" \
|
||||||
--env DESTDIR="${DESTDIR}" --env PREFIX="${PREFIX}" \
|
--env DESTDIR="${DESTDIR}" --env PREFIX="${PREFIX}" \
|
||||||
|
--env ovmf_build="${ovmf_build}" \
|
||||||
--env ovmf_repo="${ovmf_repo}" \
|
--env ovmf_repo="${ovmf_repo}" \
|
||||||
--env ovmf_version="${ovmf_version}" \
|
--env ovmf_version="${ovmf_version}" \
|
||||||
--env ovmf_package="${ovmf_package}" \
|
--env ovmf_package="${ovmf_package}" \
|
||||||
|
@ -251,7 +251,12 @@ externals:
|
|||||||
version: "edk2-stable202202"
|
version: "edk2-stable202202"
|
||||||
package: "OvmfPkg/OvmfPkgX64.dsc"
|
package: "OvmfPkg/OvmfPkgX64.dsc"
|
||||||
package_output_dir: "OvmfX64"
|
package_output_dir: "OvmfX64"
|
||||||
|
sev:
|
||||||
|
description: "AmdSev build needed for SEV measured direct boot."
|
||||||
|
version: "edk2-stable202202"
|
||||||
|
package: "OvmfPkg/AmdSev/AmdSevX64.dsc"
|
||||||
|
package_output_dir: "AmdSev"
|
||||||
|
|
||||||
virtiofsd:
|
virtiofsd:
|
||||||
description: "vhost-user virtio-fs device backend written in Rust"
|
description: "vhost-user virtio-fs device backend written in Rust"
|
||||||
url: "https://gitlab.com/virtio-fs/virtiofsd"
|
url: "https://gitlab.com/virtio-fs/virtiofsd"
|
||||||
|
Loading…
Reference in New Issue
Block a user