guest/build.sh produces vmlinux-pvm-amd64: an uncompressed, module-free,
PVH-bootable ELF kernel that Cloud Hypervisor loads via --kernel, exactly
like sandbox’s standard guest kernel.
Applied in order on the pinned tree:
x86_64_defconfig + kvm_guest.config — upstream baselinesconfigs/guest-base.config — derived from
sandbox/boot/kernel/sandbox.config (kept in sync by hand): everything
the boot path touches built in, no modules, the sandbox trim cutsconfigs/guest-pvm.config — the PVM delta: CONFIG_X86_PIE=y,
CONFIG_PVM_GUEST=y, 5-level paging offAfter olddefconfig the build asserts the PVM, boot- and container-critical
symbols survived the merge — merge_config only warns, and a silently
dropped symbol must fail the build, not ship.
configs/upstream/pvm-guest-6.12.33.config is virt-pvm’s own reference
config, vendored for diffing. It still lists
CONFIG_RELOCATABLE_UNCOMPRESSED_KERNEL, which no longer exists on
pvm-612 — the PIE relocation mechanism changed during the 6.12 rebase.
Do not assert on it.--kernel and carries no modules,
existing os-images need no changes to run under PVM.