v1.39
virtme-ng v1.39 is out!
The most noticeable change in this release is the new Model Context Protocol (MCP) server. This feature lets you connect with AI assistants such as Claude, Cursor, etc., and use natural human language to automate kernel development tasks.
In this way, AI agents can automatically configure kernels, apply patches from lore.kernel.org, and run commands within recompiled kernels. You can even have the AI agent perform bug bisection for you and run specific commands/scripts inside each recompiled version to determine whether the kernel is good or bad.
An additional feature is vCPU pinning (using the --pin CPU_LIST option), which enables binding virtual CPUs to particular physical host CPUs. This ensures more consistent performance testing within the vng guest environment.
The release also adds support for memoryless NUMA nodes, enabling users to specify size=0 with the --numa argument to create NUMA nodes without memory. This capability can be useful for simulating heterogeneous architectures, where devices like GPUs are represented as memoryless NUMA nodes to model their CPU locality relationships.
Last, but not least, there's a new --shell BINARY option which lets users choose a different shell to use within the vng session, rather than using their system's default shell and a new --empty-password option that creates empty passwords in the vng guest, instead of blocking login for other users, enabling easier debugging and SSH access during testing.
Other changes:
- Updated Python versions in CI (dropped EOL 3.8 and 3.9)
- Various bug fixes in virtme-init
- Enhanced documentation and README updates
- Improved error handling and validation
Detailed ChangeLog:
Andrea Righi (7):
virtme/architectures: Enable topology extensions for AMD CPUs
virtme-ng: Introduce --shell
virtme-ng: Implement vCPU pinning
virtme: systemd: Disable zram generator
virtme: Support memoryless NUMA nodes
virtme-ng: Add MCP server for AI agent integration
virtme-ng v1.39
Ilya Leoshkevich (3):
virtme-init: Improve nested virtme-ng performance
virtme-init: Fix `base64: invalid input`
virtme-init: Send guest's hostname to the DHCP server
Marc Hartmayer (3):
virtme/commands/run: Fix TypeError
vng: Add `--empty-passwords` support
Improve `vng-mcp` integration
Matthieu Baerts (NGI0) (8):
virtiofsd: run with -o cache=auto in --rw mode
github: python: add 3.14, drop 3.9
project: drop EOL Python 3.8 and 3.9 versions
github: run: use virtme-ng-init in one of the runs
github: run: use the verbose option
github: run: switch to latest ubuntu version
github: run: sync dependences with README
README: docker: keep example up-to-date
Oscar Linderholm (2):
net: option to disable automatic DHCP configuration
Make --no-dhcp a global configuration option
Ricardo B. Marlière (5):
virtme/run: Set virtme_root_user=1 also when using `--root` option
virtme/run: Check read permissions of args.root
virtme/run: Always mount cache when args.root != '/'
virtme-sshd-script: Set SSH_HOME to virtme.cache if it's mounted
virtme-sshd-script: Don't use the default StrictModes
Ricardo Ribalda (1):
virtme-init: Increase timeout for udevadm settle