Skip to content

fix(bundle): Take the x86_64 kernel that boots on every vCPU - #15

Merged
ananos merged 1 commit into
mainfrom
feat/assets-0.1.7
Sep 30, 2026
Merged

ananos merged 1 commit into
mainfrom
feat/assets-0.1.7

Conversation

@ananos

@ananos ananos commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

Summary

The amd64 bundles from hull-assets 0.1.6 boot every guest on one CPU. That kernel leaves X86_X2APIC unset. cloud-hypervisor lists each vCPU as an x2APIC entry in the MADT, and the kernel ignores them:

ACPI: x2apic entry ignored
CPU topo: Allowing 1 present CPUs plus 0 hotplug CPUs

So brig run --cpus 3 starts cloud-hypervisor with boot=3, and the guest still reports one CPU. v0.1.0-rc12 ships that kernel. arm64 takes its CPUs from the device tree and is not affected.

This patch moves the bundle to hull-assets 0.1.7, which builds X86_X2APIC in.

Changes

  • scripts/build-bundle.sh: ASSETS_VERSION moves from 0.1.6 to 0.1.7.
0.1.6 0.1.7
amd64 kernel bzImage a423bdb9 bzImage f00bcf35, the same size
arm64 kernel Image e8bf35e4 unchanged

The initrd is the bundle's own and does not change.

Testing

The 0.1.7 linux-amd64 artifact verifies against the build-assets.yml@refs/heads/main identity. Its kernel config differs from 0.1.6's in X86_X2APIC alone, plus four symbols that depend on it and show as unset.

The two kernels under the rc12 rootless bundle on an x86_64 KVM host, with brig run --cpus 3:

kernel VMM nproc cpu/online /proc/cpuinfo
0.1.6 (a423bdb9) boot=3 1 0 1
0.1.7 (f00bcf35) boot=3 3 0-2 3

CI builds the amd64 and arm64 bundles from 0.1.7.

🤖 Generated with Claude Code

The amd64 kernel in hull-assets 0.1.6 leaves X86_X2APIC unset.
cloud-hypervisor lists each vCPU as an x2APIC entry in the MADT, so that
kernel ignores them, and an amd64 guest runs on one CPU whatever
`brig run --cpus` asks for. hull-assets 0.1.7 builds X86_X2APIC in:

- amd64: bzImage f00bcf35 (was a423bdb9), the same size
- arm64: unchanged, Image e8bf35e4

Signed-off-by: Anastassios Nanos <ananos@nofire.ai>
@ananos
ananos marked this pull request as ready for review September 30, 2026 09:23
@ananos
ananos merged commit 26b5745 into main Sep 30, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant