mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-05-02 13:44:33 +00:00
kernel: build efi_secret module for SEV
Add kernel fork for sev to kernel builder with efi_secret. Additionally, install efi_secret module for sev. Fixes: #4179 Signed-off-by: Alex Carter <alex.carter@ibm.com>
This commit is contained in:
parent
ae911d0cd3
commit
db5048d52c
@ -132,6 +132,23 @@ get_tdx_kernel() {
|
|||||||
tar --strip-components=1 -xf ${kernel_tarball} -C ${kernel_path}
|
tar --strip-components=1 -xf ${kernel_tarball} -C ${kernel_path}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get_sev_kernel() {
|
||||||
|
local version="${1}"
|
||||||
|
local kernel_path=${2}
|
||||||
|
|
||||||
|
mkdir -p ${kernel_path}
|
||||||
|
|
||||||
|
kernel_url=$(get_from_kata_deps "assets.kernel.sev.url")
|
||||||
|
kernel_tarball="${version}.tar.gz"
|
||||||
|
|
||||||
|
if [ ! -f "${kernel_tarball}" ]; then
|
||||||
|
curl --fail -OL "${kernel_url}${kernel_tarball}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p ${kernel_path}
|
||||||
|
tar --strip-components=1 -xf ${kernel_tarball} -C ${kernel_path}
|
||||||
|
}
|
||||||
|
|
||||||
get_kernel() {
|
get_kernel() {
|
||||||
local version="${1:-}"
|
local version="${1:-}"
|
||||||
|
|
||||||
@ -142,6 +159,9 @@ get_kernel() {
|
|||||||
if [ "${conf_guest}" == "tdx" ]; then
|
if [ "${conf_guest}" == "tdx" ]; then
|
||||||
get_tdx_kernel ${version} ${kernel_path}
|
get_tdx_kernel ${version} ${kernel_path}
|
||||||
return
|
return
|
||||||
|
elif [ "${conf_guest}" == "sev" ]; then
|
||||||
|
get_sev_kernel ${version} ${kernel_path}
|
||||||
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#Remove extra 'v'
|
#Remove extra 'v'
|
||||||
@ -399,6 +419,9 @@ build_kernel() {
|
|||||||
arch_target=$(arch_to_kernel "${arch_target}")
|
arch_target=$(arch_to_kernel "${arch_target}")
|
||||||
pushd "${kernel_path}" >>/dev/null
|
pushd "${kernel_path}" >>/dev/null
|
||||||
make -j $(nproc) ARCH="${arch_target}"
|
make -j $(nproc) ARCH="${arch_target}"
|
||||||
|
if [ "${conf_guest}" == "sev" ]; then
|
||||||
|
make -j $(nproc --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" ])
|
[ "$arch_target" != "powerpc" ] && ([ -e "arch/${arch_target}/boot/bzImage" ] || [ -e "arch/${arch_target}/boot/Image.gz" ])
|
||||||
[ -e "vmlinux" ]
|
[ -e "vmlinux" ]
|
||||||
([ "${hypervisor_target}" == "firecracker" ] || [ "${hypervisor_target}" == "cloud-hypervisor" ]) && [ "${arch_target}" == "arm64" ] && [ -e "arch/${arch_target}/boot/Image" ]
|
([ "${hypervisor_target}" == "firecracker" ] || [ "${hypervisor_target}" == "cloud-hypervisor" ]) && [ "${arch_target}" == "arm64" ] && [ -e "arch/${arch_target}/boot/Image" ]
|
||||||
@ -542,6 +565,9 @@ main() {
|
|||||||
esac
|
esac
|
||||||
elif [[ "${conf_guest}" == "tdx" ]]; then
|
elif [[ "${conf_guest}" == "tdx" ]]; then
|
||||||
kernel_version=$(get_from_kata_deps "assets.kernel.tdx.tag")
|
kernel_version=$(get_from_kata_deps "assets.kernel.tdx.tag")
|
||||||
|
elif [[ "${conf_guest}" == "sev" ]]; then
|
||||||
|
#If specifying a tag for kernel_version, must be formatted version-like to avoid unintended parsing issues
|
||||||
|
kernel_version=$(get_from_kata_deps "assets.kernel.sev.tag")
|
||||||
else
|
else
|
||||||
kernel_version=$(get_from_kata_deps "assets.kernel.version")
|
kernel_version=$(get_from_kata_deps "assets.kernel.version")
|
||||||
fi
|
fi
|
||||||
|
@ -4,3 +4,9 @@ CONFIG_AMD_MEM_ENCRYPT=y
|
|||||||
CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=y
|
CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=y
|
||||||
CONFIG_CRYPTO_DEV_SP_PSP=y
|
CONFIG_CRYPTO_DEV_SP_PSP=y
|
||||||
CONFIG_CRYPTO_DEV_CCP=y
|
CONFIG_CRYPTO_DEV_CCP=y
|
||||||
|
CONFIG_SECURITYFS=y
|
||||||
|
CONFIG_VIRT_DRIVERS=y
|
||||||
|
CONFIG_EFI=y
|
||||||
|
CONFIG_EFI_SECRET=m
|
||||||
|
CONFIG_MODULE_SIG=y
|
||||||
|
CONFIG_MODULES=y
|
@ -158,6 +158,11 @@ assets:
|
|||||||
description: "Linux kernel that supports TDX"
|
description: "Linux kernel that supports TDX"
|
||||||
url: "https://github.com/intel/tdx/archive/refs/tags"
|
url: "https://github.com/intel/tdx/archive/refs/tags"
|
||||||
tag: "tdx-guest-v5.15-4"
|
tag: "tdx-guest-v5.15-4"
|
||||||
|
sev:
|
||||||
|
description: "Linux kernel with efi_secret support"
|
||||||
|
url: "https://github.com/confidential-containers-demo/\
|
||||||
|
linux/archive/refs/tags/"
|
||||||
|
tag: "efi-secret-v5.17-rc6"
|
||||||
|
|
||||||
kernel-experimental:
|
kernel-experimental:
|
||||||
description: "Linux kernel with virtio-fs support"
|
description: "Linux kernel with virtio-fs support"
|
||||||
|
Loading…
Reference in New Issue
Block a user