Skip to content

billyan2018/vagrant-qemu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vagrant Qemu Provider

This is a simple Vagrant plugin that adds a qemu provider to Vagrant, allowing Vagrant to control and provision machines using qemu.

Environment preparation

First make sure qemu works in your environment. If qemu is not installed yet,

brew install qemu

It is optional, but we strongly suggest installing qemu-virgl to enable graphical acceleration:

brew install akirakyle/qemu-virgl/qemu-virgl

If vagrant is not installed yet, you should install it:

brew install vagrant

If any troubles met for vagrant installation, check other options

Build and install

Clone this repo:

git clone https://github.com/billyan2018/vagrant-qemu

Then build and install

rake build && vagrant plugin install pkg/vagrant-qemu-0.2.22.gem

Demo

Run an ARM64 VM

vagrant init billyan2018/devbox \
  --box-version 0.1.0
vagrant up --provider="libvirt"

as convention, the username/password are both vagrant Screen:

Run an AMD64 VM

vagrant init failfish/precise64

Add this part in the Vagrantfile:

  config.vm.provider :libvirt do |lv|
    lv.qemu_command = "qemu-system-x86_64" 
    lv.machine = "q35"
    lv.cpu = "max"
    lv.memory = "4G"
    lv.display="cocoa,gl=es"	
  end

Then vagrant up --provider="libvirt" Screen:

Configuration items

Item Description Default value
qemu_command the command to call qemu, like qemu-system-aarch64 or qemu-system-x86_64 "qemu-system-aarch64"
machine machine type, run qemu-system-aarch64 -machine help to see the types supported "virt,accel=hvf,highmem=off"
cpu run qemu-system-aarch64 -cpu help to check CPU supported "host"
smp Specify the number of cores the guest is permitted to use "2"
memory Memory size "4G"
display Available display backend types: qemu-system-aarch64 -display help "cocoa,gl=es"
gpu "virtio-gpu-gl-pci"
mouse mouse type "usb-tablet"
firmware_location The firmware to boot the machine no value for x86, otherwise "/opt/homebrew/share/qemu/edk2-aarch64-code.fd"
additional_line any content you would like to append at the end of the command NA

About

A vagrant plugin/provider to manage QEMU virtual machines works on Apple Silicon / m1

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages