mirror of
https://github.com/oSoWoSo/DistroHopper.git
synced 2024-08-14 22:46:53 +00:00
New release docs with cogged README (#508)
This commit is contained in:
parent
39da52a3bf
commit
d0c2bb228a
8 changed files with 698 additions and 520 deletions
274
README.md
274
README.md
|
@ -8,17 +8,16 @@
|
|||
<div align="center"><img src=".github/screenshot.png" alt="Quickemu Screenshot" /></div>
|
||||
<p align="center">Made with 💝 for <img src=".github/tux.png" align="top" width="18" /></p>
|
||||
|
||||
Introduction
|
||||
------------
|
||||
## Introduction
|
||||
|
||||
Quickly create and run highly optimised desktop virtual machines for
|
||||
Linux, macOS and Windows; with just two commands. You decide what
|
||||
operating system you want to run and Quickemu will figure out the best
|
||||
way to do it for you. For example:
|
||||
|
||||
``` {.bash}
|
||||
quickget ubuntu-mate 21.10
|
||||
quickemu --vm ubuntu-mate-21.10-.conf
|
||||
``` bash
|
||||
quickget ubuntu-mate 22.04
|
||||
quickemu --vm ubuntu-mate-22.04-.conf
|
||||
```
|
||||
|
||||
The original objective of the project was to enable quick testing of
|
||||
|
@ -28,8 +27,7 @@ and no elevated permissions are required to run the virtual machines.
|
|||
**Quickemu now also includes comprehensive support for macOS and
|
||||
Windows**.
|
||||
|
||||
Features
|
||||
--------
|
||||
## Features
|
||||
|
||||
- **macOS** Monterey, Big Sur, Catalina, Mojave & High Sierra
|
||||
- **Windows** 8.1, 10 and 11 including TPM 2.0
|
||||
|
@ -67,8 +65,7 @@ Quickemu.
|
|||
[![Replace VirtualBox with Bash &
|
||||
QEMU](https://img.youtube.com/vi/AOTYWEgw0hI/0.jpg)](https://www.youtube.com/watch?v=AOTYWEgw0hI)
|
||||
|
||||
Requirements
|
||||
------------
|
||||
## Requirements
|
||||
|
||||
- [QEMU](https://www.qemu.org/) (*6.0.0 or newer*) **with GTK, SDL,
|
||||
SPICE & VirtFS support**
|
||||
|
@ -93,11 +90,37 @@ Requirements
|
|||
- [zsync](http://zsync.moria.org.uk/)
|
||||
- [unzip](http://www.info-zip.org/UnZip.html)
|
||||
|
||||
Usage
|
||||
=====
|
||||
### Installing Requirements
|
||||
|
||||
Graphical User Interfaces
|
||||
-------------------------
|
||||
For Ubuntu, Arch and nixos systems the
|
||||
[ppa](https://launchpad.net/~flexiondotorg/+archive/ubuntu/quickemu),
|
||||
[AUR](https://aur.archlinux.org/packages/quickemu) or
|
||||
[nix](https://github.com/NixOS/nixpkgs/tree/master/pkgs/development/quickemu)
|
||||
packaging will take care of the dependencies. For other host
|
||||
distributions or operating systems it will be necessary to install the
|
||||
above requirements or their equivalents.
|
||||
|
||||
These examples may save a little typing
|
||||
|
||||
Debian:
|
||||
|
||||
sudo apt install qemu bash coreutils ovmf grep jq lsb procps python3 genisoimage usbutils util-linux sed spice-client-gtk swtpm wget xdg-user-dirs zsync unzip
|
||||
|
||||
Fedora:
|
||||
|
||||
sudo dnf install qemu bash coreutils edk2-tools grep jq lsb procps python3 genisoimage usbutils util-linux sed spice-gtk-tools swtpm wget xdg-user-dirs xrandr unzip
|
||||
|
||||
MacOS:
|
||||
|
||||
This is a work in progress (see [issue
|
||||
248](https://github.com/quickemu-project/quickemu/issues/248) for other
|
||||
steps and changes that may enable running on MacOS)
|
||||
|
||||
brew install qemu bash coreutils grep jq python@3.10 cdrtools gnu-sed spice-gtk wget zsync
|
||||
|
||||
# Usage
|
||||
|
||||
## Graphical User Interfaces
|
||||
|
||||
While `quickemu` and `quickget` are designed for the terminal, a
|
||||
graphical user interface is also available:
|
||||
|
@ -112,33 +135,30 @@ Many thanks to [Luke Wesley-Holley](https://github.com/Lukewh) and
|
|||
|
||||
### Quickgui for Ubuntu
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
sudo add-apt-repository ppa:yannick-mauray/quickgui
|
||||
sudo apt update
|
||||
sudo apt install quickgui
|
||||
```
|
||||
|
||||
Install Quickemu
|
||||
================
|
||||
# Install Quickemu
|
||||
|
||||
Ubuntu
|
||||
------
|
||||
## Ubuntu
|
||||
|
||||
Quickemu is available from a PPA for Ubuntu users. The Quickemu PPA also
|
||||
includes a back port of QEMU 6.0.0 for 20.04 (Focal) and 21.04
|
||||
(Hirsute). To install Quickemu and all the dependencies run the
|
||||
following in a terminal:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
sudo apt-add-repository ppa:flexiondotorg/quickemu
|
||||
sudo apt update
|
||||
sudo apt install quickemu
|
||||
```
|
||||
|
||||
Other Linux
|
||||
-----------
|
||||
## Other Linux
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
git clone --depth=1 https://github.com/wimpysworld/quickemu
|
||||
cd quickemu
|
||||
```
|
||||
|
@ -160,15 +180,14 @@ status](https://repology.org/badge/vertical-allrepos/quickemu.svg)](https://repo
|
|||
[![Packaging
|
||||
status](https://repology.org/badge/vertical-allrepos/quickgui.svg)](https://repology.org/project/quickgui/versions)
|
||||
|
||||
Ubuntu Guest
|
||||
------------
|
||||
## Ubuntu Guest
|
||||
|
||||
`quickget` will automatically download an Ubuntu release and create the
|
||||
virtual machine configuration.
|
||||
|
||||
``` {.bash}
|
||||
quickget ubuntu 20.04
|
||||
quickemu --vm ubuntu-20.04.conf
|
||||
``` bash
|
||||
quickget ubuntu 22.04
|
||||
quickemu --vm ubuntu-22.04.conf
|
||||
```
|
||||
|
||||
- Complete the installation as normal.
|
||||
|
@ -185,7 +204,7 @@ quickemu --vm ubuntu-20.04.conf
|
|||
`quickget` can also download/refresh devel images via `zsync` for Ubuntu
|
||||
developers and testers.
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
quickget ubuntu devel
|
||||
quickemu --vm ubuntu-devel.conf
|
||||
```
|
||||
|
@ -208,8 +227,7 @@ with your preferred flavour.
|
|||
- `ubuntu` (Ubuntu)
|
||||
- `xubuntu` (Xubuntu)
|
||||
|
||||
Other Operating Systems
|
||||
-----------------------
|
||||
## Other Operating Systems
|
||||
|
||||
`quickget` also supports:
|
||||
|
||||
|
@ -218,11 +236,15 @@ Other Operating Systems
|
|||
- `android` (Android x86)
|
||||
- `archlinux` (Arch Linux)
|
||||
- `arcolinux` (Arco Linux)
|
||||
- `batocera` (Batocera)
|
||||
- `cachyos` (CachyOS)
|
||||
- `centos-stream` (CentOS Stream)
|
||||
- `debian` (Debian)
|
||||
- `deepin` (Deepin)
|
||||
- `devuan` (Devuan)
|
||||
- `dragonflybsd` (DragonFlyBSD)
|
||||
- `elementary` (elementary OS)
|
||||
- `endeavouros` (EndeavourOS)
|
||||
- `fedora` (Fedora)
|
||||
- `freebsd` (FreeBSD)
|
||||
- `freedos` (FreeDOS)
|
||||
|
@ -234,6 +256,7 @@ Other Operating Systems
|
|||
- `kdeneon` (KDE Neon)
|
||||
- `kolibrios` (KolibriOS)
|
||||
- `linuxmint` (Linux Mint)
|
||||
- `lmde` (Linux Mint Debian Edition)
|
||||
- `manjaro` (Manjaro)
|
||||
- `mxlinux` (MX Linux)
|
||||
- `netboot` (netboot.xyz)
|
||||
|
@ -257,7 +280,7 @@ configuration.
|
|||
- Download a .iso image of a Linux distribution
|
||||
- Create a VM configuration file; for example `debian-bullseye.conf`
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
guest_os="linux"
|
||||
disk_img="debian-bullseye/disk.qcow2"
|
||||
iso="debian-bullseye/firmware-11.0.0-amd64-DVD-1.iso"
|
||||
|
@ -265,7 +288,7 @@ iso="debian-bullseye/firmware-11.0.0-amd64-DVD-1.iso"
|
|||
|
||||
- Use `quickemu` to start the virtual machine:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
quickemu --vm debian-bullseye.conf
|
||||
```
|
||||
|
||||
|
@ -276,13 +299,12 @@ quickemu --vm debian-bullseye.conf
|
|||
- Install the SPICE WebDAV agent (`spice-webdavd`) to enable file
|
||||
sharing.
|
||||
|
||||
macOS Guest
|
||||
-----------
|
||||
## macOS Guest
|
||||
|
||||
`quickget` automatically downloads a macOS recovery image and creates a
|
||||
virtual machine configuration.
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
quickget macos catalina
|
||||
quickemu --vm macos-catalina.conf
|
||||
```
|
||||
|
@ -312,7 +334,7 @@ supported.
|
|||
|
||||
The default macOS configuration looks like this:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
guest_os="macos"
|
||||
img="macos-catalina/RecoveryImage.img"
|
||||
disk_img="macos-catalina/disk.qcow2"
|
||||
|
@ -363,8 +385,7 @@ There are some considerations when running macOS via Quickemu.
|
|||
webdavd](https://gitlab.gnome.org/GNOME/phodav/-/merge_requests/24).
|
||||
- Copy/paste via SPICE agent is **not available on macOS**.
|
||||
|
||||
Windows 8.1, 10 & 11 Guests
|
||||
---------------------------
|
||||
## Windows 8.1, 10 & 11 Guests
|
||||
|
||||
`quickget` can automatically download Windows 8.1, [Windows
|
||||
10](https://www.microsoft.com/en-gb/software-download/windows10ISO) and
|
||||
|
@ -374,7 +395,7 @@ with the [VirtIO drivers for
|
|||
Windows](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/)
|
||||
and creates a virtual machine configuration.
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
quickget windows 11
|
||||
quickemu --vm windows-11.conf
|
||||
```
|
||||
|
@ -388,13 +409,13 @@ By default `quickget` will download the *"English International"*
|
|||
release, but you can optionally specify one of the supported languages:
|
||||
For example:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
quickget windows 11 "Chinese (Traditional)"
|
||||
```
|
||||
|
||||
The default Windows 11 configuration looks like this:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
guest_os="windows"
|
||||
disk_img="windows-11/disk.qcow2"
|
||||
iso="windows-11/Win11_EnglishInternational_x64.iso"
|
||||
|
@ -408,8 +429,7 @@ secureboot="on"
|
|||
- `tpm="on"` instructs `quickemu` to create a software emulated TPM
|
||||
device using `swtpm`.
|
||||
|
||||
SPICE
|
||||
=====
|
||||
# SPICE
|
||||
|
||||
The following features are available while using the SPICE protocol:
|
||||
|
||||
|
@ -421,51 +441,49 @@ To use SPICE add `--display spice` to the Quickemu invocation, this
|
|||
requires that the `spicy` client is installed, available from the
|
||||
`spice-client-gtk` package in Debian/Ubuntu.
|
||||
|
||||
``` {.bash}
|
||||
quickemu --vm ubuntu-20.04.conf --display spice
|
||||
``` bash
|
||||
quickemu --vm ubuntu-22.04.conf --display spice
|
||||
```
|
||||
|
||||
To enable copy/paste with a Windows guest, install [SPICE Windows guest tools](https://www.spice-space.org/download.html) in the guest VM.
|
||||
To enable copy/paste with a Windows guest, install [SPICE Windows guest
|
||||
tools](https://www.spice-space.org/download.html) in the guest VM.
|
||||
|
||||
Headless
|
||||
--------
|
||||
## Headless
|
||||
|
||||
To start a VM with SPICE enabled, but no display attached use
|
||||
`--display none`. This requires that the `spicy` client is installed,
|
||||
available from the `spice-client-gtk` package in Debian/Ubuntu to
|
||||
connect to the running VM
|
||||
|
||||
``` {.bash}
|
||||
quickemu --vm ubuntu-20.04.conf --display none
|
||||
``` bash
|
||||
quickemu --vm ubuntu-22.04.conf --display none
|
||||
```
|
||||
|
||||
You can also use the `.ports` file in the VM directory to lookup what
|
||||
SSH and SPICE ports the VM is connected to.
|
||||
|
||||
``` {.bash}
|
||||
cat ubuntu-20.04/ubuntu-20.04.ports
|
||||
``` bash
|
||||
cat ubuntu-22.04/ubuntu-22.04.ports
|
||||
```
|
||||
|
||||
If, for example, the SSH port is set to 22220, and assuming your VM has
|
||||
a started SSH service (details vary by OS), you can typically SSH into
|
||||
it from the host as follows:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
ssh -p 22220 your_vm_user@localhost
|
||||
```
|
||||
|
||||
Accessibility
|
||||
=============
|
||||
# Accessibility
|
||||
|
||||
Qemu provides support for using BrlAPI to display braille output on a
|
||||
real or fake device.
|
||||
|
||||
``` {.bash}
|
||||
quickemu --vm ubuntu-21.10.conf --braille --display sdl
|
||||
``` bash
|
||||
quickemu --vm ubuntu-22.04.conf --braille --display sdl
|
||||
```
|
||||
|
||||
BIOS and EFI
|
||||
============
|
||||
# BIOS and EFI
|
||||
|
||||
Since Quickemu 2.1.0 `efi` is the default boot option. If you want to
|
||||
override this behaviour then add the following line to you VM
|
||||
|
@ -473,8 +491,7 @@ configuration to enable legacy BIOS.
|
|||
|
||||
- `boot="legacy"` - Enable Legacy BIOS boot
|
||||
|
||||
Tuning CPU cores, RAM & disks
|
||||
=============================
|
||||
# Tuning CPU cores, RAM & disks
|
||||
|
||||
By default, Quickemu will calculate the number of CPUs cores and RAM to
|
||||
allocate to a VM based on the specifications of your host computer. You
|
||||
|
@ -489,8 +506,7 @@ Add additional lines to your virtual machine configuration:
|
|||
- `disk_size="16G"` - Specify the size of the virtual disk allocated
|
||||
to the VM
|
||||
|
||||
Disk preallocation
|
||||
------------------
|
||||
## Disk preallocation
|
||||
|
||||
Preallocation mode (allowed values: `off` (default), `metadata`,
|
||||
`falloc`, `full`). An image with preallocated metadata is initially
|
||||
|
@ -502,16 +518,14 @@ configuration.
|
|||
|
||||
- `preallocation="metadata"`
|
||||
|
||||
CD-ROM disks
|
||||
------------
|
||||
## CD-ROM disks
|
||||
|
||||
If you want to expose an ISO image from the host to guest add the
|
||||
following line to the VM configuration:
|
||||
|
||||
- `fixed_iso="/path/to/image.iso"`
|
||||
|
||||
Floppy disks
|
||||
------------
|
||||
## Floppy disks
|
||||
|
||||
If you're like [Alan Pope](https://popey.com) you'll probably want to
|
||||
mount a floppy disk image in the guest. To do so add the following line
|
||||
|
@ -519,14 +533,12 @@ to the VM configuration:
|
|||
|
||||
- `floppy="/path/to/floppy.img"`
|
||||
|
||||
File Sharing
|
||||
============
|
||||
# File Sharing
|
||||
|
||||
All File Sharing options will only expose `~/Public` (or localised
|
||||
variations) for the current user to the guest VMs.
|
||||
|
||||
Samba 🐧 🍏 🪟
|
||||
-----------
|
||||
## Samba 🐧 🍏 🪟
|
||||
|
||||
If `smbd` is available on the host, Quickemu will automatically enable
|
||||
the built-in QEMU support for exposing a Samba share from the host to
|
||||
|
@ -534,22 +546,28 @@ the guest.
|
|||
|
||||
You can install the minimal Samba components on Ubuntu using:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
sudo apt install --no-install-recommends samba
|
||||
```
|
||||
|
||||
SPICE WebDAV 🐧 🪟
|
||||
----------------
|
||||
If everything is set up correctly, the `smbd` address will be printed
|
||||
when the virtual machine is started. For example:
|
||||
|
||||
- smbd: On guest: smb://10.0.2.4/qemu
|
||||
|
||||
If using a Windows guest, right-click on "This PC", click "Add a network
|
||||
location", and paste this address, removing `smb:` and replacing forward
|
||||
slashes with backslashes (in this example `\\10.0.2.4\qemu`).
|
||||
|
||||
## SPICE WebDAV 🐧 🪟
|
||||
|
||||
- TBD
|
||||
|
||||
VirtIO-9P 🐧 🍏
|
||||
-------------
|
||||
## VirtIO-9P 🐧 🍏
|
||||
|
||||
- TBD
|
||||
|
||||
Network port forwarding
|
||||
=======================
|
||||
# Network port forwarding
|
||||
|
||||
Add an additional line to your virtual machine configuration. For
|
||||
example:
|
||||
|
@ -561,30 +579,26 @@ In the example above:
|
|||
- Port 8123 on the host is forwarded to port 8123 on the guest.
|
||||
- Port 8888 on the host is forwarded to port 80 on the guest.
|
||||
|
||||
Bridged networking
|
||||
==================
|
||||
# Bridged networking
|
||||
|
||||
Connect your virtual machine to a preconfigured network bridge. Add an
|
||||
additional line to your virtual machine configuration
|
||||
|
||||
- `bridge="br0"`
|
||||
|
||||
USB redirection
|
||||
===============
|
||||
# USB redirection
|
||||
|
||||
Quickemu supports USB redirection via SPICE pass-through and host
|
||||
pass-through.
|
||||
|
||||
SPICE redirection (recommended)
|
||||
-------------------------------
|
||||
## SPICE redirection (recommended)
|
||||
|
||||
Using SPICE for USB pass-through is easiest as it doesn't require any
|
||||
elevated permission, start Quickemu with `--display spice` and then
|
||||
select `Input` -\> `Select USB Device for redirection` from the menu to
|
||||
choose which device(s) you want to attach to the guest.
|
||||
|
||||
Host redirection **NOT Recommended**
|
||||
------------------------------------
|
||||
## Host redirection **NOT Recommended**
|
||||
|
||||
**USB host redirection is not recommended**, it is provided purely for
|
||||
backwards compatibility to older versions of Quickemu. Using SPICE is
|
||||
|
@ -597,9 +611,9 @@ example:
|
|||
|
||||
In the example above:
|
||||
|
||||
- The USB device with vendor\_id 046d and product\_id 082d will be
|
||||
- The USB device with vendor_id 046d and product_id 082d will be
|
||||
exposed to the guest.
|
||||
- The USB device with vendor\_id 046d and product\_id 085e will be
|
||||
- The USB device with vendor_id 046d and product_id 085e will be
|
||||
exposed to the guest.
|
||||
|
||||
If the USB devices are not writable, `quickemu` will display the
|
||||
|
@ -611,55 +625,80 @@ like this:
|
|||
sudo chown -v root:user /dev/bus/usb/001/005
|
||||
ERROR! USB permission changes are required 👆
|
||||
|
||||
TPM
|
||||
===
|
||||
# TPM
|
||||
|
||||
Since Quickemu 2.2.0 a software emulated TPM device can be added to
|
||||
guest virtual machines. Just add `tpm="on"` to your VM configuration.
|
||||
`quickget` will automatically add this line to Windows 11 virtual
|
||||
machines.
|
||||
|
||||
All the options
|
||||
===============
|
||||
# All the options
|
||||
|
||||
Here are the usage instructions:
|
||||
|
||||
``` {.bash}
|
||||
<!-- [[[cog
|
||||
import subprocess
|
||||
|
||||
import cog
|
||||
# cannot use check_result() because of non-zero return
|
||||
result=subprocess.run(["./quickemu", "--help"], capture_output=True, text=True)
|
||||
help=result.stdout
|
||||
cog.out(f"```\n\n{help}\n\n```\n\n")
|
||||
]]] -->
|
||||
```
|
||||
|
||||
|
||||
Usage
|
||||
quickemu --vm ubuntu.conf
|
||||
|
||||
You can also pass optional parameters
|
||||
--braille : Enable braille support. Requires SDL.
|
||||
--delete-disk : Delete the disk image and EFI variables
|
||||
--delete-vm : Delete the entire VM and it's configuration
|
||||
--display : Select display backend. 'sdl' (default), 'gtk', 'none', or 'spice'
|
||||
--fullscreen : Starts VM in full screen mode (Ctl+Alt+f to exit)
|
||||
--ignore-msrs-always : Configure KVM to always ignore unhandled machine-specific registers
|
||||
--screen <screen> : Use specified screen to determine the window size.
|
||||
--shortcut : Create a desktop shortcut
|
||||
--snapshot apply <tag> : Apply/restore a snapshot.
|
||||
--snapshot create <tag> : Create a snapshot.
|
||||
--snapshot delete <tag> : Delete a snapshot.
|
||||
--snapshot info : Show disk/snapshot info.
|
||||
--status-quo : Do not commit any changes to disk/snapshot.
|
||||
--version : Print version
|
||||
--braille : Enable braille support. Requires SDL.
|
||||
--delete-disk : Delete the disk image and EFI variables
|
||||
--delete-vm : Delete the entire VM and it's configuration
|
||||
--display : Select display backend. 'sdl' (default), 'gtk', 'none', or 'spice'
|
||||
--fullscreen : Starts VM in full screen mode (Ctl+Alt+f to exit)
|
||||
--ignore-msrs-always : Configure KVM to always ignore unhandled machine-specific registers
|
||||
--screen <screen> : Use specified screen to determine the window size.
|
||||
--shortcut : Create a desktop shortcut
|
||||
--snapshot apply <tag> : Apply/restore a snapshot.
|
||||
--snapshot create <tag> : Create a snapshot.
|
||||
--snapshot delete <tag> : Delete a snapshot.
|
||||
--snapshot info : Show disk/snapshot info.
|
||||
--status-quo : Do not commit any changes to disk/snapshot.
|
||||
--viewer <viewer> : Choose an alternative viewer. @Options: 'spicy' (default), 'remote-viewer', 'none'
|
||||
--ssh-port <port> : Set ssh-port manually
|
||||
--spice-port <port> : Set spice-port manually
|
||||
--public-dir <path> : expose share directory. @Options: '' (default: xdg-user-dir PUBLICSHARE), '<directory>', 'none'
|
||||
--monitor <type> : Set monitor connection type. @Options: 'socket' (default), 'telnet', 'none'
|
||||
--monitor-telnet-host <ip/host> : Set telnet host for monitor. (default: 'localhost')
|
||||
--monitor-telnet-port <port> : Set telnet port for monitor. (default: '4440')
|
||||
--monitor-cmd <cmd> : Send command to monitor if available. (Example: system_powerdown)
|
||||
--serial <type> : Set serial connection type. @Options: 'socket' (default), 'telnet', 'none'
|
||||
--serial-telnet-host <ip/host> : Set telnet host for serial. (default: 'localhost')
|
||||
--serial-telnet-port <port> : Set telnet port for serial. (default: '6660')
|
||||
--keyboard <type> : Set keyboard. @Options: 'usb' (default), 'ps2', 'virtio'
|
||||
--keyboard_layout <layout> : Set keyboard layout.
|
||||
--mouse <type> : Set mouse. @Options: 'tablet' (default), 'ps2', 'usb', 'virtio'
|
||||
--usb-controller <type> : Set usb-controller. @Options: 'ehci' (default), 'xhci', 'none'
|
||||
--extra_args <arguments> : Pass additional arguments to qemu
|
||||
--version : Print version
|
||||
|
||||
|
||||
```
|
||||
|
||||
Desktop shortcuts
|
||||
-----------------
|
||||
<!-- [[[end]]] -->
|
||||
|
||||
## Desktop shortcuts
|
||||
|
||||
Desktop shortcuts can be created for a VM, the shortcuts are saved in
|
||||
`~/.local/share/applications`. Here is an example of how to create a
|
||||
shortcut.
|
||||
|
||||
``` {.bash}
|
||||
quickemu --vm ubuntu-20.04-desktop.conf --shortcut
|
||||
``` bash
|
||||
quickemu --vm ubuntu-22.04-desktop.conf --shortcut
|
||||
```
|
||||
|
||||
Screen and window size (Linux guests only)
|
||||
------------------------------------------
|
||||
## Screen and window size (Linux guests only)
|
||||
|
||||
`qemu` will always default to the primary monitor to display the VM's
|
||||
window.
|
||||
|
@ -680,13 +719,13 @@ must match the resolution of the screen.
|
|||
|
||||
To know which screen to use, type:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
xrandr --listmonitors | grep -v Monitors
|
||||
```
|
||||
|
||||
The command will output something like this:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
0: +*HDMI-0 2560/597x1440/336+1920+0 HDMI-0
|
||||
1: +DVI-D-0 1920/527x1080/296+0+0 DVI-D-0
|
||||
```
|
||||
|
@ -695,7 +734,7 @@ The first number is what needs to be passed to the `--screen` option.
|
|||
|
||||
For example:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
quickemu --vm vm.conf --screen 0
|
||||
```
|
||||
|
||||
|
@ -704,8 +743,7 @@ which Quickemu sizes to 2048x1152. Without the `--screen` option,
|
|||
Quickemu would have used the 1920x1080 monitor which results in a window
|
||||
size of 1664x936.
|
||||
|
||||
References
|
||||
==========
|
||||
# References
|
||||
|
||||
Useful reference that assisted the development of Quickemu.
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 3ede604a11b7a666f91bb19705d32d73fb0bd4d7
|
||||
Subproject commit 51ee39c41c13fb1cc78e86ec24b100f35c337d70
|
302
docs/quickemu.1
302
docs/quickemu.1
|
@ -1,6 +1,20 @@
|
|||
.\" Automatically generated by Pandoc 2.9.2.1
|
||||
.\" Automatically generated by Pandoc 2.18
|
||||
.\"
|
||||
.TH "QUICKEMU" "1" "February 20, 2022" "quickemu" "Quickemu User Manual"
|
||||
.\" Define V font for inline verbatim, using C font in formats
|
||||
.\" that render this, and otherwise B font.
|
||||
.ie "\f[CB]x\f[]"x" \{\
|
||||
. ftr V B
|
||||
. ftr VI BI
|
||||
. ftr VB B
|
||||
. ftr VBI BI
|
||||
.\}
|
||||
.el \{\
|
||||
. ftr V CR
|
||||
. ftr VI CI
|
||||
. ftr VB CB
|
||||
. ftr VBI CBI
|
||||
.\}
|
||||
.TH "QUICKEMU" "1" "July 30, 2022" "quickemu" "Quickemu User Manual"
|
||||
.hy
|
||||
.SH NAME
|
||||
.PP
|
||||
|
@ -61,8 +75,8 @@ Do not commit any changes to disk/snapshot.
|
|||
Print version
|
||||
.SH EXAMPLES
|
||||
.TP
|
||||
\f[B]quickemu \[en]vm ubuntu-mate-21.10-.conf\f[R]
|
||||
Launches the VM specified in the file \f[I]ubuntu-mate-21.10-.conf\f[R]
|
||||
\f[B]quickemu \[en]vm ubuntu-mate-22.04-.conf\f[R]
|
||||
Launches the VM specified in the file \f[I]ubuntu-mate-22.04-.conf\f[R]
|
||||
.SS Introduction
|
||||
.PP
|
||||
Quickly create and run highly optimised desktop virtual machines for
|
||||
|
@ -73,8 +87,8 @@ For example:
|
|||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
quickget ubuntu-mate 21.10
|
||||
quickemu --vm ubuntu-mate-21.10-.conf
|
||||
quickget ubuntu-mate 22.04
|
||||
quickemu --vm ubuntu-mate-22.04-.conf
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
|
@ -105,7 +119,7 @@ QEMU Guest Agent support (https://wiki.qemu.org/Features/GuestAgent);
|
|||
provides access to a system-level agent via standard QMP commands
|
||||
.IP \[bu] 2
|
||||
Samba file sharing for Linux, macOS and Windows guests (\f[I]if
|
||||
\f[CI]smbd\f[I] is installed on the host\f[R])
|
||||
\f[VI]smbd\f[I] is installed on the host\f[R])
|
||||
.IP \[bu] 2
|
||||
VirGL acceleration
|
||||
.IP \[bu] 2
|
||||
|
@ -181,10 +195,49 @@ xrandr (https://gitlab.freedesktop.org/xorg/app/xrandr)
|
|||
zsync (http://zsync.moria.org.uk/)
|
||||
.IP \[bu] 2
|
||||
unzip (http://www.info-zip.org/UnZip.html)
|
||||
.SS Installing Requirements
|
||||
.PP
|
||||
For Ubuntu, Arch and nixos systems the
|
||||
ppa (https://launchpad.net/~flexiondotorg/+archive/ubuntu/quickemu),
|
||||
AUR (https://aur.archlinux.org/packages/quickemu) or
|
||||
nix (https://github.com/NixOS/nixpkgs/tree/master/pkgs/development/quickemu)
|
||||
packaging will take care of the dependencies.
|
||||
For other host distributions or operating systems it will be necessary
|
||||
to install the above requirements or their equivalents.
|
||||
.PP
|
||||
These examples may save a little typing
|
||||
.PP
|
||||
Debian:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
sudo apt install qemu bash coreutils ovmf grep jq lsb procps python3 genisoimage usbutils util-linux sed spice-client-gtk swtpm wget xdg-user-dirs zsync unzip
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
Fedora:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
sudo dnf install qemu bash coreutils edk2-tools grep jq lsb procps python3 genisoimage usbutils util-linux sed spice-gtk-tools swtpm wget xdg-user-dirs xrandr unzip
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
MacOS:
|
||||
.PP
|
||||
This is a work in progress (see issue
|
||||
248 (https://github.com/quickemu-project/quickemu/issues/248) for other
|
||||
steps and changes that may enable running on MacOS)
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
brew install qemu bash coreutils grep jq python\[at]3.10 cdrtools gnu-sed spice-gtk wget zsync
|
||||
\f[R]
|
||||
.fi
|
||||
.SH Usage
|
||||
.SS Graphical User Interfaces
|
||||
.PP
|
||||
While \f[C]quickemu\f[R] and \f[C]quickget\f[R] are designed for the
|
||||
While \f[V]quickemu\f[R] and \f[V]quickget\f[R] are designed for the
|
||||
terminal, a graphical user interface is also available:
|
||||
.IP \[bu] 2
|
||||
\f[B]Quickgui (https://github.com/quickgui/quickgui)\f[R] by Mark
|
||||
|
@ -206,13 +259,13 @@ sudo apt install quickgui
|
|||
.fi
|
||||
.SS Ubuntu Guest
|
||||
.PP
|
||||
\f[C]quickget\f[R] will automatically download an Ubuntu release and
|
||||
\f[V]quickget\f[R] will automatically download an Ubuntu release and
|
||||
create the virtual machine configuration.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
quickget ubuntu 20.04
|
||||
quickemu --vm ubuntu-20.04.conf
|
||||
quickget ubuntu 22.04
|
||||
quickemu --vm ubuntu-22.04.conf
|
||||
\f[R]
|
||||
.fi
|
||||
.IP \[bu] 2
|
||||
|
@ -221,24 +274,24 @@ Complete the installation as normal.
|
|||
Post-install:
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
Install the SPICE agent (\f[C]spice-vdagent\f[R]) to enable copy/paste
|
||||
Install the SPICE agent (\f[V]spice-vdagent\f[R]) to enable copy/paste
|
||||
and USB redirection
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
\f[C]sudo apt install spice-vdagent\f[R]
|
||||
\f[V]sudo apt install spice-vdagent\f[R]
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
Install the SPICE WebDAV agent (\f[C]spice-webdavd\f[R]) to enable file
|
||||
Install the SPICE WebDAV agent (\f[V]spice-webdavd\f[R]) to enable file
|
||||
sharing.
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
\f[C]sudo apt install spice-webdavd\f[R]
|
||||
\f[V]sudo apt install spice-webdavd\f[R]
|
||||
.RE
|
||||
.RE
|
||||
.SS Ubuntu devel (daily-live) images
|
||||
.PP
|
||||
\f[C]quickget\f[R] can also download/refresh devel images via
|
||||
\f[C]zsync\f[R] for Ubuntu developers and testers.
|
||||
\f[V]quickget\f[R] can also download/refresh devel images via
|
||||
\f[V]zsync\f[R] for Ubuntu developers and testers.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
|
@ -247,106 +300,116 @@ quickemu --vm ubuntu-devel.conf
|
|||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
You can run \f[C]quickget ubuntu devel\f[R] to refresh your daily
|
||||
You can run \f[V]quickget ubuntu devel\f[R] to refresh your daily
|
||||
development image as often as you like, it will even automatically
|
||||
switch to a new series.
|
||||
.SS Ubuntu Flavours
|
||||
.PP
|
||||
All the official Ubuntu flavours are supported, just replace
|
||||
\f[C]ubuntu\f[R] with your preferred flavour.
|
||||
\f[V]ubuntu\f[R] with your preferred flavour.
|
||||
.IP \[bu] 2
|
||||
\f[C]kubuntu\f[R] (Kubuntu)
|
||||
\f[V]kubuntu\f[R] (Kubuntu)
|
||||
.IP \[bu] 2
|
||||
\f[C]lubuntu\f[R] (Lubuntu)
|
||||
\f[V]lubuntu\f[R] (Lubuntu)
|
||||
.IP \[bu] 2
|
||||
\f[C]ubuntu-budgie\f[R] (Ubuntu Budgie)
|
||||
\f[V]ubuntu-budgie\f[R] (Ubuntu Budgie)
|
||||
.IP \[bu] 2
|
||||
\f[C]ubuntukylin\f[R] (Ubuntu Kylin)
|
||||
\f[V]ubuntukylin\f[R] (Ubuntu Kylin)
|
||||
.IP \[bu] 2
|
||||
\f[C]ubuntu-mate\f[R] (Ubuntu MATE)
|
||||
\f[V]ubuntu-mate\f[R] (Ubuntu MATE)
|
||||
.IP \[bu] 2
|
||||
\f[C]ubuntustudio\f[R] (Ubuntu Studio)
|
||||
\f[V]ubuntustudio\f[R] (Ubuntu Studio)
|
||||
.IP \[bu] 2
|
||||
\f[C]ubuntu\f[R] (Ubuntu)
|
||||
\f[V]ubuntu\f[R] (Ubuntu)
|
||||
.IP \[bu] 2
|
||||
\f[C]xubuntu\f[R] (Xubuntu)
|
||||
\f[V]xubuntu\f[R] (Xubuntu)
|
||||
.SS Other Operating Systems
|
||||
.PP
|
||||
\f[C]quickget\f[R] also supports:
|
||||
\f[V]quickget\f[R] also supports:
|
||||
.IP \[bu] 2
|
||||
\f[C]alma\f[R] (Alma Linux)
|
||||
\f[V]alma\f[R] (Alma Linux)
|
||||
.IP \[bu] 2
|
||||
\f[C]alpine\f[R] (Alpine Linux)
|
||||
\f[V]alpine\f[R] (Alpine Linux)
|
||||
.IP \[bu] 2
|
||||
\f[C]android\f[R] (Android x86)
|
||||
\f[V]android\f[R] (Android x86)
|
||||
.IP \[bu] 2
|
||||
\f[C]archlinux\f[R] (Arch Linux)
|
||||
\f[V]archlinux\f[R] (Arch Linux)
|
||||
.IP \[bu] 2
|
||||
\f[C]arcolinux\f[R] (Arco Linux)
|
||||
\f[V]arcolinux\f[R] (Arco Linux)
|
||||
.IP \[bu] 2
|
||||
\f[C]cachyos\f[R] (CachyOS)
|
||||
\f[V]batocera\f[R] (Batocera)
|
||||
.IP \[bu] 2
|
||||
\f[C]debian\f[R] (Debian)
|
||||
\f[V]cachyos\f[R] (CachyOS)
|
||||
.IP \[bu] 2
|
||||
\f[C]devuan\f[R] (Devuan)
|
||||
\f[V]centos-stream\f[R] (CentOS Stream)
|
||||
.IP \[bu] 2
|
||||
\f[C]dragonflybsd\f[R] (DragonFlyBSD)
|
||||
\f[V]debian\f[R] (Debian)
|
||||
.IP \[bu] 2
|
||||
\f[C]elementary\f[R] (elementary OS)
|
||||
\f[V]deepin\f[R] (Deepin)
|
||||
.IP \[bu] 2
|
||||
\f[C]fedora\f[R] (Fedora)
|
||||
\f[V]devuan\f[R] (Devuan)
|
||||
.IP \[bu] 2
|
||||
\f[C]freebsd\f[R] (FreeBSD)
|
||||
\f[V]dragonflybsd\f[R] (DragonFlyBSD)
|
||||
.IP \[bu] 2
|
||||
\f[C]freedos\f[R] (FreeDOS)
|
||||
\f[V]elementary\f[R] (elementary OS)
|
||||
.IP \[bu] 2
|
||||
\f[C]garuda\f[R] (Garuda Linux)
|
||||
\f[V]endeavouros\f[R] (EndeavourOS)
|
||||
.IP \[bu] 2
|
||||
\f[C]gentoo\f[R] (Gentoo)
|
||||
\f[V]fedora\f[R] (Fedora)
|
||||
.IP \[bu] 2
|
||||
\f[C]ghostbsd\f[R] (GhostBSD)
|
||||
\f[V]freebsd\f[R] (FreeBSD)
|
||||
.IP \[bu] 2
|
||||
\f[C]haiku\f[R] (Haiku)
|
||||
\f[V]freedos\f[R] (FreeDOS)
|
||||
.IP \[bu] 2
|
||||
\f[C]kali\f[R] (Kali)
|
||||
\f[V]garuda\f[R] (Garuda Linux)
|
||||
.IP \[bu] 2
|
||||
\f[C]kdeneon\f[R] (KDE Neon)
|
||||
\f[V]gentoo\f[R] (Gentoo)
|
||||
.IP \[bu] 2
|
||||
\f[C]kolibrios\f[R] (KolibriOS)
|
||||
\f[V]ghostbsd\f[R] (GhostBSD)
|
||||
.IP \[bu] 2
|
||||
\f[C]linuxmint\f[R] (Linux Mint)
|
||||
\f[V]haiku\f[R] (Haiku)
|
||||
.IP \[bu] 2
|
||||
\f[C]manjaro\f[R] (Manjaro)
|
||||
\f[V]kali\f[R] (Kali)
|
||||
.IP \[bu] 2
|
||||
\f[C]mxlinux\f[R] (MX Linux)
|
||||
\f[V]kdeneon\f[R] (KDE Neon)
|
||||
.IP \[bu] 2
|
||||
\f[C]netboot\f[R] (netboot.xyz)
|
||||
\f[V]kolibrios\f[R] (KolibriOS)
|
||||
.IP \[bu] 2
|
||||
\f[C]netbsd\f[R] (NetBSD)
|
||||
\f[V]linuxmint\f[R] (Linux Mint)
|
||||
.IP \[bu] 2
|
||||
\f[C]nixos\f[R] (NixOS)
|
||||
\f[V]lmde\f[R] (Linux Mint Debian Edition)
|
||||
.IP \[bu] 2
|
||||
\f[C]openbsd\f[R] (OpenBSD)
|
||||
\f[V]manjaro\f[R] (Manjaro)
|
||||
.IP \[bu] 2
|
||||
\f[C]opensuse\f[R] (openSUSE)
|
||||
\f[V]mxlinux\f[R] (MX Linux)
|
||||
.IP \[bu] 2
|
||||
\f[C]oraclelinux\f[R] (Oracle Linux)
|
||||
\f[V]netboot\f[R] (netboot.xyz)
|
||||
.IP \[bu] 2
|
||||
\f[C]popos\f[R] (Pop!_OS)
|
||||
\f[V]netbsd\f[R] (NetBSD)
|
||||
.IP \[bu] 2
|
||||
\f[C]regolith\f[R] (Regolith Linux)
|
||||
\f[V]nixos\f[R] (NixOS)
|
||||
.IP \[bu] 2
|
||||
\f[C]rockylinux\f[R] (Rocky Linux)
|
||||
\f[V]openbsd\f[R] (OpenBSD)
|
||||
.IP \[bu] 2
|
||||
\f[C]slackware\f[R] (Slackware)
|
||||
\f[V]opensuse\f[R] (openSUSE)
|
||||
.IP \[bu] 2
|
||||
\f[C]solus\f[R] (Solus)
|
||||
\f[V]oraclelinux\f[R] (Oracle Linux)
|
||||
.IP \[bu] 2
|
||||
\f[C]tails\f[R] (Tails)
|
||||
\f[V]popos\f[R] (Pop!_OS)
|
||||
.IP \[bu] 2
|
||||
\f[C]void\f[R] (Void Linux)
|
||||
\f[V]regolith\f[R] (Regolith Linux)
|
||||
.IP \[bu] 2
|
||||
\f[C]zorin\f[R] (Zorin OS)
|
||||
\f[V]rockylinux\f[R] (Rocky Linux)
|
||||
.IP \[bu] 2
|
||||
\f[V]slackware\f[R] (Slackware)
|
||||
.IP \[bu] 2
|
||||
\f[V]solus\f[R] (Solus)
|
||||
.IP \[bu] 2
|
||||
\f[V]tails\f[R] (Tails)
|
||||
.IP \[bu] 2
|
||||
\f[V]void\f[R] (Void Linux)
|
||||
.IP \[bu] 2
|
||||
\f[V]zorin\f[R] (Zorin OS)
|
||||
.PP
|
||||
Or you can download a Linux image and manually create a VM
|
||||
configuration.
|
||||
|
@ -354,7 +417,7 @@ configuration.
|
|||
Download a .iso image of a Linux distribution
|
||||
.IP \[bu] 2
|
||||
Create a VM configuration file; for example
|
||||
\f[C]debian-bullseye.conf\f[R]
|
||||
\f[V]debian-bullseye.conf\f[R]
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
|
@ -364,7 +427,7 @@ iso=\[dq]debian-bullseye/firmware-11.0.0-amd64-DVD-1.iso\[dq]
|
|||
\f[R]
|
||||
.fi
|
||||
.IP \[bu] 2
|
||||
Use \f[C]quickemu\f[R] to start the virtual machine:
|
||||
Use \f[V]quickemu\f[R] to start the virtual machine:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
|
@ -377,15 +440,15 @@ Complete the installation as normal.
|
|||
Post-install:
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
Install the SPICE agent (\f[C]spice-vdagent\f[R]) to enable copy/paste
|
||||
Install the SPICE agent (\f[V]spice-vdagent\f[R]) to enable copy/paste
|
||||
and USB redirection.
|
||||
.IP \[bu] 2
|
||||
Install the SPICE WebDAV agent (\f[C]spice-webdavd\f[R]) to enable file
|
||||
Install the SPICE WebDAV agent (\f[V]spice-webdavd\f[R]) to enable file
|
||||
sharing.
|
||||
.RE
|
||||
.SS macOS Guest
|
||||
.PP
|
||||
\f[C]quickget\f[R] automatically downloads a macOS recovery image and
|
||||
\f[V]quickget\f[R] automatically downloads a macOS recovery image and
|
||||
creates a virtual machine configuration.
|
||||
.IP
|
||||
.nf
|
||||
|
@ -395,8 +458,8 @@ quickemu --vm macos-catalina.conf
|
|||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
macOS \f[C]high-sierra\f[R], \f[C]mojave\f[R], \f[C]catalina\f[R],
|
||||
\f[C]big-sur\f[R] and \f[C]monterey\f[R] are supported.
|
||||
macOS \f[V]high-sierra\f[R], \f[V]mojave\f[R], \f[V]catalina\f[R],
|
||||
\f[V]big-sur\f[R] and \f[V]monterey\f[R] are supported.
|
||||
.IP \[bu] 2
|
||||
Use cursor keys and enter key to select the \f[B]macOS Base System\f[R]
|
||||
.IP \[bu] 2
|
||||
|
@ -409,19 +472,19 @@ Click \f[B]Disk Utility\f[R] and \f[B]Continue\f[R]
|
|||
On macOS Catalina, Big Sur & Monterey
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
Select \f[C]Apple Inc. VirtIO Block Media\f[R] from the list and click
|
||||
Select \f[V]Apple Inc. VirtIO Block Media\f[R] from the list and click
|
||||
\f[B]Erase\f[R].
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
On macOS Mojave and High Sierra
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
Select \f[C]QEMU HARDDISK Media\f[R] (\[ti]103.08GB) from the list and
|
||||
Select \f[V]QEMU HARDDISK Media\f[R] (\[ti]103.08GB) from the list and
|
||||
click \f[B]Erase\f[R].
|
||||
.RE
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
Enter a \f[C]Name:\f[R] for the disk and click \f[B]Erase\f[R].
|
||||
Enter a \f[V]Name:\f[R] for the disk and click \f[B]Erase\f[R].
|
||||
.IP \[bu] 2
|
||||
Click \f[B]Done\f[R].
|
||||
.IP \[bu] 2
|
||||
|
@ -455,10 +518,10 @@ macos_release=\[dq]catalina\[dq]
|
|||
\f[R]
|
||||
.fi
|
||||
.IP \[bu] 2
|
||||
\f[C]guest_os=\[dq]macos\[dq]\f[R] instructs Quickemu to optimise for
|
||||
\f[V]guest_os=\[dq]macos\[dq]\f[R] instructs Quickemu to optimise for
|
||||
macOS.
|
||||
.IP \[bu] 2
|
||||
\f[C]macos_release=\[dq]catalina\[dq]\f[R] instructs Quickemu to
|
||||
\f[V]macos_release=\[dq]catalina\[dq]\f[R] instructs Quickemu to
|
||||
optimise for a particular macOS release.
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
|
@ -486,7 +549,7 @@ Big Sur
|
|||
Monterey
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
\f[C]quickemu\f[R] will automatically download the required
|
||||
\f[V]quickemu\f[R] will automatically download the required
|
||||
OpenCore (https://github.com/acidanthera/OpenCorePkg) bootloader and
|
||||
OVMF firmware from OSX-KVM (https://github.com/kholia/OSX-KVM).
|
||||
.IP \[bu] 2
|
||||
|
@ -499,11 +562,11 @@ VirtIO Block
|
|||
Media (https://www.kraxel.org/blog/2019/06/macos-qemu-guest/) is used
|
||||
for the system disk where supported.
|
||||
.IP \[bu] 2
|
||||
VirtIO \f[C]usb-tablet\f[R] (http://philjordan.eu/osx-virt/) is used for
|
||||
VirtIO \f[V]usb-tablet\f[R] (http://philjordan.eu/osx-virt/) is used for
|
||||
the mouse.
|
||||
.IP \[bu] 2
|
||||
VirtIO Network (\f[C]virtio-net\f[R]) is supported and enabled on macOS
|
||||
Big Sur and newer but previous releases use \f[C]vmxnet3\f[R].
|
||||
VirtIO Network (\f[V]virtio-net\f[R]) is supported and enabled on macOS
|
||||
Big Sur and newer but previous releases use \f[V]vmxnet3\f[R].
|
||||
.IP \[bu] 2
|
||||
VirtIO Memory Ballooning is supported and enabled on macOS Big Sur and
|
||||
newer but disabled for other support macOS releases.
|
||||
|
@ -532,7 +595,7 @@ webdavd (https://gitlab.gnome.org/GNOME/phodav/-/merge_requests/24).
|
|||
Copy/paste via SPICE agent is \f[B]not available on macOS\f[R].
|
||||
.SS Windows 8.1, 10 & 11 Guests
|
||||
.PP
|
||||
\f[C]quickget\f[R] can automatically download Windows 8.1, Windows
|
||||
\f[V]quickget\f[R] can automatically download Windows 8.1, Windows
|
||||
10 (https://www.microsoft.com/en-gb/software-download/windows10ISO) and
|
||||
Windows 11 (https://www.microsoft.com/en-gb/software-download/windows11)
|
||||
along with the VirtIO drivers for
|
||||
|
@ -551,7 +614,7 @@ Complete the installation as you normally would.
|
|||
All relevant drivers and services should be installed automatically.
|
||||
.SS Regional versions
|
||||
.PP
|
||||
By default \f[C]quickget\f[R] will download the \f[I]\[lq]English
|
||||
By default \f[V]quickget\f[R] will download the \f[I]\[lq]English
|
||||
International\[rq]\f[R] release, but you can optionally specify one of
|
||||
the supported languages: For example:
|
||||
.IP
|
||||
|
@ -570,74 +633,89 @@ disk_img=\[dq]windows-11/disk.qcow2\[dq]
|
|||
iso=\[dq]windows-11/Win11_EnglishInternational_x64.iso\[dq]
|
||||
fixed_iso=\[dq]windows-11/virtio-win.iso\[dq]
|
||||
tpm=\[dq]on\[dq]
|
||||
secureboot=\[dq]on\[dq]
|
||||
\f[R]
|
||||
.fi
|
||||
.IP \[bu] 2
|
||||
\f[C]guest_os=\[dq]windows\[dq]\f[R] instructs \f[C]quickemu\f[R] to
|
||||
\f[V]guest_os=\[dq]windows\[dq]\f[R] instructs \f[V]quickemu\f[R] to
|
||||
optimise for Windows.
|
||||
.IP \[bu] 2
|
||||
\f[C]fixed_iso=\f[R] specifies the ISO image that provides VirtIO
|
||||
\f[V]fixed_iso=\f[R] specifies the ISO image that provides VirtIO
|
||||
drivers.
|
||||
.IP \[bu] 2
|
||||
\f[C]tpm=\[dq]on\[dq]\f[R] instructs \f[C]quickemu\f[R] to create a
|
||||
software emulated TPM device using \f[C]swtpm\f[R].
|
||||
\f[V]tpm=\[dq]on\[dq]\f[R] instructs \f[V]quickemu\f[R] to create a
|
||||
software emulated TPM device using \f[V]swtpm\f[R].
|
||||
.SH All the options
|
||||
.PP
|
||||
Here are the usage instructions:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
|
||||
Usage
|
||||
quickemu --vm ubuntu.conf
|
||||
|
||||
You can also pass optional parameters
|
||||
--braille : Enable braille support. Requires SDL.
|
||||
--delete-disk : Delete the disk image and EFI variables
|
||||
--delete-vm : Delete the entire VM and it\[aq]s configuration
|
||||
--display : Select display backend. \[aq]sdl\[aq] (default), \[aq]gtk\[aq], \[aq]none\[aq], or \[aq]spice\[aq]
|
||||
--fullscreen : Starts VM in full screen mode (Ctl+Alt+f to exit)
|
||||
--ignore-msrs-always : Configure KVM to always ignore unhandled machine-specific registers
|
||||
--screen <screen> : Use specified screen to determine the window size.
|
||||
--shortcut : Create a desktop shortcut
|
||||
--snapshot apply <tag> : Apply/restore a snapshot.
|
||||
--snapshot create <tag> : Create a snapshot.
|
||||
--snapshot delete <tag> : Delete a snapshot.
|
||||
--snapshot info : Show disk/snapshot info.
|
||||
--status-quo : Do not commit any changes to disk/snapshot.
|
||||
--version : Print version
|
||||
|
||||
--braille : Enable braille support. Requires SDL.
|
||||
--delete-disk : Delete the disk image and EFI variables
|
||||
--delete-vm : Delete the entire VM and it\[aq]s configuration
|
||||
--display : Select display backend. \[aq]sdl\[aq] (default), \[aq]gtk\[aq], \[aq]none\[aq], or \[aq]spice\[aq]
|
||||
--fullscreen : Starts VM in full screen mode (Ctl+Alt+f to exit)
|
||||
--ignore-msrs-always : Configure KVM to always ignore unhandled machine-specific registers
|
||||
--screen <screen> : Use specified screen to determine the window size.
|
||||
--shortcut : Create a desktop shortcut
|
||||
--snapshot apply <tag> : Apply/restore a snapshot.
|
||||
--snapshot create <tag> : Create a snapshot.
|
||||
--snapshot delete <tag> : Delete a snapshot.
|
||||
--snapshot info : Show disk/snapshot info.
|
||||
--status-quo : Do not commit any changes to disk/snapshot.
|
||||
--viewer <viewer> : Choose an alternative viewer. \[at]Options: \[aq]spicy\[aq] (default), \[aq]remote-viewer\[aq], \[aq]none\[aq]
|
||||
--ssh-port <port> : Set ssh-port manually
|
||||
--spice-port <port> : Set spice-port manually
|
||||
--public-dir <path> : expose share directory. \[at]Options: \[aq]\[aq] (default: xdg-user-dir PUBLICSHARE), \[aq]<directory>\[aq], \[aq]none\[aq]
|
||||
--monitor <type> : Set monitor connection type. \[at]Options: \[aq]socket\[aq] (default), \[aq]telnet\[aq], \[aq]none\[aq]
|
||||
--monitor-telnet-host <ip/host> : Set telnet host for monitor. (default: \[aq]localhost\[aq])
|
||||
--monitor-telnet-port <port> : Set telnet port for monitor. (default: \[aq]4440\[aq])
|
||||
--monitor-cmd <cmd> : Send command to monitor if available. (Example: system_powerdown)
|
||||
--serial <type> : Set serial connection type. \[at]Options: \[aq]socket\[aq] (default), \[aq]telnet\[aq], \[aq]none\[aq]
|
||||
--serial-telnet-host <ip/host> : Set telnet host for serial. (default: \[aq]localhost\[aq])
|
||||
--serial-telnet-port <port> : Set telnet port for serial. (default: \[aq]6660\[aq])
|
||||
--keyboard <type> : Set keyboard. \[at]Options: \[aq]usb\[aq] (default), \[aq]ps2\[aq], \[aq]virtio\[aq]
|
||||
--keyboard_layout <layout> : Set keyboard layout.
|
||||
--mouse <type> : Set mouse. \[at]Options: \[aq]tablet\[aq] (default), \[aq]ps2\[aq], \[aq]usb\[aq], \[aq]virtio\[aq]
|
||||
--usb-controller <type> : Set usb-controller. \[at]Options: \[aq]ehci\[aq] (default), \[aq]xhci\[aq], \[aq]none\[aq]
|
||||
--extra_args <arguments> : Pass additional arguments to qemu
|
||||
--version : Print version
|
||||
\f[R]
|
||||
.fi
|
||||
.SS Desktop shortcuts
|
||||
.PP
|
||||
Desktop shortcuts can be created for a VM, the shortcuts are saved in
|
||||
\f[C]\[ti]/.local/share/applications\f[R].
|
||||
\f[V]\[ti]/.local/share/applications\f[R].
|
||||
Here is an example of how to create a shortcut.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
quickemu --vm ubuntu-20.04-desktop.conf --shortcut
|
||||
quickemu --vm ubuntu-22.04-desktop.conf --shortcut
|
||||
\f[R]
|
||||
.fi
|
||||
.SS Screen and window size (Linux guests only)
|
||||
.PP
|
||||
\f[C]qemu\f[R] will always default to the primary monitor to display the
|
||||
\f[V]qemu\f[R] will always default to the primary monitor to display the
|
||||
VM\[cq]s window.
|
||||
.PP
|
||||
Without the \f[C]--screen\f[R] option, \f[C]quickemu\f[R] will look for
|
||||
Without the \f[V]--screen\f[R] option, \f[V]quickemu\f[R] will look for
|
||||
the size of the smallest monitor, and use a size that fits on said
|
||||
monitor.
|
||||
.PP
|
||||
The \f[C]--screen\f[R] option forces \f[C]quickemu\f[R] to use the size
|
||||
The \f[V]--screen\f[R] option forces \f[V]quickemu\f[R] to use the size
|
||||
of the given monitor to compute the size of the window.
|
||||
\f[B]It won\[cq]t use that monitor to display the VM\[cq]s window if
|
||||
it\[cq]s not the primary monitor\f[R].
|
||||
This is useful if the primary monitor if not the smallest one, and if
|
||||
the VM\[cq]s window doesn\[cq]t need to be moved around.
|
||||
.PP
|
||||
The \f[C]--screen\f[R] option is also useful with the
|
||||
\f[C]--fullscreen\f[R] option, again because \f[C]qemu\f[R] will always
|
||||
The \f[V]--screen\f[R] option is also useful with the
|
||||
\f[V]--fullscreen\f[R] option, again because \f[V]qemu\f[R] will always
|
||||
use the primary monitor.
|
||||
In order for the fullscreen mode to work properly, the resolution of the
|
||||
VM\[cq]s window must match the resolution of the screen.
|
||||
|
@ -659,7 +737,7 @@ The command will output something like this:
|
|||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
The first number is what needs to be passed to the \f[C]--screen\f[R]
|
||||
The first number is what needs to be passed to the \f[V]--screen\f[R]
|
||||
option.
|
||||
.PP
|
||||
For example:
|
||||
|
@ -672,7 +750,7 @@ quickemu --vm vm.conf --screen 0
|
|||
.PP
|
||||
The above uses the 2560x1440 screen to compute the size of the window,
|
||||
which Quickemu sizes to 2048x1152.
|
||||
Without the \f[C]--screen\f[R] option, Quickemu would have used the
|
||||
Without the \f[V]--screen\f[R] option, Quickemu would have used the
|
||||
1920x1080 monitor which results in a window size of 1664x936.
|
||||
.SH References
|
||||
.PP
|
||||
|
|
|
@ -1,30 +1,26 @@
|
|||
---
|
||||
author: Martin Wimpress
|
||||
date: 'February 20, 2022'
|
||||
date: July 30, 2022
|
||||
footer: quickemu
|
||||
header: Quickemu User Manual
|
||||
section: 1
|
||||
title: QUICKEMU
|
||||
---
|
||||
|
||||
NAME
|
||||
====
|
||||
# NAME
|
||||
|
||||
quickemu - A quick VM builder and manager
|
||||
|
||||
SYNOPSIS
|
||||
========
|
||||
# SYNOPSIS
|
||||
|
||||
**quickemu** \[*OPTION*\]...
|
||||
|
||||
DESCRIPTION
|
||||
===========
|
||||
# DESCRIPTION
|
||||
|
||||
**quickemu** will create and run highly optimised desktop virtual
|
||||
machines for Linux, macOS and Windows
|
||||
|
||||
OPTIONS
|
||||
=======
|
||||
# OPTIONS
|
||||
|
||||
**--vm**
|
||||
: vm configuration file
|
||||
|
@ -70,23 +66,21 @@ You can also pass optional parameters
|
|||
**--version**
|
||||
: Print version
|
||||
|
||||
EXAMPLES
|
||||
========
|
||||
# EXAMPLES
|
||||
|
||||
**quickemu --vm ubuntu-mate-21.10-.conf**
|
||||
: Launches the VM specified in the file *ubuntu-mate-21.10-.conf*
|
||||
**quickemu --vm ubuntu-mate-22.04-.conf**
|
||||
: Launches the VM specified in the file *ubuntu-mate-22.04-.conf*
|
||||
|
||||
Introduction
|
||||
------------
|
||||
## Introduction
|
||||
|
||||
Quickly create and run highly optimised desktop virtual machines for
|
||||
Linux, macOS and Windows; with just two commands. You decide what
|
||||
operating system you want to run and Quickemu will figure out the best
|
||||
way to do it for you. For example:
|
||||
|
||||
``` {.bash}
|
||||
quickget ubuntu-mate 21.10
|
||||
quickemu --vm ubuntu-mate-21.10-.conf
|
||||
``` bash
|
||||
quickget ubuntu-mate 22.04
|
||||
quickemu --vm ubuntu-mate-22.04-.conf
|
||||
```
|
||||
|
||||
The original objective of the project was to enable quick testing of
|
||||
|
@ -96,8 +90,7 @@ and no elevated permissions are required to run the virtual machines.
|
|||
**Quickemu now also includes comprehensive support for macOS and
|
||||
Windows**.
|
||||
|
||||
Features
|
||||
--------
|
||||
## Features
|
||||
|
||||
- **macOS** Monterey, Big Sur, Catalina, Mojave & High Sierra
|
||||
- **Windows** 8.1, 10 and 11 including TPM 2.0
|
||||
|
@ -135,8 +128,7 @@ Quickemu.
|
|||
[![Replace VirtualBox with Bash &
|
||||
QEMU](https://img.youtube.com/vi/AOTYWEgw0hI/0.jpg)](https://www.youtube.com/watch?v=AOTYWEgw0hI)
|
||||
|
||||
Requirements
|
||||
------------
|
||||
## Requirements
|
||||
|
||||
- [QEMU](https://www.qemu.org/) (*6.0.0 or newer*) **with GTK, SDL,
|
||||
SPICE & VirtFS support**
|
||||
|
@ -161,11 +153,37 @@ Requirements
|
|||
- [zsync](http://zsync.moria.org.uk/)
|
||||
- [unzip](http://www.info-zip.org/UnZip.html)
|
||||
|
||||
Usage
|
||||
=====
|
||||
### Installing Requirements
|
||||
|
||||
Graphical User Interfaces
|
||||
-------------------------
|
||||
For Ubuntu, Arch and nixos systems the
|
||||
[ppa](https://launchpad.net/~flexiondotorg/+archive/ubuntu/quickemu),
|
||||
[AUR](https://aur.archlinux.org/packages/quickemu) or
|
||||
[nix](https://github.com/NixOS/nixpkgs/tree/master/pkgs/development/quickemu)
|
||||
packaging will take care of the dependencies. For other host
|
||||
distributions or operating systems it will be necessary to install the
|
||||
above requirements or their equivalents.
|
||||
|
||||
These examples may save a little typing
|
||||
|
||||
Debian:
|
||||
|
||||
sudo apt install qemu bash coreutils ovmf grep jq lsb procps python3 genisoimage usbutils util-linux sed spice-client-gtk swtpm wget xdg-user-dirs zsync unzip
|
||||
|
||||
Fedora:
|
||||
|
||||
sudo dnf install qemu bash coreutils edk2-tools grep jq lsb procps python3 genisoimage usbutils util-linux sed spice-gtk-tools swtpm wget xdg-user-dirs xrandr unzip
|
||||
|
||||
MacOS:
|
||||
|
||||
This is a work in progress (see [issue
|
||||
248](https://github.com/quickemu-project/quickemu/issues/248) for other
|
||||
steps and changes that may enable running on MacOS)
|
||||
|
||||
brew install qemu bash coreutils grep jq python@3.10 cdrtools gnu-sed spice-gtk wget zsync
|
||||
|
||||
# Usage
|
||||
|
||||
## Graphical User Interfaces
|
||||
|
||||
While `quickemu` and `quickget` are designed for the terminal, a
|
||||
graphical user interface is also available:
|
||||
|
@ -180,21 +198,20 @@ Many thanks to [Luke Wesley-Holley](https://github.com/Lukewh) and
|
|||
|
||||
### Quickgui for Ubuntu
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
sudo add-apt-repository ppa:yannick-mauray/quickgui
|
||||
sudo apt update
|
||||
sudo apt install quickgui
|
||||
```
|
||||
|
||||
Ubuntu Guest
|
||||
------------
|
||||
## Ubuntu Guest
|
||||
|
||||
`quickget` will automatically download an Ubuntu release and create the
|
||||
virtual machine configuration.
|
||||
|
||||
``` {.bash}
|
||||
quickget ubuntu 20.04
|
||||
quickemu --vm ubuntu-20.04.conf
|
||||
``` bash
|
||||
quickget ubuntu 22.04
|
||||
quickemu --vm ubuntu-22.04.conf
|
||||
```
|
||||
|
||||
- Complete the installation as normal.
|
||||
|
@ -211,7 +228,7 @@ quickemu --vm ubuntu-20.04.conf
|
|||
`quickget` can also download/refresh devel images via `zsync` for Ubuntu
|
||||
developers and testers.
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
quickget ubuntu devel
|
||||
quickemu --vm ubuntu-devel.conf
|
||||
```
|
||||
|
@ -234,8 +251,7 @@ with your preferred flavour.
|
|||
- `ubuntu` (Ubuntu)
|
||||
- `xubuntu` (Xubuntu)
|
||||
|
||||
Other Operating Systems
|
||||
-----------------------
|
||||
## Other Operating Systems
|
||||
|
||||
`quickget` also supports:
|
||||
|
||||
|
@ -244,11 +260,15 @@ Other Operating Systems
|
|||
- `android` (Android x86)
|
||||
- `archlinux` (Arch Linux)
|
||||
- `arcolinux` (Arco Linux)
|
||||
- `batocera` (Batocera)
|
||||
- `cachyos` (CachyOS)
|
||||
- `centos-stream` (CentOS Stream)
|
||||
- `debian` (Debian)
|
||||
- `deepin` (Deepin)
|
||||
- `devuan` (Devuan)
|
||||
- `dragonflybsd` (DragonFlyBSD)
|
||||
- `elementary` (elementary OS)
|
||||
- `endeavouros` (EndeavourOS)
|
||||
- `fedora` (Fedora)
|
||||
- `freebsd` (FreeBSD)
|
||||
- `freedos` (FreeDOS)
|
||||
|
@ -260,6 +280,7 @@ Other Operating Systems
|
|||
- `kdeneon` (KDE Neon)
|
||||
- `kolibrios` (KolibriOS)
|
||||
- `linuxmint` (Linux Mint)
|
||||
- `lmde` (Linux Mint Debian Edition)
|
||||
- `manjaro` (Manjaro)
|
||||
- `mxlinux` (MX Linux)
|
||||
- `netboot` (netboot.xyz)
|
||||
|
@ -283,7 +304,7 @@ configuration.
|
|||
- Download a .iso image of a Linux distribution
|
||||
- Create a VM configuration file; for example `debian-bullseye.conf`
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
guest_os="linux"
|
||||
disk_img="debian-bullseye/disk.qcow2"
|
||||
iso="debian-bullseye/firmware-11.0.0-amd64-DVD-1.iso"
|
||||
|
@ -291,7 +312,7 @@ iso="debian-bullseye/firmware-11.0.0-amd64-DVD-1.iso"
|
|||
|
||||
- Use `quickemu` to start the virtual machine:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
quickemu --vm debian-bullseye.conf
|
||||
```
|
||||
|
||||
|
@ -302,13 +323,12 @@ quickemu --vm debian-bullseye.conf
|
|||
- Install the SPICE WebDAV agent (`spice-webdavd`) to enable file
|
||||
sharing.
|
||||
|
||||
macOS Guest
|
||||
-----------
|
||||
## macOS Guest
|
||||
|
||||
`quickget` automatically downloads a macOS recovery image and creates a
|
||||
virtual machine configuration.
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
quickget macos catalina
|
||||
quickemu --vm macos-catalina.conf
|
||||
```
|
||||
|
@ -338,7 +358,7 @@ supported.
|
|||
|
||||
The default macOS configuration looks like this:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
guest_os="macos"
|
||||
img="macos-catalina/RecoveryImage.img"
|
||||
disk_img="macos-catalina/disk.qcow2"
|
||||
|
@ -389,8 +409,7 @@ There are some considerations when running macOS via Quickemu.
|
|||
webdavd](https://gitlab.gnome.org/GNOME/phodav/-/merge_requests/24).
|
||||
- Copy/paste via SPICE agent is **not available on macOS**.
|
||||
|
||||
Windows 8.1, 10 & 11 Guests
|
||||
---------------------------
|
||||
## Windows 8.1, 10 & 11 Guests
|
||||
|
||||
`quickget` can automatically download Windows 8.1, [Windows
|
||||
10](https://www.microsoft.com/en-gb/software-download/windows10ISO) and
|
||||
|
@ -400,7 +419,7 @@ with the [VirtIO drivers for
|
|||
Windows](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/)
|
||||
and creates a virtual machine configuration.
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
quickget windows 11
|
||||
quickemu --vm windows-11.conf
|
||||
```
|
||||
|
@ -414,18 +433,19 @@ By default `quickget` will download the *"English International"*
|
|||
release, but you can optionally specify one of the supported languages:
|
||||
For example:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
quickget windows 11 "Chinese (Traditional)"
|
||||
```
|
||||
|
||||
The default Windows 11 configuration looks like this:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
guest_os="windows"
|
||||
disk_img="windows-11/disk.qcow2"
|
||||
iso="windows-11/Win11_EnglishInternational_x64.iso"
|
||||
fixed_iso="windows-11/virtio-win.iso"
|
||||
tpm="on"
|
||||
secureboot="on"
|
||||
```
|
||||
|
||||
- `guest_os="windows"` instructs `quickemu` to optimise for Windows.
|
||||
|
@ -433,47 +453,58 @@ tpm="on"
|
|||
- `tpm="on"` instructs `quickemu` to create a software emulated TPM
|
||||
device using `swtpm`.
|
||||
|
||||
All the options
|
||||
===============
|
||||
# All the options
|
||||
|
||||
Here are the usage instructions:
|
||||
|
||||
``` {.bash}
|
||||
|
||||
Usage
|
||||
quickemu --vm ubuntu.conf
|
||||
|
||||
You can also pass optional parameters
|
||||
--braille : Enable braille support. Requires SDL.
|
||||
--delete-disk : Delete the disk image and EFI variables
|
||||
--delete-vm : Delete the entire VM and it's configuration
|
||||
--display : Select display backend. 'sdl' (default), 'gtk', 'none', or 'spice'
|
||||
--fullscreen : Starts VM in full screen mode (Ctl+Alt+f to exit)
|
||||
--ignore-msrs-always : Configure KVM to always ignore unhandled machine-specific registers
|
||||
--screen <screen> : Use specified screen to determine the window size.
|
||||
--shortcut : Create a desktop shortcut
|
||||
--snapshot apply <tag> : Apply/restore a snapshot.
|
||||
--snapshot create <tag> : Create a snapshot.
|
||||
--snapshot delete <tag> : Delete a snapshot.
|
||||
--snapshot info : Show disk/snapshot info.
|
||||
--status-quo : Do not commit any changes to disk/snapshot.
|
||||
--version : Print version
|
||||
Usage
|
||||
quickemu --vm ubuntu.conf
|
||||
|
||||
```
|
||||
You can also pass optional parameters
|
||||
--braille : Enable braille support. Requires SDL.
|
||||
--delete-disk : Delete the disk image and EFI variables
|
||||
--delete-vm : Delete the entire VM and it's configuration
|
||||
--display : Select display backend. 'sdl' (default), 'gtk', 'none', or 'spice'
|
||||
--fullscreen : Starts VM in full screen mode (Ctl+Alt+f to exit)
|
||||
--ignore-msrs-always : Configure KVM to always ignore unhandled machine-specific registers
|
||||
--screen <screen> : Use specified screen to determine the window size.
|
||||
--shortcut : Create a desktop shortcut
|
||||
--snapshot apply <tag> : Apply/restore a snapshot.
|
||||
--snapshot create <tag> : Create a snapshot.
|
||||
--snapshot delete <tag> : Delete a snapshot.
|
||||
--snapshot info : Show disk/snapshot info.
|
||||
--status-quo : Do not commit any changes to disk/snapshot.
|
||||
--viewer <viewer> : Choose an alternative viewer. @Options: 'spicy' (default), 'remote-viewer', 'none'
|
||||
--ssh-port <port> : Set ssh-port manually
|
||||
--spice-port <port> : Set spice-port manually
|
||||
--public-dir <path> : expose share directory. @Options: '' (default: xdg-user-dir PUBLICSHARE), '<directory>', 'none'
|
||||
--monitor <type> : Set monitor connection type. @Options: 'socket' (default), 'telnet', 'none'
|
||||
--monitor-telnet-host <ip/host> : Set telnet host for monitor. (default: 'localhost')
|
||||
--monitor-telnet-port <port> : Set telnet port for monitor. (default: '4440')
|
||||
--monitor-cmd <cmd> : Send command to monitor if available. (Example: system_powerdown)
|
||||
--serial <type> : Set serial connection type. @Options: 'socket' (default), 'telnet', 'none'
|
||||
--serial-telnet-host <ip/host> : Set telnet host for serial. (default: 'localhost')
|
||||
--serial-telnet-port <port> : Set telnet port for serial. (default: '6660')
|
||||
--keyboard <type> : Set keyboard. @Options: 'usb' (default), 'ps2', 'virtio'
|
||||
--keyboard_layout <layout> : Set keyboard layout.
|
||||
--mouse <type> : Set mouse. @Options: 'tablet' (default), 'ps2', 'usb', 'virtio'
|
||||
--usb-controller <type> : Set usb-controller. @Options: 'ehci' (default), 'xhci', 'none'
|
||||
--extra_args <arguments> : Pass additional arguments to qemu
|
||||
--version : Print version
|
||||
|
||||
Desktop shortcuts
|
||||
-----------------
|
||||
## Desktop shortcuts
|
||||
|
||||
Desktop shortcuts can be created for a VM, the shortcuts are saved in
|
||||
`~/.local/share/applications`. Here is an example of how to create a
|
||||
shortcut.
|
||||
|
||||
``` {.bash}
|
||||
quickemu --vm ubuntu-20.04-desktop.conf --shortcut
|
||||
``` bash
|
||||
quickemu --vm ubuntu-22.04-desktop.conf --shortcut
|
||||
```
|
||||
|
||||
Screen and window size (Linux guests only)
|
||||
------------------------------------------
|
||||
## Screen and window size (Linux guests only)
|
||||
|
||||
`qemu` will always default to the primary monitor to display the VM's
|
||||
window.
|
||||
|
@ -494,13 +525,13 @@ must match the resolution of the screen.
|
|||
|
||||
To know which screen to use, type:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
xrandr --listmonitors | grep -v Monitors
|
||||
```
|
||||
|
||||
The command will output something like this:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
0: +*HDMI-0 2560/597x1440/336+1920+0 HDMI-0
|
||||
1: +DVI-D-0 1920/527x1080/296+0+0 DVI-D-0
|
||||
```
|
||||
|
@ -509,7 +540,7 @@ The first number is what needs to be passed to the `--screen` option.
|
|||
|
||||
For example:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
quickemu --vm vm.conf --screen 0
|
||||
```
|
||||
|
||||
|
@ -518,8 +549,7 @@ which Quickemu sizes to 2048x1152. Without the `--screen` option,
|
|||
Quickemu would have used the 1920x1080 monitor which results in a window
|
||||
size of 1664x936.
|
||||
|
||||
References
|
||||
==========
|
||||
# References
|
||||
|
||||
Useful reference that assisted the development of Quickemu.
|
||||
|
||||
|
@ -556,20 +586,17 @@ Useful reference that assisted the development of Quickemu.
|
|||
- <https://superuser.com/questions/628169/how-to-share-a-directory-with-the-host-without-networking-in-qemu>
|
||||
- <https://virtio-fs.gitlab.io/>
|
||||
|
||||
AUTHORS
|
||||
=======
|
||||
# AUTHORS
|
||||
|
||||
Written by Martin Wimpress.
|
||||
|
||||
BUGS
|
||||
====
|
||||
# BUGS
|
||||
|
||||
Submit bug reports online at:
|
||||
<https://github.com/quickemu-project/quickemu/issues>
|
||||
|
||||
SEE ALSO
|
||||
========
|
||||
# SEE ALSO
|
||||
|
||||
Full sources at: <https://github.com/quickemu-project/quickemu>
|
||||
|
||||
quickemu\_conf(1), quickget(1), quickgui(1)
|
||||
quickemu_conf(1), quickget(1), quickgui(1)
|
||||
|
|
|
@ -1,6 +1,20 @@
|
|||
.\" Automatically generated by Pandoc 2.9.2.1
|
||||
.\" Automatically generated by Pandoc 2.18
|
||||
.\"
|
||||
.TH "QUICKEMU_CONF" "1" "February 20, 2022" "quickemu_conf" "Quickemu Configuration Manual"
|
||||
.\" Define V font for inline verbatim, using C font in formats
|
||||
.\" that render this, and otherwise B font.
|
||||
.ie "\f[CB]x\f[]"x" \{\
|
||||
. ftr V B
|
||||
. ftr VI BI
|
||||
. ftr VB B
|
||||
. ftr VBI BI
|
||||
.\}
|
||||
.el \{\
|
||||
. ftr V CR
|
||||
. ftr VI CI
|
||||
. ftr VB CB
|
||||
. ftr VBI CBI
|
||||
.\}
|
||||
.TH "QUICKEMU_CONF" "1" "July 30, 2022" "quickemu_conf" "Quickemu Configuration Manual"
|
||||
.hy
|
||||
.SH NAME
|
||||
.PP
|
||||
|
@ -60,10 +74,10 @@ macos_release=\[dq]catalina\[dq]
|
|||
\f[R]
|
||||
.fi
|
||||
.IP \[bu] 2
|
||||
\f[C]guest_os=\[dq]macos\[dq]\f[R] instructs Quickemu to optimise for
|
||||
\f[V]guest_os=\[dq]macos\[dq]\f[R] instructs Quickemu to optimise for
|
||||
macOS.
|
||||
.IP \[bu] 2
|
||||
\f[C]macos_release=\[dq]catalina\[dq]\f[R] instructs Quickemu to
|
||||
\f[V]macos_release=\[dq]catalina\[dq]\f[R] instructs Quickemu to
|
||||
optimise for a particular macOS release.
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
|
@ -86,21 +100,21 @@ tpm=\[dq]on\[dq]
|
|||
\f[R]
|
||||
.fi
|
||||
.IP \[bu] 2
|
||||
\f[C]guest_os=\[dq]windows\[dq]\f[R] instructs \f[C]quickemu\f[R] to
|
||||
\f[V]guest_os=\[dq]windows\[dq]\f[R] instructs \f[V]quickemu\f[R] to
|
||||
optimise for Windows.
|
||||
.IP \[bu] 2
|
||||
\f[C]fixed_iso=\f[R] specifies the ISO image that provides VirtIO
|
||||
\f[V]fixed_iso=\f[R] specifies the ISO image that provides VirtIO
|
||||
drivers.
|
||||
.IP \[bu] 2
|
||||
\f[C]tpm=\[dq]on\[dq]\f[R] instructs \f[C]quickemu\f[R] to create a
|
||||
software emulated TPM device using \f[C]swtpm\f[R].
|
||||
\f[V]tpm=\[dq]on\[dq]\f[R] instructs \f[V]quickemu\f[R] to create a
|
||||
software emulated TPM device using \f[V]swtpm\f[R].
|
||||
.SH BIOS and EFI
|
||||
.PP
|
||||
Since Quickemu 2.1.0 \f[C]efi\f[R] is the default boot option.
|
||||
Since Quickemu 2.1.0 \f[V]efi\f[R] is the default boot option.
|
||||
If you want to override this behaviour then add the following line to
|
||||
you VM configuration to enable legacy BIOS.
|
||||
.IP \[bu] 2
|
||||
\f[C]boot=\[dq]legacy\[dq]\f[R] - Enable Legacy BIOS boot
|
||||
\f[V]boot=\[dq]legacy\[dq]\f[R] - Enable Legacy BIOS boot
|
||||
.SH Tuning CPU cores, RAM & disks
|
||||
.PP
|
||||
By default, Quickemu will calculate the number of CPUs cores and RAM to
|
||||
|
@ -110,18 +124,18 @@ your liking.
|
|||
.PP
|
||||
Add additional lines to your virtual machine configuration:
|
||||
.IP \[bu] 2
|
||||
\f[C]cpu_cores=\[dq]4\[dq]\f[R] - Specify the number of CPU cores
|
||||
\f[V]cpu_cores=\[dq]4\[dq]\f[R] - Specify the number of CPU cores
|
||||
allocated to the VM
|
||||
.IP \[bu] 2
|
||||
\f[C]ram=\[dq]4G\[dq]\f[R] - Specify the amount of RAM to allocate to
|
||||
\f[V]ram=\[dq]4G\[dq]\f[R] - Specify the amount of RAM to allocate to
|
||||
the VM
|
||||
.IP \[bu] 2
|
||||
\f[C]disk_size=\[dq]16G\[dq]\f[R] - Specify the size of the virtual disk
|
||||
\f[V]disk_size=\[dq]16G\[dq]\f[R] - Specify the size of the virtual disk
|
||||
allocated to the VM
|
||||
.SS Disk preallocation
|
||||
.PP
|
||||
Preallocation mode (allowed values: \f[C]off\f[R] (default),
|
||||
\f[C]metadata\f[R], \f[C]falloc\f[R], \f[C]full\f[R]).
|
||||
Preallocation mode (allowed values: \f[V]off\f[R] (default),
|
||||
\f[V]metadata\f[R], \f[V]falloc\f[R], \f[V]full\f[R]).
|
||||
An image with preallocated metadata is initially larger but can improve
|
||||
performance when the image needs to grow.
|
||||
.PP
|
||||
|
@ -129,27 +143,27 @@ Specify what disk preallocation should be used, if any, when creating
|
|||
the system disk image by adding a line like this to your VM
|
||||
configuration.
|
||||
.IP \[bu] 2
|
||||
\f[C]preallocation=\[dq]metadata\[dq]\f[R]
|
||||
\f[V]preallocation=\[dq]metadata\[dq]\f[R]
|
||||
.SS CD-ROM disks
|
||||
.PP
|
||||
If you want to expose an ISO image from the host to guest add the
|
||||
following line to the VM configuration:
|
||||
.IP \[bu] 2
|
||||
\f[C]fixed_iso=\[dq]/path/to/image.iso\[dq]\f[R]
|
||||
\f[V]fixed_iso=\[dq]/path/to/image.iso\[dq]\f[R]
|
||||
.SS Floppy disks
|
||||
.PP
|
||||
If you\[cq]re like Alan Pope (https://popey.com) you\[cq]ll probably
|
||||
want to mount a floppy disk image in the guest.
|
||||
To do so add the following line to the VM configuration:
|
||||
.IP \[bu] 2
|
||||
\f[C]floppy=\[dq]/path/to/floppy.img\[dq]\f[R]
|
||||
\f[V]floppy=\[dq]/path/to/floppy.img\[dq]\f[R]
|
||||
.SH File Sharing
|
||||
.PP
|
||||
All File Sharing options will only expose \f[C]\[ti]/Public\f[R] (or
|
||||
All File Sharing options will only expose \f[V]\[ti]/Public\f[R] (or
|
||||
localised variations) for the current user to the guest VMs.
|
||||
.SS Samba \[u1F427] \[u1F34F] \[u1FA9F]
|
||||
.PP
|
||||
If \f[C]smbd\f[R] is available on the host, Quickemu will automatically
|
||||
If \f[V]smbd\f[R] is available on the host, Quickemu will automatically
|
||||
enable the built-in QEMU support for exposing a Samba share from the
|
||||
host to the guest.
|
||||
.PP
|
||||
|
@ -160,6 +174,21 @@ You can install the minimal Samba components on Ubuntu using:
|
|||
sudo apt install --no-install-recommends samba
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
If everything is set up correctly, the \f[V]smbd\f[R] address will be
|
||||
printed when the virtual machine is started.
|
||||
For example:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
- smbd: On guest: smb://10.0.2.4/qemu
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
If using a Windows guest, right-click on \[lq]This PC\[rq], click
|
||||
\[lq]Add a network location\[rq], and paste this address, removing
|
||||
\f[V]smb:\f[R] and replacing forward slashes with backslashes (in this
|
||||
example \f[V]\[rs]\[rs]10.0.2.4\[rs]qemu\f[R]).
|
||||
.SS SPICE WebDAV \[u1F427] \[u1FA9F]
|
||||
.IP \[bu] 2
|
||||
TBD
|
||||
|
@ -171,7 +200,7 @@ TBD
|
|||
Add an additional line to your virtual machine configuration.
|
||||
For example:
|
||||
.IP \[bu] 2
|
||||
\f[C]port_forwards=(\[dq]8123:8123\[dq] \[dq]8888:80\[dq])\f[R]
|
||||
\f[V]port_forwards=(\[dq]8123:8123\[dq] \[dq]8888:80\[dq])\f[R]
|
||||
.PP
|
||||
In the example above:
|
||||
.IP \[bu] 2
|
||||
|
@ -183,7 +212,7 @@ Port 8888 on the host is forwarded to port 80 on the guest.
|
|||
Connect your virtual machine to a preconfigured network bridge.
|
||||
Add an additional line to your virtual machine configuration
|
||||
.IP \[bu] 2
|
||||
\f[C]bridge=\[dq]br0\[dq]\f[R]
|
||||
\f[V]bridge=\[dq]br0\[dq]\f[R]
|
||||
.SH USB redirection
|
||||
.PP
|
||||
Quickemu supports USB redirection via SPICE pass-through and host
|
||||
|
@ -191,9 +220,9 @@ pass-through.
|
|||
.SS SPICE redirection (recommended)
|
||||
.PP
|
||||
Using SPICE for USB pass-through is easiest as it doesn\[cq]t require
|
||||
any elevated permission, start Quickemu with \f[C]--display spice\f[R]
|
||||
and then select \f[C]Input\f[R] ->
|
||||
\f[C]Select USB Device for redirection\f[R] from the menu to choose
|
||||
any elevated permission, start Quickemu with \f[V]--display spice\f[R]
|
||||
and then select \f[V]Input\f[R] ->
|
||||
\f[V]Select USB Device for redirection\f[R] from the menu to choose
|
||||
which device(s) you want to attach to the guest.
|
||||
.SS Host redirection \f[B]NOT Recommended\f[R]
|
||||
.PP
|
||||
|
@ -204,7 +233,7 @@ Using SPICE is preferred, see above.
|
|||
Add an additional line to your virtual machine configuration.
|
||||
For example:
|
||||
.IP \[bu] 2
|
||||
\f[C]usb_devices=(\[dq]046d:082d\[dq] \[dq]046d:085e\[dq])\f[R]
|
||||
\f[V]usb_devices=(\[dq]046d:082d\[dq] \[dq]046d:085e\[dq])\f[R]
|
||||
.PP
|
||||
In the example above:
|
||||
.IP \[bu] 2
|
||||
|
@ -214,7 +243,7 @@ to the guest.
|
|||
The USB device with vendor_id 046d and product_id 085e will be exposed
|
||||
to the guest.
|
||||
.PP
|
||||
If the USB devices are not writable, \f[C]quickemu\f[R] will display the
|
||||
If the USB devices are not writable, \f[V]quickemu\f[R] will display the
|
||||
appropriate commands to modify the USB device(s) access permissions,
|
||||
like this:
|
||||
.IP
|
||||
|
@ -230,8 +259,8 @@ like this:
|
|||
.PP
|
||||
Since Quickemu 2.2.0 a software emulated TPM device can be added to
|
||||
guest virtual machines.
|
||||
Just add \f[C]tpm=\[dq]on\[dq]\f[R] to your VM configuration.
|
||||
\f[C]quickget\f[R] will automatically add this line to Windows 11
|
||||
Just add \f[V]tpm=\[dq]on\[dq]\f[R] to your VM configuration.
|
||||
\f[V]quickget\f[R] will automatically add this line to Windows 11
|
||||
virtual machines.
|
||||
.SH AUTHORS
|
||||
.PP
|
||||
|
|
|
@ -1,19 +1,17 @@
|
|||
---
|
||||
author: Martin Wimpress
|
||||
date: 'February 20, 2022'
|
||||
footer: quickemu\_conf
|
||||
date: July 30, 2022
|
||||
footer: quickemu_conf
|
||||
header: Quickemu Configuration Manual
|
||||
section: 1
|
||||
title: QUICKEMU\_CONF
|
||||
title: QUICKEMU_CONF
|
||||
---
|
||||
|
||||
NAME
|
||||
====
|
||||
# NAME
|
||||
|
||||
quickemu\_conf - Options and parameters in the quickemu \<vm\>.conf
|
||||
quickemu_conf - Options and parameters in the quickemu \<vm\>.conf
|
||||
|
||||
DESCRIPTION
|
||||
===========
|
||||
# DESCRIPTION
|
||||
|
||||
**quickemu** will create and run highly optimised desktop virtual
|
||||
machines for Linux, macOS and Windows. It uses sensible defaults, but
|
||||
|
@ -21,12 +19,11 @@ many configuration options can be overridden in the required
|
|||
configuration file, which will as a minimum specify the path to the
|
||||
installation ISO and QEMU disk for the installed VM
|
||||
|
||||
OPTIONS
|
||||
=======
|
||||
# OPTIONS
|
||||
|
||||
These are the options and defaults for the \<vm\>.conf file
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
# Lowercase variables are used in the VM config file only
|
||||
boot="efi"
|
||||
bridge=""
|
||||
|
@ -47,10 +44,9 @@ tpm="off"
|
|||
usb_devices=()
|
||||
```
|
||||
|
||||
EXAMPLES
|
||||
========
|
||||
# EXAMPLES
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
guest_os="linux"
|
||||
disk_img="debian-bullseye/disk.qcow2"
|
||||
iso="debian-bullseye/firmware-11.0.0-amd64-DVD-1.iso"
|
||||
|
@ -58,7 +54,7 @@ iso="debian-bullseye/firmware-11.0.0-amd64-DVD-1.iso"
|
|||
|
||||
The default macOS configuration looks like this:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
guest_os="macos"
|
||||
img="macos-catalina/RecoveryImage.img"
|
||||
disk_img="macos-catalina/disk.qcow2"
|
||||
|
@ -75,7 +71,7 @@ macos_release="catalina"
|
|||
|
||||
The default Windows 11 configuration looks like this:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
guest_os="windows"
|
||||
disk_img="windows-11/disk.qcow2"
|
||||
iso="windows-11/Win11_EnglishInternational_x64.iso"
|
||||
|
@ -88,8 +84,7 @@ tpm="on"
|
|||
- `tpm="on"` instructs `quickemu` to create a software emulated TPM
|
||||
device using `swtpm`.
|
||||
|
||||
BIOS and EFI
|
||||
============
|
||||
# BIOS and EFI
|
||||
|
||||
Since Quickemu 2.1.0 `efi` is the default boot option. If you want to
|
||||
override this behaviour then add the following line to you VM
|
||||
|
@ -97,8 +92,7 @@ configuration to enable legacy BIOS.
|
|||
|
||||
- `boot="legacy"` - Enable Legacy BIOS boot
|
||||
|
||||
Tuning CPU cores, RAM & disks
|
||||
=============================
|
||||
# Tuning CPU cores, RAM & disks
|
||||
|
||||
By default, Quickemu will calculate the number of CPUs cores and RAM to
|
||||
allocate to a VM based on the specifications of your host computer. You
|
||||
|
@ -113,8 +107,7 @@ Add additional lines to your virtual machine configuration:
|
|||
- `disk_size="16G"` - Specify the size of the virtual disk allocated
|
||||
to the VM
|
||||
|
||||
Disk preallocation
|
||||
------------------
|
||||
## Disk preallocation
|
||||
|
||||
Preallocation mode (allowed values: `off` (default), `metadata`,
|
||||
`falloc`, `full`). An image with preallocated metadata is initially
|
||||
|
@ -126,16 +119,14 @@ configuration.
|
|||
|
||||
- `preallocation="metadata"`
|
||||
|
||||
CD-ROM disks
|
||||
------------
|
||||
## CD-ROM disks
|
||||
|
||||
If you want to expose an ISO image from the host to guest add the
|
||||
following line to the VM configuration:
|
||||
|
||||
- `fixed_iso="/path/to/image.iso"`
|
||||
|
||||
Floppy disks
|
||||
------------
|
||||
## Floppy disks
|
||||
|
||||
If you're like [Alan Pope](https://popey.com) you'll probably want to
|
||||
mount a floppy disk image in the guest. To do so add the following line
|
||||
|
@ -143,14 +134,12 @@ to the VM configuration:
|
|||
|
||||
- `floppy="/path/to/floppy.img"`
|
||||
|
||||
File Sharing
|
||||
============
|
||||
# File Sharing
|
||||
|
||||
All File Sharing options will only expose `~/Public` (or localised
|
||||
variations) for the current user to the guest VMs.
|
||||
|
||||
Samba 🐧 🍏 🪟
|
||||
-----------
|
||||
## Samba 🐧 🍏 🪟
|
||||
|
||||
If `smbd` is available on the host, Quickemu will automatically enable
|
||||
the built-in QEMU support for exposing a Samba share from the host to
|
||||
|
@ -158,22 +147,28 @@ the guest.
|
|||
|
||||
You can install the minimal Samba components on Ubuntu using:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
sudo apt install --no-install-recommends samba
|
||||
```
|
||||
|
||||
SPICE WebDAV 🐧 🪟
|
||||
----------------
|
||||
If everything is set up correctly, the `smbd` address will be printed
|
||||
when the virtual machine is started. For example:
|
||||
|
||||
- smbd: On guest: smb://10.0.2.4/qemu
|
||||
|
||||
If using a Windows guest, right-click on "This PC", click "Add a network
|
||||
location", and paste this address, removing `smb:` and replacing forward
|
||||
slashes with backslashes (in this example `\\10.0.2.4\qemu`).
|
||||
|
||||
## SPICE WebDAV 🐧 🪟
|
||||
|
||||
- TBD
|
||||
|
||||
VirtIO-9P 🐧 🍏
|
||||
-------------
|
||||
## VirtIO-9P 🐧 🍏
|
||||
|
||||
- TBD
|
||||
|
||||
Network port forwarding
|
||||
=======================
|
||||
# Network port forwarding
|
||||
|
||||
Add an additional line to your virtual machine configuration. For
|
||||
example:
|
||||
|
@ -185,30 +180,26 @@ In the example above:
|
|||
- Port 8123 on the host is forwarded to port 8123 on the guest.
|
||||
- Port 8888 on the host is forwarded to port 80 on the guest.
|
||||
|
||||
Bridged networking
|
||||
==================
|
||||
# Bridged networking
|
||||
|
||||
Connect your virtual machine to a preconfigured network bridge. Add an
|
||||
additional line to your virtual machine configuration
|
||||
|
||||
- `bridge="br0"`
|
||||
|
||||
USB redirection
|
||||
===============
|
||||
# USB redirection
|
||||
|
||||
Quickemu supports USB redirection via SPICE pass-through and host
|
||||
pass-through.
|
||||
|
||||
SPICE redirection (recommended)
|
||||
-------------------------------
|
||||
## SPICE redirection (recommended)
|
||||
|
||||
Using SPICE for USB pass-through is easiest as it doesn't require any
|
||||
elevated permission, start Quickemu with `--display spice` and then
|
||||
select `Input` -\> `Select USB Device for redirection` from the menu to
|
||||
choose which device(s) you want to attach to the guest.
|
||||
|
||||
Host redirection **NOT Recommended**
|
||||
------------------------------------
|
||||
## Host redirection **NOT Recommended**
|
||||
|
||||
**USB host redirection is not recommended**, it is provided purely for
|
||||
backwards compatibility to older versions of Quickemu. Using SPICE is
|
||||
|
@ -221,9 +212,9 @@ example:
|
|||
|
||||
In the example above:
|
||||
|
||||
- The USB device with vendor\_id 046d and product\_id 082d will be
|
||||
- The USB device with vendor_id 046d and product_id 082d will be
|
||||
exposed to the guest.
|
||||
- The USB device with vendor\_id 046d and product\_id 085e will be
|
||||
- The USB device with vendor_id 046d and product_id 085e will be
|
||||
exposed to the guest.
|
||||
|
||||
If the USB devices are not writable, `quickemu` will display the
|
||||
|
@ -235,27 +226,23 @@ like this:
|
|||
sudo chown -v root:user /dev/bus/usb/001/005
|
||||
ERROR! USB permission changes are required 👆
|
||||
|
||||
TPM
|
||||
===
|
||||
# TPM
|
||||
|
||||
Since Quickemu 2.2.0 a software emulated TPM device can be added to
|
||||
guest virtual machines. Just add `tpm="on"` to your VM configuration.
|
||||
`quickget` will automatically add this line to Windows 11 virtual
|
||||
machines.
|
||||
|
||||
AUTHORS
|
||||
=======
|
||||
# AUTHORS
|
||||
|
||||
Written by Martin Wimpress.
|
||||
|
||||
BUGS
|
||||
====
|
||||
# BUGS
|
||||
|
||||
Submit bug reports online at:
|
||||
<https://github.com/quickemu-project/quickemu/issues>
|
||||
|
||||
SEE ALSO
|
||||
========
|
||||
# SEE ALSO
|
||||
|
||||
Full sources at: <https://github.com/quickemu-project/quickemu>
|
||||
|
||||
|
|
189
docs/quickget.1
189
docs/quickget.1
|
@ -1,6 +1,20 @@
|
|||
.\" Automatically generated by Pandoc 2.9.2.1
|
||||
.\" Automatically generated by Pandoc 2.18
|
||||
.\"
|
||||
.TH "QUICKGET" "1" "February 20, 2022" "quickget" "Quickget User Manual"
|
||||
.\" Define V font for inline verbatim, using C font in formats
|
||||
.\" that render this, and otherwise B font.
|
||||
.ie "\f[CB]x\f[]"x" \{\
|
||||
. ftr V B
|
||||
. ftr VI BI
|
||||
. ftr VB B
|
||||
. ftr VBI BI
|
||||
.\}
|
||||
.el \{\
|
||||
. ftr V CR
|
||||
. ftr VI CI
|
||||
. ftr VB CB
|
||||
. ftr VBI CBI
|
||||
.\}
|
||||
.TH "QUICKGET" "1" "July 30, 2022" "quickget" "Quickget User Manual"
|
||||
.hy
|
||||
.SH NAME
|
||||
.PP
|
||||
|
@ -12,7 +26,7 @@ quickget - download and prepare materials for building a quickemu VM
|
|||
.SH DESCRIPTION
|
||||
.PP
|
||||
\f[B]quickget\f[R] will download the requisite materials and prepare a
|
||||
configuration for \f[C]quickemu\f[R] to use to build and run
|
||||
configuration for \f[V]quickemu\f[R] to use to build and run
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\f[B]version | -version | \[en]version\f[R]
|
||||
|
@ -29,13 +43,13 @@ Editions may not apply and will be defaulted if not provided.
|
|||
.SH NOTES
|
||||
.SS Ubuntu Guest
|
||||
.PP
|
||||
\f[C]quickget\f[R] will automatically download an Ubuntu release and
|
||||
\f[V]quickget\f[R] will automatically download an Ubuntu release and
|
||||
create the virtual machine configuration.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
quickget ubuntu 20.04
|
||||
quickemu --vm ubuntu-20.04.conf
|
||||
quickget ubuntu 22.04
|
||||
quickemu --vm ubuntu-22.04.conf
|
||||
\f[R]
|
||||
.fi
|
||||
.IP \[bu] 2
|
||||
|
@ -44,24 +58,24 @@ Complete the installation as normal.
|
|||
Post-install:
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
Install the SPICE agent (\f[C]spice-vdagent\f[R]) to enable copy/paste
|
||||
Install the SPICE agent (\f[V]spice-vdagent\f[R]) to enable copy/paste
|
||||
and USB redirection
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
\f[C]sudo apt install spice-vdagent\f[R]
|
||||
\f[V]sudo apt install spice-vdagent\f[R]
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
Install the SPICE WebDAV agent (\f[C]spice-webdavd\f[R]) to enable file
|
||||
Install the SPICE WebDAV agent (\f[V]spice-webdavd\f[R]) to enable file
|
||||
sharing.
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
\f[C]sudo apt install spice-webdavd\f[R]
|
||||
\f[V]sudo apt install spice-webdavd\f[R]
|
||||
.RE
|
||||
.RE
|
||||
.SS Ubuntu devel (daily-live) images
|
||||
.PP
|
||||
\f[C]quickget\f[R] can also download/refresh devel images via
|
||||
\f[C]zsync\f[R] for Ubuntu developers and testers.
|
||||
\f[V]quickget\f[R] can also download/refresh devel images via
|
||||
\f[V]zsync\f[R] for Ubuntu developers and testers.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
|
@ -70,106 +84,116 @@ quickemu --vm ubuntu-devel.conf
|
|||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
You can run \f[C]quickget ubuntu devel\f[R] to refresh your daily
|
||||
You can run \f[V]quickget ubuntu devel\f[R] to refresh your daily
|
||||
development image as often as you like, it will even automatically
|
||||
switch to a new series.
|
||||
.SS Ubuntu Flavours
|
||||
.PP
|
||||
All the official Ubuntu flavours are supported, just replace
|
||||
\f[C]ubuntu\f[R] with your preferred flavour.
|
||||
\f[V]ubuntu\f[R] with your preferred flavour.
|
||||
.IP \[bu] 2
|
||||
\f[C]kubuntu\f[R] (Kubuntu)
|
||||
\f[V]kubuntu\f[R] (Kubuntu)
|
||||
.IP \[bu] 2
|
||||
\f[C]lubuntu\f[R] (Lubuntu)
|
||||
\f[V]lubuntu\f[R] (Lubuntu)
|
||||
.IP \[bu] 2
|
||||
\f[C]ubuntu-budgie\f[R] (Ubuntu Budgie)
|
||||
\f[V]ubuntu-budgie\f[R] (Ubuntu Budgie)
|
||||
.IP \[bu] 2
|
||||
\f[C]ubuntukylin\f[R] (Ubuntu Kylin)
|
||||
\f[V]ubuntukylin\f[R] (Ubuntu Kylin)
|
||||
.IP \[bu] 2
|
||||
\f[C]ubuntu-mate\f[R] (Ubuntu MATE)
|
||||
\f[V]ubuntu-mate\f[R] (Ubuntu MATE)
|
||||
.IP \[bu] 2
|
||||
\f[C]ubuntustudio\f[R] (Ubuntu Studio)
|
||||
\f[V]ubuntustudio\f[R] (Ubuntu Studio)
|
||||
.IP \[bu] 2
|
||||
\f[C]ubuntu\f[R] (Ubuntu)
|
||||
\f[V]ubuntu\f[R] (Ubuntu)
|
||||
.IP \[bu] 2
|
||||
\f[C]xubuntu\f[R] (Xubuntu)
|
||||
\f[V]xubuntu\f[R] (Xubuntu)
|
||||
.SS Other Operating Systems
|
||||
.PP
|
||||
\f[C]quickget\f[R] also supports:
|
||||
\f[V]quickget\f[R] also supports:
|
||||
.IP \[bu] 2
|
||||
\f[C]alma\f[R] (Alma Linux)
|
||||
\f[V]alma\f[R] (Alma Linux)
|
||||
.IP \[bu] 2
|
||||
\f[C]alpine\f[R] (Alpine Linux)
|
||||
\f[V]alpine\f[R] (Alpine Linux)
|
||||
.IP \[bu] 2
|
||||
\f[C]android\f[R] (Android x86)
|
||||
\f[V]android\f[R] (Android x86)
|
||||
.IP \[bu] 2
|
||||
\f[C]archlinux\f[R] (Arch Linux)
|
||||
\f[V]archlinux\f[R] (Arch Linux)
|
||||
.IP \[bu] 2
|
||||
\f[C]arcolinux\f[R] (Arco Linux)
|
||||
\f[V]arcolinux\f[R] (Arco Linux)
|
||||
.IP \[bu] 2
|
||||
\f[C]cachyos\f[R] (CachyOS)
|
||||
\f[V]batocera\f[R] (Batocera)
|
||||
.IP \[bu] 2
|
||||
\f[C]debian\f[R] (Debian)
|
||||
\f[V]cachyos\f[R] (CachyOS)
|
||||
.IP \[bu] 2
|
||||
\f[C]devuan\f[R] (Devuan)
|
||||
\f[V]centos-stream\f[R] (CentOS Stream)
|
||||
.IP \[bu] 2
|
||||
\f[C]dragonflybsd\f[R] (DragonFlyBSD)
|
||||
\f[V]debian\f[R] (Debian)
|
||||
.IP \[bu] 2
|
||||
\f[C]elementary\f[R] (elementary OS)
|
||||
\f[V]deepin\f[R] (Deepin)
|
||||
.IP \[bu] 2
|
||||
\f[C]fedora\f[R] (Fedora)
|
||||
\f[V]devuan\f[R] (Devuan)
|
||||
.IP \[bu] 2
|
||||
\f[C]freebsd\f[R] (FreeBSD)
|
||||
\f[V]dragonflybsd\f[R] (DragonFlyBSD)
|
||||
.IP \[bu] 2
|
||||
\f[C]freedos\f[R] (FreeDOS)
|
||||
\f[V]elementary\f[R] (elementary OS)
|
||||
.IP \[bu] 2
|
||||
\f[C]garuda\f[R] (Garuda Linux)
|
||||
\f[V]endeavouros\f[R] (EndeavourOS)
|
||||
.IP \[bu] 2
|
||||
\f[C]gentoo\f[R] (Gentoo)
|
||||
\f[V]fedora\f[R] (Fedora)
|
||||
.IP \[bu] 2
|
||||
\f[C]ghostbsd\f[R] (GhostBSD)
|
||||
\f[V]freebsd\f[R] (FreeBSD)
|
||||
.IP \[bu] 2
|
||||
\f[C]haiku\f[R] (Haiku)
|
||||
\f[V]freedos\f[R] (FreeDOS)
|
||||
.IP \[bu] 2
|
||||
\f[C]kali\f[R] (Kali)
|
||||
\f[V]garuda\f[R] (Garuda Linux)
|
||||
.IP \[bu] 2
|
||||
\f[C]kdeneon\f[R] (KDE Neon)
|
||||
\f[V]gentoo\f[R] (Gentoo)
|
||||
.IP \[bu] 2
|
||||
\f[C]kolibrios\f[R] (KolibriOS)
|
||||
\f[V]ghostbsd\f[R] (GhostBSD)
|
||||
.IP \[bu] 2
|
||||
\f[C]linuxmint\f[R] (Linux Mint)
|
||||
\f[V]haiku\f[R] (Haiku)
|
||||
.IP \[bu] 2
|
||||
\f[C]manjaro\f[R] (Manjaro)
|
||||
\f[V]kali\f[R] (Kali)
|
||||
.IP \[bu] 2
|
||||
\f[C]mxlinux\f[R] (MX Linux)
|
||||
\f[V]kdeneon\f[R] (KDE Neon)
|
||||
.IP \[bu] 2
|
||||
\f[C]netboot\f[R] (netboot.xyz)
|
||||
\f[V]kolibrios\f[R] (KolibriOS)
|
||||
.IP \[bu] 2
|
||||
\f[C]netbsd\f[R] (NetBSD)
|
||||
\f[V]linuxmint\f[R] (Linux Mint)
|
||||
.IP \[bu] 2
|
||||
\f[C]nixos\f[R] (NixOS)
|
||||
\f[V]lmde\f[R] (Linux Mint Debian Edition)
|
||||
.IP \[bu] 2
|
||||
\f[C]openbsd\f[R] (OpenBSD)
|
||||
\f[V]manjaro\f[R] (Manjaro)
|
||||
.IP \[bu] 2
|
||||
\f[C]opensuse\f[R] (openSUSE)
|
||||
\f[V]mxlinux\f[R] (MX Linux)
|
||||
.IP \[bu] 2
|
||||
\f[C]oraclelinux\f[R] (Oracle Linux)
|
||||
\f[V]netboot\f[R] (netboot.xyz)
|
||||
.IP \[bu] 2
|
||||
\f[C]popos\f[R] (Pop!_OS)
|
||||
\f[V]netbsd\f[R] (NetBSD)
|
||||
.IP \[bu] 2
|
||||
\f[C]regolith\f[R] (Regolith Linux)
|
||||
\f[V]nixos\f[R] (NixOS)
|
||||
.IP \[bu] 2
|
||||
\f[C]rockylinux\f[R] (Rocky Linux)
|
||||
\f[V]openbsd\f[R] (OpenBSD)
|
||||
.IP \[bu] 2
|
||||
\f[C]slackware\f[R] (Slackware)
|
||||
\f[V]opensuse\f[R] (openSUSE)
|
||||
.IP \[bu] 2
|
||||
\f[C]solus\f[R] (Solus)
|
||||
\f[V]oraclelinux\f[R] (Oracle Linux)
|
||||
.IP \[bu] 2
|
||||
\f[C]tails\f[R] (Tails)
|
||||
\f[V]popos\f[R] (Pop!_OS)
|
||||
.IP \[bu] 2
|
||||
\f[C]void\f[R] (Void Linux)
|
||||
\f[V]regolith\f[R] (Regolith Linux)
|
||||
.IP \[bu] 2
|
||||
\f[C]zorin\f[R] (Zorin OS)
|
||||
\f[V]rockylinux\f[R] (Rocky Linux)
|
||||
.IP \[bu] 2
|
||||
\f[V]slackware\f[R] (Slackware)
|
||||
.IP \[bu] 2
|
||||
\f[V]solus\f[R] (Solus)
|
||||
.IP \[bu] 2
|
||||
\f[V]tails\f[R] (Tails)
|
||||
.IP \[bu] 2
|
||||
\f[V]void\f[R] (Void Linux)
|
||||
.IP \[bu] 2
|
||||
\f[V]zorin\f[R] (Zorin OS)
|
||||
.PP
|
||||
Or you can download a Linux image and manually create a VM
|
||||
configuration.
|
||||
|
@ -177,7 +201,7 @@ configuration.
|
|||
Download a .iso image of a Linux distribution
|
||||
.IP \[bu] 2
|
||||
Create a VM configuration file; for example
|
||||
\f[C]debian-bullseye.conf\f[R]
|
||||
\f[V]debian-bullseye.conf\f[R]
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
|
@ -187,7 +211,7 @@ iso=\[dq]debian-bullseye/firmware-11.0.0-amd64-DVD-1.iso\[dq]
|
|||
\f[R]
|
||||
.fi
|
||||
.IP \[bu] 2
|
||||
Use \f[C]quickemu\f[R] to start the virtual machine:
|
||||
Use \f[V]quickemu\f[R] to start the virtual machine:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
|
@ -200,15 +224,15 @@ Complete the installation as normal.
|
|||
Post-install:
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
Install the SPICE agent (\f[C]spice-vdagent\f[R]) to enable copy/paste
|
||||
Install the SPICE agent (\f[V]spice-vdagent\f[R]) to enable copy/paste
|
||||
and USB redirection.
|
||||
.IP \[bu] 2
|
||||
Install the SPICE WebDAV agent (\f[C]spice-webdavd\f[R]) to enable file
|
||||
Install the SPICE WebDAV agent (\f[V]spice-webdavd\f[R]) to enable file
|
||||
sharing.
|
||||
.RE
|
||||
.SS macOS Guest
|
||||
.PP
|
||||
\f[C]quickget\f[R] automatically downloads a macOS recovery image and
|
||||
\f[V]quickget\f[R] automatically downloads a macOS recovery image and
|
||||
creates a virtual machine configuration.
|
||||
.IP
|
||||
.nf
|
||||
|
@ -218,8 +242,8 @@ quickemu --vm macos-catalina.conf
|
|||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
macOS \f[C]high-sierra\f[R], \f[C]mojave\f[R], \f[C]catalina\f[R],
|
||||
\f[C]big-sur\f[R] and \f[C]monterey\f[R] are supported.
|
||||
macOS \f[V]high-sierra\f[R], \f[V]mojave\f[R], \f[V]catalina\f[R],
|
||||
\f[V]big-sur\f[R] and \f[V]monterey\f[R] are supported.
|
||||
.IP \[bu] 2
|
||||
Use cursor keys and enter key to select the \f[B]macOS Base System\f[R]
|
||||
.IP \[bu] 2
|
||||
|
@ -232,19 +256,19 @@ Click \f[B]Disk Utility\f[R] and \f[B]Continue\f[R]
|
|||
On macOS Catalina, Big Sur & Monterey
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
Select \f[C]Apple Inc. VirtIO Block Media\f[R] from the list and click
|
||||
Select \f[V]Apple Inc. VirtIO Block Media\f[R] from the list and click
|
||||
\f[B]Erase\f[R].
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
On macOS Mojave and High Sierra
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
Select \f[C]QEMU HARDDISK Media\f[R] (\[ti]103.08GB) from the list and
|
||||
Select \f[V]QEMU HARDDISK Media\f[R] (\[ti]103.08GB) from the list and
|
||||
click \f[B]Erase\f[R].
|
||||
.RE
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
Enter a \f[C]Name:\f[R] for the disk and click \f[B]Erase\f[R].
|
||||
Enter a \f[V]Name:\f[R] for the disk and click \f[B]Erase\f[R].
|
||||
.IP \[bu] 2
|
||||
Click \f[B]Done\f[R].
|
||||
.IP \[bu] 2
|
||||
|
@ -278,10 +302,10 @@ macos_release=\[dq]catalina\[dq]
|
|||
\f[R]
|
||||
.fi
|
||||
.IP \[bu] 2
|
||||
\f[C]guest_os=\[dq]macos\[dq]\f[R] instructs Quickemu to optimise for
|
||||
\f[V]guest_os=\[dq]macos\[dq]\f[R] instructs Quickemu to optimise for
|
||||
macOS.
|
||||
.IP \[bu] 2
|
||||
\f[C]macos_release=\[dq]catalina\[dq]\f[R] instructs Quickemu to
|
||||
\f[V]macos_release=\[dq]catalina\[dq]\f[R] instructs Quickemu to
|
||||
optimise for a particular macOS release.
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
|
@ -309,7 +333,7 @@ Big Sur
|
|||
Monterey
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
\f[C]quickemu\f[R] will automatically download the required
|
||||
\f[V]quickemu\f[R] will automatically download the required
|
||||
OpenCore (https://github.com/acidanthera/OpenCorePkg) bootloader and
|
||||
OVMF firmware from OSX-KVM (https://github.com/kholia/OSX-KVM).
|
||||
.IP \[bu] 2
|
||||
|
@ -322,11 +346,11 @@ VirtIO Block
|
|||
Media (https://www.kraxel.org/blog/2019/06/macos-qemu-guest/) is used
|
||||
for the system disk where supported.
|
||||
.IP \[bu] 2
|
||||
VirtIO \f[C]usb-tablet\f[R] (http://philjordan.eu/osx-virt/) is used for
|
||||
VirtIO \f[V]usb-tablet\f[R] (http://philjordan.eu/osx-virt/) is used for
|
||||
the mouse.
|
||||
.IP \[bu] 2
|
||||
VirtIO Network (\f[C]virtio-net\f[R]) is supported and enabled on macOS
|
||||
Big Sur and newer but previous releases use \f[C]vmxnet3\f[R].
|
||||
VirtIO Network (\f[V]virtio-net\f[R]) is supported and enabled on macOS
|
||||
Big Sur and newer but previous releases use \f[V]vmxnet3\f[R].
|
||||
.IP \[bu] 2
|
||||
VirtIO Memory Ballooning is supported and enabled on macOS Big Sur and
|
||||
newer but disabled for other support macOS releases.
|
||||
|
@ -355,7 +379,7 @@ webdavd (https://gitlab.gnome.org/GNOME/phodav/-/merge_requests/24).
|
|||
Copy/paste via SPICE agent is \f[B]not available on macOS\f[R].
|
||||
.SS Windows 8.1, 10 & 11 Guests
|
||||
.PP
|
||||
\f[C]quickget\f[R] can automatically download Windows 8.1, Windows
|
||||
\f[V]quickget\f[R] can automatically download Windows 8.1, Windows
|
||||
10 (https://www.microsoft.com/en-gb/software-download/windows10ISO) and
|
||||
Windows 11 (https://www.microsoft.com/en-gb/software-download/windows11)
|
||||
along with the VirtIO drivers for
|
||||
|
@ -374,7 +398,7 @@ Complete the installation as you normally would.
|
|||
All relevant drivers and services should be installed automatically.
|
||||
.SS Regional versions
|
||||
.PP
|
||||
By default \f[C]quickget\f[R] will download the \f[I]\[lq]English
|
||||
By default \f[V]quickget\f[R] will download the \f[I]\[lq]English
|
||||
International\[rq]\f[R] release, but you can optionally specify one of
|
||||
the supported languages: For example:
|
||||
.IP
|
||||
|
@ -393,17 +417,18 @@ disk_img=\[dq]windows-11/disk.qcow2\[dq]
|
|||
iso=\[dq]windows-11/Win11_EnglishInternational_x64.iso\[dq]
|
||||
fixed_iso=\[dq]windows-11/virtio-win.iso\[dq]
|
||||
tpm=\[dq]on\[dq]
|
||||
secureboot=\[dq]on\[dq]
|
||||
\f[R]
|
||||
.fi
|
||||
.IP \[bu] 2
|
||||
\f[C]guest_os=\[dq]windows\[dq]\f[R] instructs \f[C]quickemu\f[R] to
|
||||
\f[V]guest_os=\[dq]windows\[dq]\f[R] instructs \f[V]quickemu\f[R] to
|
||||
optimise for Windows.
|
||||
.IP \[bu] 2
|
||||
\f[C]fixed_iso=\f[R] specifies the ISO image that provides VirtIO
|
||||
\f[V]fixed_iso=\f[R] specifies the ISO image that provides VirtIO
|
||||
drivers.
|
||||
.IP \[bu] 2
|
||||
\f[C]tpm=\[dq]on\[dq]\f[R] instructs \f[C]quickemu\f[R] to create a
|
||||
software emulated TPM device using \f[C]swtpm\f[R].
|
||||
\f[V]tpm=\[dq]on\[dq]\f[R] instructs \f[V]quickemu\f[R] to create a
|
||||
software emulated TPM device using \f[V]swtpm\f[R].
|
||||
.SH AUTHORS
|
||||
.PP
|
||||
Written by Martin Wimpress.
|
||||
|
|
|
@ -1,35 +1,31 @@
|
|||
---
|
||||
author: Martin Wimpress
|
||||
date: 'February 20, 2022'
|
||||
date: July 30, 2022
|
||||
footer: quickget
|
||||
header: Quickget User Manual
|
||||
section: 1
|
||||
title: QUICKGET
|
||||
---
|
||||
|
||||
NAME
|
||||
====
|
||||
# NAME
|
||||
|
||||
quickget - download and prepare materials for building a quickemu VM
|
||||
|
||||
SYNOPSIS
|
||||
========
|
||||
# SYNOPSIS
|
||||
|
||||
**quickget** \[*os*\] \[*release*\] \[*edition*\] \| \[*OPTION*\]\*
|
||||
|
||||
DESCRIPTION
|
||||
===========
|
||||
# DESCRIPTION
|
||||
|
||||
**quickget** will download the requisite materials and prepare a
|
||||
configuration for `quickemu` to use to build and run
|
||||
|
||||
OPTIONS
|
||||
=======
|
||||
# OPTIONS
|
||||
|
||||
**version \| -version \| --version**
|
||||
: show version (from Quickemu)
|
||||
|
||||
**list \| list\_csv \| list\_json**
|
||||
**list \| list_csv \| list_json**
|
||||
: provide a csv list of all supported guest OSes, versions and
|
||||
variants.
|
||||
|
||||
|
@ -39,18 +35,16 @@ OPTIONS
|
|||
script will exit. Editions may not apply and will be defaulted if
|
||||
not provided.
|
||||
|
||||
NOTES
|
||||
=====
|
||||
# NOTES
|
||||
|
||||
Ubuntu Guest
|
||||
------------
|
||||
## Ubuntu Guest
|
||||
|
||||
`quickget` will automatically download an Ubuntu release and create the
|
||||
virtual machine configuration.
|
||||
|
||||
``` {.bash}
|
||||
quickget ubuntu 20.04
|
||||
quickemu --vm ubuntu-20.04.conf
|
||||
``` bash
|
||||
quickget ubuntu 22.04
|
||||
quickemu --vm ubuntu-22.04.conf
|
||||
```
|
||||
|
||||
- Complete the installation as normal.
|
||||
|
@ -67,7 +61,7 @@ quickemu --vm ubuntu-20.04.conf
|
|||
`quickget` can also download/refresh devel images via `zsync` for Ubuntu
|
||||
developers and testers.
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
quickget ubuntu devel
|
||||
quickemu --vm ubuntu-devel.conf
|
||||
```
|
||||
|
@ -90,8 +84,7 @@ with your preferred flavour.
|
|||
- `ubuntu` (Ubuntu)
|
||||
- `xubuntu` (Xubuntu)
|
||||
|
||||
Other Operating Systems
|
||||
-----------------------
|
||||
## Other Operating Systems
|
||||
|
||||
`quickget` also supports:
|
||||
|
||||
|
@ -100,11 +93,15 @@ Other Operating Systems
|
|||
- `android` (Android x86)
|
||||
- `archlinux` (Arch Linux)
|
||||
- `arcolinux` (Arco Linux)
|
||||
- `batocera` (Batocera)
|
||||
- `cachyos` (CachyOS)
|
||||
- `centos-stream` (CentOS Stream)
|
||||
- `debian` (Debian)
|
||||
- `deepin` (Deepin)
|
||||
- `devuan` (Devuan)
|
||||
- `dragonflybsd` (DragonFlyBSD)
|
||||
- `elementary` (elementary OS)
|
||||
- `endeavouros` (EndeavourOS)
|
||||
- `fedora` (Fedora)
|
||||
- `freebsd` (FreeBSD)
|
||||
- `freedos` (FreeDOS)
|
||||
|
@ -116,6 +113,7 @@ Other Operating Systems
|
|||
- `kdeneon` (KDE Neon)
|
||||
- `kolibrios` (KolibriOS)
|
||||
- `linuxmint` (Linux Mint)
|
||||
- `lmde` (Linux Mint Debian Edition)
|
||||
- `manjaro` (Manjaro)
|
||||
- `mxlinux` (MX Linux)
|
||||
- `netboot` (netboot.xyz)
|
||||
|
@ -139,7 +137,7 @@ configuration.
|
|||
- Download a .iso image of a Linux distribution
|
||||
- Create a VM configuration file; for example `debian-bullseye.conf`
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
guest_os="linux"
|
||||
disk_img="debian-bullseye/disk.qcow2"
|
||||
iso="debian-bullseye/firmware-11.0.0-amd64-DVD-1.iso"
|
||||
|
@ -147,7 +145,7 @@ iso="debian-bullseye/firmware-11.0.0-amd64-DVD-1.iso"
|
|||
|
||||
- Use `quickemu` to start the virtual machine:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
quickemu --vm debian-bullseye.conf
|
||||
```
|
||||
|
||||
|
@ -158,13 +156,12 @@ quickemu --vm debian-bullseye.conf
|
|||
- Install the SPICE WebDAV agent (`spice-webdavd`) to enable file
|
||||
sharing.
|
||||
|
||||
macOS Guest
|
||||
-----------
|
||||
## macOS Guest
|
||||
|
||||
`quickget` automatically downloads a macOS recovery image and creates a
|
||||
virtual machine configuration.
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
quickget macos catalina
|
||||
quickemu --vm macos-catalina.conf
|
||||
```
|
||||
|
@ -194,7 +191,7 @@ supported.
|
|||
|
||||
The default macOS configuration looks like this:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
guest_os="macos"
|
||||
img="macos-catalina/RecoveryImage.img"
|
||||
disk_img="macos-catalina/disk.qcow2"
|
||||
|
@ -245,8 +242,7 @@ There are some considerations when running macOS via Quickemu.
|
|||
webdavd](https://gitlab.gnome.org/GNOME/phodav/-/merge_requests/24).
|
||||
- Copy/paste via SPICE agent is **not available on macOS**.
|
||||
|
||||
Windows 8.1, 10 & 11 Guests
|
||||
---------------------------
|
||||
## Windows 8.1, 10 & 11 Guests
|
||||
|
||||
`quickget` can automatically download Windows 8.1, [Windows
|
||||
10](https://www.microsoft.com/en-gb/software-download/windows10ISO) and
|
||||
|
@ -256,7 +252,7 @@ with the [VirtIO drivers for
|
|||
Windows](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/)
|
||||
and creates a virtual machine configuration.
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
quickget windows 11
|
||||
quickemu --vm windows-11.conf
|
||||
```
|
||||
|
@ -270,18 +266,19 @@ By default `quickget` will download the *"English International"*
|
|||
release, but you can optionally specify one of the supported languages:
|
||||
For example:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
quickget windows 11 "Chinese (Traditional)"
|
||||
```
|
||||
|
||||
The default Windows 11 configuration looks like this:
|
||||
|
||||
``` {.bash}
|
||||
``` bash
|
||||
guest_os="windows"
|
||||
disk_img="windows-11/disk.qcow2"
|
||||
iso="windows-11/Win11_EnglishInternational_x64.iso"
|
||||
fixed_iso="windows-11/virtio-win.iso"
|
||||
tpm="on"
|
||||
secureboot="on"
|
||||
```
|
||||
|
||||
- `guest_os="windows"` instructs `quickemu` to optimise for Windows.
|
||||
|
@ -289,20 +286,17 @@ tpm="on"
|
|||
- `tpm="on"` instructs `quickemu` to create a software emulated TPM
|
||||
device using `swtpm`.
|
||||
|
||||
AUTHORS
|
||||
=======
|
||||
# AUTHORS
|
||||
|
||||
Written by Martin Wimpress.
|
||||
|
||||
BUGS
|
||||
====
|
||||
# BUGS
|
||||
|
||||
Submit bug reports online at:
|
||||
<https://github.com/quickemu-project/quickemu/issues>
|
||||
|
||||
SEE ALSO
|
||||
========
|
||||
# SEE ALSO
|
||||
|
||||
Full sources at: <https://github.com/quickemu-project/quickemu>
|
||||
|
||||
quickemu(1), quickemu\_conf(1), quickgui(1)
|
||||
quickemu(1), quickemu_conf(1), quickgui(1)
|
||||
|
|
Loading…
Reference in a new issue