Install PhyOS on QEMU/KVM
Overview
Section titled “Overview”This guide walks you through running PhyOS 5 as a virtual machine from the PhyOS QCOW2 image. QCOW2 is QEMU’s own disk format, so there is no installer to run and no conversion step - you attach the disk to a new virtual machine and power it on.
The guide covers four platforms: plain QEMU, libvirt, Proxmox VE, and OpenShift Virtualization.
Prerequisites
Section titled “Prerequisites”For PhyOS installation
Section titled “For PhyOS installation”- One of: QEMU 6.2 or later with KVM, libvirt with
virt-install, Proxmox VE 7 or later, or OpenShift Virtualization - OVMF UEFI firmware installed on the host
- Host capacity for 4 vCPU, 4 GB RAM, and a 64 GB disk
- About 10 GB of free disk space for the download and the extracted image
- A network that provides DHCP and outbound internet access
- Internet connection
- Access to the PhyStack console
Install PhyOS
Section titled “Install PhyOS”Download the image once, then follow the section for your platform.
Download and extract the PhyOS QCOW2 image
Section titled “Download and extract the PhyOS QCOW2 image”- Download the latest PhyOS QCOW2 image
- Extract the archive:
Terminal window tar -xzf phyos.qcow2.tar.gz - Rename the extracted file to
phyos.qcow2so the commands below can be copied as they are
The extracted image has a 64 GB virtual size and grows as it is used.
Run with QEMU
Section titled “Run with QEMU”- Make sure OVMF firmware is installed on the host
- Start the virtual machine:
Terminal window qemu-system-x86_64 -machine q35,accel=kvm -m 4096 -smp 4 -bios /usr/share/OVMF/OVMF.fd -drive file=phyos.qcow2,format=qcow2,if=virtio -netdev user,id=n0 -device virtio-net-pci,netdev=n0 - PhyOS boots to the connection screen in the QEMU window
Create a virtual machine with libvirt
Section titled “Create a virtual machine with libvirt”- Copy the image into your libvirt images directory:
Terminal window mv phyos.qcow2 /var/lib/libvirt/images/ - Create the virtual machine:
Terminal window virt-install --name phyos --memory 4096 --vcpus 4 --osinfo generic --boot uefi,firmware.feature0.name=secure-boot,firmware.feature0.enabled=no --disk path=/var/lib/libvirt/images/phyos.qcow2,format=qcow2,bus=virtio --network network=default,model=virtio --graphics vnc --import --noautoconsole - Connect to the console with
virt-vieweror Virtual Machine Manager
--boot uefi on its own usually selects a Secure Boot firmware build, so keep the firmware feature flags shown above.
Create a virtual machine on Proxmox VE
Section titled “Create a virtual machine on Proxmox VE”- Find a storage ID:
Terminal window pvesm status - Create the virtual machine:
Terminal window qm create VMID --machine q35 --bios ovmf --ostype l26 --memory 4096 --cores 4 --net0 virtio,bridge=vmbr0 - Add an EFI disk:
Terminal window qm set VMID --efidisk0 STORAGE:1,efitype=4m,pre-enrolled-keys=0 - Import the image as the boot disk:
Terminal window qm set VMID --scsihw virtio-scsi-single --scsi0 STORAGE:0,import-from=/root/phyos.qcow2 - Set the boot order:
Terminal window qm set VMID --boot order=scsi0 - Start the virtual machine from the Proxmox web interface
Replace VMID with your virtual machine’s ID and STORAGE with the storage name from step 1.
Create a virtual machine on OpenShift Virtualization
Section titled “Create a virtual machine on OpenShift Virtualization”- Upload the image as a DataVolume:
Terminal window virtctl image-upload dv phyos-disk --size=64Gi --image-path=phyos.qcow2 - Create a VirtualMachine that uses the resulting DataVolume as its disk
- Set Boot mode to UEFI
- Or set it in the virtual machine spec:
Terminal window spec:template:spec:domain:firmware:bootloader:efi:secureBoot: false - Start the virtual machine and open its console
Connect device to PhyStack
Section titled “Connect device to PhyStack”After PhyOS boots:
- You should see the PhyOS splash screen
- The device will display a connection screen
- Note the Serial Number displayed in the top-left corner of the screen
- In the PhyStack portal, navigate to the device connection section
- Enter the Serial Number in the Device Serial field
- Click the Connect device button
- The device will appear under Installations → Devices
Troubleshooting
Section titled “Troubleshooting”QEMU and KVM installation issues
Section titled “QEMU and KVM installation issues”The virtual machine shows a Secure Boot verification message
Section titled “The virtual machine shows a Secure Boot verification message”- The firmware build in use has Secure Boot enabled
- Recreate the virtual machine with Secure Boot turned off, as shown in the section for your platform
The virtual machine drops to a UEFI shell or reports no bootable device
Section titled “The virtual machine drops to a UEFI shell or reports no bootable device”- The virtual machine is running BIOS firmware
- Use
-bioswith an OVMF image on QEMU, or--boot uefiwith libvirt, or set BIOS to OVMF (UEFI) on Proxmox
OVMF.fd is not found
Section titled “OVMF.fd is not found”- The firmware path varies by distribution
- See the note in the QEMU section for common locations
Proxmox allocated the full 64 GB
Section titled “Proxmox allocated the full 64 GB”- The image was imported into LVM-thin storage, which stores raw volumes only
- Import into file-based storage instead to keep the disk sparse
oc create rejects the VirtualMachine
Section titled “oc create rejects the VirtualMachine”- A bare
efi: {}enables Secure Boot, which also requires the SMM feature - Set
secureBoot: falsein the virtual machine spec
virtctl image-upload never completes
Section titled “virtctl image-upload never completes”- The storage class uses the
WaitForFirstConsumerbinding mode - Add
--force-bindto the upload command
The virtual machine has no network
Section titled “The virtual machine has no network”- Attach the virtual machine to a network that provides DHCP and outbound internet access
Device-specific notes
Section titled “Device-specific notes”Virtual hardware
Section titled “Virtual hardware”4 virtual processors, 4096 MB of memory, the QCOW2 image as a virtio or virtio-scsi disk, and a virtio network adapter.
Firmware
Section titled “Firmware”UEFI with OVMF firmware and Secure Boot turned off, on every platform in this guide.
Storage
Section titled “Storage”The image has a 64 GB virtual size and stays sparse on file-based storage.
Display output
Section titled “Display output”Use your platform’s console: the QEMU window, virt-viewer, the Proxmox noVNC console, or the OpenShift virtual machine console.
Important notes
Section titled “Important notes”- Boot the image with UEFI firmware and Secure Boot turned off
- Attach the virtual machine to a network that provides DHCP and outbound internet access
- On Proxmox, import into file-based storage to keep the disk sparse
- Keep the extracted
.qcow2if you plan to create more devices