mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
scripts: copy custom workloads before container launch
When CH_CUSTOM_KERNEL, CH_CUSTOM_FIRMWARE, or CH_CUSTOM_OVMF environment variables are set, copy the referenced files into the host workloads directory before starting Docker. The files land at the default paths the test scripts expect (vmlinux-x86_64, Image-arm64, hypervisor-fw, CLOUDHV.fd, CLOUDHV_EFI.fd), so the existing download-if-missing guards inside the container skip the network fetch. Each variable is independent; users can override any combination without affecting the others. Assisted-by: GitHub Copilot:Claude-Opus-4.6 Signed-off-by: Muminul Islam <muislam@microsoft.com>
This commit is contained in:
committed by
Rob Bradford
parent
339d0a84f9
commit
38bc97dd4d
@@ -500,6 +500,37 @@ cmd_tests() {
|
|||||||
./scripts/run_unit_tests.sh "$@" || fix_dir_perms $? || exit $?
|
./scripts/run_unit_tests.sh "$@" || fix_dir_perms $? || exit $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Copy custom kernel/firmware into the workloads directory on the
|
||||||
|
# host so they are visible inside the container at the default
|
||||||
|
# paths. Each variable is independent; only set vars are copied.
|
||||||
|
if [ -n "$CH_CUSTOM_KERNEL" ]; then
|
||||||
|
say "Copying custom kernel from $CH_CUSTOM_KERNEL"
|
||||||
|
if [ "$(uname -m)" = "aarch64" ]; then
|
||||||
|
cp "$CH_CUSTOM_KERNEL" "$CLH_INTEGRATION_WORKLOADS/Image-arm64"
|
||||||
|
else
|
||||||
|
cp "$CH_CUSTOM_KERNEL" "$CLH_INTEGRATION_WORKLOADS/vmlinux-x86_64"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [ -n "$CH_CUSTOM_BZIMAGE" ]; then
|
||||||
|
say "Copying custom bzImage from $CH_CUSTOM_BZIMAGE"
|
||||||
|
if [ "$(uname -m)" = "x86_64" ]; then
|
||||||
|
cp "$CH_CUSTOM_BZIMAGE" "$CLH_INTEGRATION_WORKLOADS/bzImage-x86_64"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$CH_CUSTOM_FIRMWARE" ]; then
|
||||||
|
say "Copying custom firmware from $CH_CUSTOM_FIRMWARE"
|
||||||
|
cp "$CH_CUSTOM_FIRMWARE" "$CLH_INTEGRATION_WORKLOADS/hypervisor-fw"
|
||||||
|
fi
|
||||||
|
if [ -n "$CH_CUSTOM_OVMF" ]; then
|
||||||
|
say "Copying custom OVMF from $CH_CUSTOM_OVMF"
|
||||||
|
if [ "$(uname -m)" = "aarch64" ]; then
|
||||||
|
cp "$CH_CUSTOM_OVMF" "$CLH_INTEGRATION_WORKLOADS/CLOUDHV_EFI.fd"
|
||||||
|
else
|
||||||
|
cp "$CH_CUSTOM_OVMF" "$CLH_INTEGRATION_WORKLOADS/CLOUDHV.fd"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# Extend common_args with integration-specific runtime settings.
|
# Extend common_args with integration-specific runtime settings.
|
||||||
common_args+=(
|
common_args+=(
|
||||||
--privileged
|
--privileged
|
||||||
@@ -514,6 +545,10 @@ cmd_tests() {
|
|||||||
common_env_args+=(
|
common_env_args+=(
|
||||||
--env USER="root"
|
--env USER="root"
|
||||||
--env AUTH_DOWNLOAD_TOKEN="$AUTH_DOWNLOAD_TOKEN"
|
--env AUTH_DOWNLOAD_TOKEN="$AUTH_DOWNLOAD_TOKEN"
|
||||||
|
--env CH_CUSTOM_KERNEL="$CH_CUSTOM_KERNEL"
|
||||||
|
--env CH_CUSTOM_BZIMAGE="$CH_CUSTOM_BZIMAGE"
|
||||||
|
--env CH_CUSTOM_FIRMWARE="$CH_CUSTOM_FIRMWARE"
|
||||||
|
--env CH_CUSTOM_OVMF="$CH_CUSTOM_OVMF"
|
||||||
)
|
)
|
||||||
|
|
||||||
if [ "$integration" = true ]; then
|
if [ "$integration" = true ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user