Launch lightweight KVM-based virtual machines with custom kernels, configurable vCPUs and memory allocation.
| Flag | Short | Description | Takes Value |
|---|---|---|---|
--append |
— |
Extra kernel command-line arguments to pass to the guest | Yes |
--cpus |
— |
Number of virtual CPUs to allocate (default: host count) | Yes |
--help |
— |
Show help message and usage information | No |
--home |
-h |
Set ScorpioX home directory (env: SCORPIOX_HOME) | Yes |
--kernel |
— |
Path to kernel image to boot (default: built-in kernel) | Yes |
--list |
-l |
List available VM images or configurations | Yes |
--memory |
— |
Guest RAM in MB (default: auto-detect from host) | Yes |
--verbose |
-v |
Enable debug output for diagnostics | No |
--version |
— |
Print version number and exit | No |
# Boot a VM using the built-in kernel with default vCPUs and memory $ scorpiox-vm KVM VM started — 4 vCPUs, 2048 MB RAM Booting kernel... done Guest console attached
# Boot a custom kernel image with 4 GB RAM and 8 vCPUs $ scorpiox-vm --kernel /path/to/bzImage --memory 4096 --cpus 8 KVM VM started — 8 vCPUs, 4096 MB RAM Booting kernel /path/to/bzImage... done Guest console attached
# Append extra kernel boot parameters for serial console and init $ scorpiox-vm --kernel ./vmlinuz --append "console=ttyS0 init=/bin/sh" KVM VM started — 4 vCPUs, 2048 MB RAM Kernel cmdline: console=ttyS0 init=/bin/sh Booting kernel... done # Enable verbose debugging for troubleshooting boot issues $ scorpiox-vm --kernel ./vmlinuz --append "earlyprintk=serial" --verbose [debug] KVM: opening /dev/kvm [debug] KVM: creating VM fd [debug] KVM: setting up 4 vCPUs [debug] KVM: allocating 2048 MB guest memory [debug] KVM: loading kernel image (4.2 MB) [debug] KVM: kernel cmdline: earlyprintk=serial [debug] KVM: booting... Guest console attached
# List available kernel images and VM configurations $ scorpiox-vm --list Available VM images: default built-in minimal kernel (5.15) alpine Alpine Linux 3.18 (12 MB) debian Debian 12 minimal (45 MB)
# Point to a different ScorpioX installation for kernel/image lookup $ scorpiox-vm -h /opt/scorpiox --list SCORPIOX_HOME=/opt/scorpiox Available VM images: default built-in minimal kernel (5.15) custom custom-kernel.img (8 MB) # Or use the environment variable $ SCORPIOX_HOME=/opt/scorpiox scorpiox-vm --kernel auto
# Spin up a lightweight VM with minimal resources for test isolation $ scorpiox-vm --cpus 1 --memory 512 --append "quiet init=/test-runner.sh" KVM VM started — 1 vCPU, 512 MB RAM Booting kernel... done [test-runner] Running 42 tests... [test-runner] All tests passed. VM exited with code 0
scorpiox/scorpiox-vm.c