Switch to Ubuntu Minimal cloud image - #286
Merged
Merged
Conversation
nirs
marked this pull request as ready for review
August 3, 2026 17:18
The server cloud image is ~850MB which is excessive for testing vmnet-helper. Switch to the minimal cloud image (~407MB for amd64v3, ~390MB for arm64) — about half the download size and disk footprint (1.2GB vs 2.6GB per VM). Use x86-64-v3 variant for Intel since all target machines are macOS 14+ (2018 Coffee Lake or newer). Drop initrd for direct kernel boot — the minimal kernel has virtio_blk and ext4 built-in so we can boot without it. Switch from root=LABEL=cloudimg-rootfs to root=/dev/vda1 since the minimal image uses PARTUUID instead of filesystem labels.
Switching to Ubuntu Minimal cloud image reduced CI boot times from 3:30-4:40 minutes to 1:15-1:54 minutes. With 300s timeout we still have over a minute of margin. This reverts commit 5b0d24b.
This service may block boot for 2 minutes waiting for all network
interfaces to be fully configured. With the minimal cloud image, it
prevents sshd from accepting connections (via socket activation
dependency on network-online.target).
We only need eth0 with DHCP from vmnet and don't need the
network-online target.
Use bootcmd (runs during cloud-init-local, before the service starts)
for vfkit, and systemd.mask= kernel parameter for QEMU direct boot.
Boot time with minimal image before masking:
Startup finished in 68ms (kernel) + 2min 1.668s (userspace)
After masking:
Startup finished in 68ms (kernel) + 1.668s (userspace) = 1.737s
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Switch to Ubuntu Minimal cloud image
Switch test VMs from the Ubuntu server cloud image (~850MB) to the
minimal cloud image (~407MB for amd64v3, ~390MB for arm64). This cuts
CI boot times from 2:30-5:00 minutes to 1:15-1:54, and local VM disk
usage from 2.6GB to 1.2GB per VM.
Changes:
ext4 built-in)
PARTUUID, not filesystem labels)
Boot time improvement (local, vfkit arm64):
CI "Start example VM" step improvement:
Example boot in 1.7 seconds