OsmiumVM & ilivm

OsmiumVM is a reusable Go library for QEMU virtual machine management, providing a clean API for VM lifecycle control, device configuration, and guest interaction.

IliVM is the IDMS Linux Instant VM application built on top of OsmiumVM, designed for automation with boot detection, SSH integration, and OEM customization support.

  • VM Lifecycle Management - Create, prepare, start, stop, and cleanup VMs
  • Device Registry - Unified device interface for all hardware components
  • QMP Protocol - QEMU Machine Protocol for VM control and monitoring
  • Guest Agent - Communication with QEMU guest agent for guest OS interaction
  • PCI Address Allocation - Automatic PCI/PCIe address management for Q35 machines
  • Display Support - VNC, SPICE, and GTK display with authentication
  • Storage Devices - VirtIO block devices, NVMe, and CD-ROM support
  • Network Devices - User-mode networking with port forwarding
  • Boot Detection - Guest agent polling with optional network readiness wait
  • SSH Integration - Automatic key generation, file transfer, and remote execution
  • OEM Customization - ISO-based OEM configuration injection
  • Serial Console - Line-buffered and raw serial output handling
  • Script Execution - Run installation scripts on guest VMs
  • Machine Type: Q35
  • Accelerator: KVM
  • Guest OS: Linux (KVM paravirtualization), Windows 11 (Hyper-V enlightenments)
  • projects/osmiumvm/start.txt
  • Last modified: 2025-12-30 10:48
  • by nkukard