mirror of
https://github.com/quickemu-project/quickemu.git
synced 2024-06-02 13:05:28 +02:00
Compare commits
9 Commits
4f2804ff94
...
4f76a53735
Author | SHA1 | Date | |
---|---|---|---|
|
4f76a53735 | ||
|
cda1e1b723 | ||
|
f3103a6604 | ||
|
9eb54db525 | ||
|
67893f5cb1 | ||
|
19d09556c6 | ||
|
4c47a2a3ab | ||
|
2acc2f4f40 | ||
|
0143416856 |
22
.github/pull_request_template
vendored
Normal file
22
.github/pull_request_template
vendored
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
<!-- Uncomment relevant sections fill relevant and delete options which are not applicable -->
|
||||||
|
|
||||||
|
#### Testing the changes
|
||||||
|
- I tested the changes in this PR: **YES**|**briefly**|**NO**
|
||||||
|
|
||||||
|
<!--
|
||||||
|
#### Change current OS
|
||||||
|
- This PR will change current OS: **YES**|**NO**
|
||||||
|
- Enter changed OS name: **NAME**
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
#### Add new OS
|
||||||
|
- This PR will add new OS: **YES**|**NO**
|
||||||
|
- Enter new OS name: **NAME**
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
#### Change something else
|
||||||
|
- This PR will change something else: **YES**|**NO**
|
||||||
|
- Enter short description of changes: **DESCRIPTION**
|
||||||
|
-->
|
31
.github/workflows/lint-pr.yml
vendored
Normal file
31
.github/workflows/lint-pr.yml
vendored
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
name: "Lint Pull Request 🐙"
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- edited
|
||||||
|
- synchronize
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
main:
|
||||||
|
name: Validate pull request title
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- uses: amannn/action-semantic-pull-request@v5
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
# Opt-in to using the special "[WIP]" state
|
||||||
|
# This will prevent the PR title from being validated, and pull
|
||||||
|
# request checks will remain pending.
|
||||||
|
wip: true
|
||||||
|
# If the PR only contains a single commit, the action will validate that
|
||||||
|
# it matches the configured pattern.
|
||||||
|
validateSingleCommit: true
|
||||||
|
# Related to `validateSingleCommit` you can opt-in to validate that the PR
|
||||||
|
# title matches a single commit to avoid confusion.
|
||||||
|
validateSingleCommitMatchesPrTitle: true
|
90
README.md
90
README.md
|
@ -4,6 +4,7 @@
|
||||||
# Quickemu
|
# Quickemu
|
||||||
|
|
||||||
**Quickly create and run optimised Windows, macOS and Linux virtual machines:**
|
**Quickly create and run optimised Windows, macOS and Linux virtual machines:**
|
||||||
|
|
||||||
<img src=".github/screenshot.png" alt="Quickemu Screenshot" />
|
<img src=".github/screenshot.png" alt="Quickemu Screenshot" />
|
||||||
|
|
||||||
**Made with 💝 for <img src=".github/tux.png" align="top" width="24" alt="Tux (Linux)"/>**
|
**Made with 💝 for <img src=".github/tux.png" align="top" width="24" alt="Tux (Linux)"/>**
|
||||||
|
@ -22,15 +23,19 @@ decide what operating system you want to run, and Quickemu will figure
|
||||||
out the best way to do it for you.
|
out the best way to do it for you.
|
||||||
|
|
||||||
The original objective of the project was to [enable quick testing of
|
The original objective of the project was to [enable quick testing of
|
||||||
Linux distributions](https://github.com/quickemu-project/quickemu/wiki/02-Create-Linux-virtual-machines) where the virtual machine
|
Linux
|
||||||
configurations can be stored anywhere (such as external USB storage or
|
distributions](https://github.com/quickemu-project/quickemu/wiki/02-Create-Linux-virtual-machines)
|
||||||
your home directory) and no elevated permissions are required to run the
|
where the virtual machine configurations can be stored anywhere (such as
|
||||||
virtual machines.
|
external USB storage or your home directory) and no elevated permissions
|
||||||
|
are required to run the virtual machines.
|
||||||
|
|
||||||
**Today, Quickemu includes comprehensive support for [macOS](https://github.com/quickemu-project/quickemu/wiki/03-Create-macOS-virtual-machines),
|
**Today, Quickemu includes comprehensive support for
|
||||||
[Windows](https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines)**, most of the BSDs, novel non-Linux operating systems such as FreeDOS, Haiku, KolibriOS, OpenIndiana, ReactOS, and more.
|
[macOS](https://github.com/quickemu-project/quickemu/wiki/03-Create-macOS-virtual-machines),
|
||||||
|
[Windows](https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines)**,
|
||||||
|
most of the BSDs, novel non-Linux operating systems such as FreeDOS,
|
||||||
|
Haiku, KolibriOS, OpenIndiana, ReactOS, and more.
|
||||||
|
|
||||||
## Features
|
# Features
|
||||||
|
|
||||||
- **macOS** Sonoma, Ventura, Monterey, Big Sur, Catalina, Mojave &
|
- **macOS** Sonoma, Ventura, Monterey, Big Sur, Catalina, Mojave &
|
||||||
High Sierra
|
High Sierra
|
||||||
|
@ -58,40 +63,71 @@ virtual machines.
|
||||||
|
|
||||||
# Quick start
|
# Quick start
|
||||||
|
|
||||||
[Once Quickemu is installed](https://github.com/quickemu-project/quickemu/wiki/01-Installation), there are two simple steps to create and run a virtual machine:
|
[Once Quickemu is
|
||||||
|
installed](https://github.com/quickemu-project/quickemu/wiki/01-Installation),
|
||||||
|
there are two simple steps to create and run a virtual machine:
|
||||||
|
|
||||||
- `quickget` automatically downloads the ISO image for the operating system you want to run and creates a configuration file for the virtual machine.
|
- `quickget` automatically downloads the ISO image for the operating
|
||||||
|
system you want to run and creates a configuration file for the
|
||||||
|
virtual machine.
|
||||||
|
|
||||||
```shell
|
``` shell
|
||||||
quickget nixos unstable
|
quickget nixos unstable
|
||||||
```
|
```
|
||||||
|
|
||||||
- `quickemu` starts the virtual machine using the configuration file created by `quickget`.
|
- `quickemu` starts the virtual machine using the configuration file
|
||||||
|
created by `quickget`.
|
||||||
|
|
||||||
```shell
|
``` shell
|
||||||
quickemu --vm nixos-unstable.conf
|
quickemu --vm nixos-unstable.conf
|
||||||
```
|
```
|
||||||
- Execute `quickget` (with no arguments) to see a list of all the supported operating systems.
|
|
||||||
|
- Execute `quickget` (with no arguments) to see a list of all the
|
||||||
|
supported operating systems.
|
||||||
|
|
||||||
# Documentation
|
# Documentation
|
||||||
|
|
||||||
The wiki describes how to get up and running with Quickemu and also covers more advanced configuration and usage.
|
The wiki describes how to get up and running with Quickemu and also
|
||||||
|
covers more advanced configuration and usage.
|
||||||
|
|
||||||
- [**Installation**](https://github.com/quickemu-project/quickemu/wiki/01-Installation) 💾
|
- [**Installation**](https://github.com/quickemu-project/quickemu/wiki/01-Installation)
|
||||||
- [**Create Linux virtual machines**](https://github.com/quickemu-project/quickemu/wiki/02-Create-Linux-virtual-machines) 🐧
|
💾
|
||||||
- [**Create macOS virtual machines**](https://github.com/quickemu-project/quickemu/wiki/03-Create-macOS-virtual-machines) 🍏
|
- [**Create Linux virtual
|
||||||
- [**Create Windows virtual machines**](https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines) 🪟
|
machines**](https://github.com/quickemu-project/quickemu/wiki/02-Create-Linux-virtual-machines)
|
||||||
- [**Advanced quickemu configuration**](https://github.com/quickemu-project/quickemu/wiki/05-Advanced-quickemu-configuration) 🔧
|
🐧
|
||||||
- [**Advanced quickget features**](https://github.com/quickemu-project/quickemu/wiki/06-Advanced-quickget-features) 🤓
|
- [**Create macOS virtual
|
||||||
- [**Alternative frontends**](https://github.com/quickemu-project/quickemu/wiki/07-Alternative-frontends) 🧑💻
|
machines**](https://github.com/quickemu-project/quickemu/wiki/03-Create-macOS-virtual-machines)
|
||||||
- [**References**](https://github.com/quickemu-project/quickemu/wiki/08-References) 📚️
|
🍏
|
||||||
|
- [**Create Windows virtual
|
||||||
|
machines**](https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines)
|
||||||
|
🪟
|
||||||
|
- [**Advanced quickemu
|
||||||
|
configuration**](https://github.com/quickemu-project/quickemu/wiki/05-Advanced-quickemu-configuration)
|
||||||
|
🔧
|
||||||
|
- [**Advanced quickget
|
||||||
|
features**](https://github.com/quickemu-project/quickemu/wiki/06-Advanced-quickget-features)
|
||||||
|
🤓
|
||||||
|
- [**Alternative
|
||||||
|
frontends**](https://github.com/quickemu-project/quickemu/wiki/07-Alternative-frontends)
|
||||||
|
🧑💻
|
||||||
|
- [**References**](https://github.com/quickemu-project/quickemu/wiki/08-References)
|
||||||
|
📚️
|
||||||
|
|
||||||
# Contributing
|
# Contributing
|
||||||
|
|
||||||
We welcome contributions to Quickemu.
|
We welcome contributions to Quickemu.
|
||||||
|
|
||||||
- Help other Quickemu users by answering questions in the [Quickemu Discussions](https://github.com/quickemu-project/quickemu/discussions) 🛟
|
- Help other Quickemu users by answering questions in the [Quickemu
|
||||||
- Improve the documentation in [this README](https://github.com/quickemu-project/quickemu/edit/master/README.md) and the [Quickemu Wiki](https://github.com/quickemu-project/quickemu/wiki) 📖
|
Discussions](https://github.com/quickemu-project/quickemu/discussions)
|
||||||
- File bug reports and feature requests in the [Quickemu Issues](https://github.com/quickemu-project/quickemu/issues) 📁
|
🛟
|
||||||
- Submit [Quickemu Pull requests](https://github.com/quickemu-project/quickemu/pulls) to fix bugs 🐞 or add new features ✨
|
- Improve the documentation in [this
|
||||||
- [Sponsor the project](https://github.com/sponsors/flexiondotorg) 💖
|
README](https://github.com/quickemu-project/quickemu/edit/master/README.md)
|
||||||
|
and the [Quickemu
|
||||||
|
Wiki](https://github.com/quickemu-project/quickemu/wiki) 📖
|
||||||
|
- File bug reports and feature requests in the [Quickemu
|
||||||
|
Issues](https://github.com/quickemu-project/quickemu/issues) 📁
|
||||||
|
- Submit [Quickemu Pull
|
||||||
|
requests](https://github.com/quickemu-project/quickemu/pulls) to fix
|
||||||
|
bugs 🐞 or add new features ✨
|
||||||
|
- Commits messages must [conform to the Conventional Commits spcification](https://www.conventionalcommits.org/).
|
||||||
|
- [Sponsor the project](https://github.com/sponsors/flexiondotorg) 💖
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit ddfea9dc4c9b40e3136c7462eba9bbf45e84e88b
|
Subproject commit bfd2e4ba571279453b0a725c379fc1e2c4e24906
|
217
docs/quickemu.1
217
docs/quickemu.1
|
@ -1,6 +1,6 @@
|
||||||
.\" Automatically generated by Pandoc 3.1.13
|
.\" Automatically generated by Pandoc 3.1.13
|
||||||
.\"
|
.\"
|
||||||
.TH "QUICKEMU" "1" "April 30, 2024" "quickemu" "Quickemu User Manual"
|
.TH "QUICKEMU" "1" "May 4, 2024" "quickemu" "Quickemu User Manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
quickemu \- A quick VM builder and manager
|
quickemu \- A quick VM builder and manager
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -142,7 +142,7 @@ Print version
|
||||||
.TP
|
.TP
|
||||||
\f[B]quickemu \[en]vm ubuntu\-mate\-22.04.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]
|
Launches the VM specified in the file \f[I]ubuntu\-mate\-22.04.conf\f[R]
|
||||||
.SS Introduction
|
.SH Introduction
|
||||||
\f[B]Quickemu\f[R] is a wrapper for the excellent \c
|
\f[B]Quickemu\f[R] is a wrapper for the excellent \c
|
||||||
.UR https://www.qemu.org/
|
.UR https://www.qemu.org/
|
||||||
QEMU
|
QEMU
|
||||||
|
@ -152,14 +152,25 @@ rather than expose exhaustive configuration options.
|
||||||
You decide what operating system you want to run, and Quickemu will
|
You decide what operating system you want to run, and Quickemu will
|
||||||
figure out the best way to do it for you.
|
figure out the best way to do it for you.
|
||||||
.PP
|
.PP
|
||||||
The original objective of the project was to enable quick testing of
|
The original objective of the project was to \c
|
||||||
Linux distributions where the virtual machine configurations can be
|
.UR https://github.com/quickemu-project/quickemu/wiki/02-Create-Linux-virtual-machines
|
||||||
stored anywhere (such as external USB storage or your home directory)
|
enable quick testing of Linux distributions
|
||||||
and no elevated permissions are required to run the virtual machines.
|
.UE \c
|
||||||
|
\ where the virtual machine configurations can be stored anywhere (such
|
||||||
|
as external USB storage or your home directory) and no elevated
|
||||||
|
permissions are required to run the virtual machines.
|
||||||
.PP
|
.PP
|
||||||
\f[B]Quickemu now also includes comprehensive support for macOS and
|
\f[B]Today, Quickemu includes comprehensive support for \c
|
||||||
Windows\f[R].
|
.UR https://github.com/quickemu-project/quickemu/wiki/03-Create-macOS-virtual-machines
|
||||||
.SS Features
|
macOS
|
||||||
|
.UE \c
|
||||||
|
, \c
|
||||||
|
.UR https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines
|
||||||
|
Windows
|
||||||
|
.UE \c
|
||||||
|
\f[R], most of the BSDs, novel non\-Linux operating systems such as
|
||||||
|
FreeDOS, Haiku, KolibriOS, OpenIndiana, ReactOS, and more.
|
||||||
|
.SH Features
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[B]macOS\f[R] Sonoma, Ventura, Monterey, Big Sur, Catalina, Mojave &
|
\f[B]macOS\f[R] Sonoma, Ventura, Monterey, Big Sur, Catalina, Mojave &
|
||||||
High Sierra
|
High Sierra
|
||||||
|
@ -176,7 +187,7 @@ official Ubuntu flavours
|
||||||
.UE \c
|
.UE \c
|
||||||
\f[R]
|
\f[R]
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[B]Over 360 operating system editions are supported!\f[R]
|
\f[B]Nearly 1000 operating system editions are supported!\f[R]
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Full SPICE support including host/guest clipboard sharing
|
Full SPICE support including host/guest clipboard sharing
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
|
@ -308,11 +319,6 @@ swtpm
|
||||||
.UE \c
|
.UE \c
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\c
|
\c
|
||||||
.UR https://www.gnu.org/software/wget/
|
|
||||||
Wget
|
|
||||||
.UE \c
|
|
||||||
.IP \[bu] 2
|
|
||||||
\c
|
|
||||||
.UR https://www.freedesktop.org/wiki/Software/xdg-user-dirs/
|
.UR https://www.freedesktop.org/wiki/Software/xdg-user-dirs/
|
||||||
xdg\-user\-dirs
|
xdg\-user\-dirs
|
||||||
.UE \c
|
.UE \c
|
||||||
|
@ -353,12 +359,12 @@ These examples may save a little typing:
|
||||||
This also applies to derivatives:
|
This also applies to derivatives:
|
||||||
.IP
|
.IP
|
||||||
.EX
|
.EX
|
||||||
sudo apt install qemu bash coreutils curl ovmf grep jq lsb\-base procps python3 genisoimage usbutils util\-linux sed socat spice\-client\-gtk libtss2\-tcti\-swtpm0 wget xdg\-user\-dirs zsync unzip
|
sudo apt install qemu bash coreutils curl ovmf grep jq lsb\-base procps python3 genisoimage usbutils util\-linux sed socat spice\-client\-gtk libtss2\-tcti\-swtpm0 xdg\-user\-dirs zsync unzip
|
||||||
.EE
|
.EE
|
||||||
.SS Install requirements on Fedora hosts
|
.SS Install requirements on Fedora hosts
|
||||||
.IP
|
.IP
|
||||||
.EX
|
.EX
|
||||||
sudo dnf install qemu bash coreutils curl edk2\-tools grep jq lsb procps python3 genisoimage usbutils util\-linux sed socat spice\-gtk\-tools swtpm wget xdg\-user\-dirs xrandr unzip
|
sudo dnf install qemu bash coreutils curl edk2\-tools grep jq lsb procps python3 genisoimage usbutils util\-linux sed socat spice\-gtk\-tools swtpm xdg\-user\-dirs xrandr unzip
|
||||||
.EE
|
.EE
|
||||||
.SS Install requirements on macOS hosts
|
.SS Install requirements on macOS hosts
|
||||||
This is a \f[B]work in progress\f[R] (see \c
|
This is a \f[B]work in progress\f[R] (see \c
|
||||||
|
@ -368,7 +374,7 @@ issue 248
|
||||||
\ for other steps and changes that may enable running on MacOS)
|
\ for other steps and changes that may enable running on MacOS)
|
||||||
.IP
|
.IP
|
||||||
.EX
|
.EX
|
||||||
brew install qemu bash coreutils curl grep jq python\[at]3.10 cdrtools gnu\-sed spice\-gtk wget zsync
|
brew install qemu bash coreutils curl grep jq python\[at]3.10 cdrtools gnu\-sed spice\-gtk zsync
|
||||||
.EE
|
.EE
|
||||||
.SS \c
|
.SS \c
|
||||||
.UR https://github.com/quickemu-project/quickemu/wiki/07-Alternative-frontends
|
.UR https://github.com/quickemu-project/quickemu/wiki/07-Alternative-frontends
|
||||||
|
@ -512,19 +518,17 @@ wiki
|
||||||
You can also use \f[CR]quickget\f[R] with advanced options :
|
You can also use \f[CR]quickget\f[R] with advanced options :
|
||||||
.IP
|
.IP
|
||||||
.EX
|
.EX
|
||||||
\-[12345] <os> : Show info* about OS
|
\-[12345] <os> : Show info* about OS
|
||||||
\-\-download (\-d) <os> <re> [ed] : Download the ISO only; no VM configuration
|
\-\-download (\-d) <os> <re> [ed] : Download image; no VM configuration
|
||||||
\-\-create\-config (\-cc) <os> [path/url]: Create default VM config for image
|
\-\-create\-config (\-cc) <os> [path/url]: Create default VM config for image
|
||||||
\-\-open\-homepage (\-o) <os> : Open homepage for the OS
|
\-\-open\-homepage (\-o) <os> : Open homepage for the OS
|
||||||
\-\-version (\-v) : Show version
|
\-\-version (\-v) : Show version
|
||||||
\-\-help (\-h) : Show this help message
|
\-\-help (\-h) : Show this help message
|
||||||
\-\-url (\-u) <os> <re> [ed] : Show download URL for an OS release/edition
|
\-\-url (\-u) [os] [re] [ed] : Show image URL(s)
|
||||||
\-\-url\-all (\-ua) <os> : Show all download URLs for an OS
|
\-\-check (\-c) [os] [re] [ed] : Check image URL(s)
|
||||||
\-\-check (\-c) <os> [re] [ed] : Check download an OS release/edition is available
|
\-\-list (\-l) : List all supported systems
|
||||||
\-\-check\-all (\-ca) <os> : Check all downloads for an OS are available
|
\-\-list\-csv (\-lc) : List everything in csv format
|
||||||
\-\-list (\-l) : List all supported systems in plain text
|
\-\-list\-json (\-lj) : List everything in json format
|
||||||
\-\-list\-csv (\-lc) : List all supported systems in csv format
|
|
||||||
\-\-list\-json (\-lj) : List all supported systems in json format
|
|
||||||
.EE
|
.EE
|
||||||
.PP
|
.PP
|
||||||
Here are some typical uses
|
Here are some typical uses
|
||||||
|
@ -651,6 +655,8 @@ wiki
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[CR]nixos\f[R] (NixOS)
|
\f[CR]nixos\f[R] (NixOS)
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
|
\f[CR]nwg\-shell\f[R] (nwg\-shell)
|
||||||
|
.IP \[bu] 2
|
||||||
\f[CR]openbsd\f[R] (OpenBSD)
|
\f[CR]openbsd\f[R] (OpenBSD)
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[CR]openindiana\f[R] (OpenIndiana)
|
\f[CR]openindiana\f[R] (OpenIndiana)
|
||||||
|
@ -876,115 +882,13 @@ Sur and newer, but not previous releases.
|
||||||
And VirtIO Block Media (disks) are supported/stable in Catalina and
|
And VirtIO Block Media (disks) are supported/stable in Catalina and
|
||||||
newer.
|
newer.
|
||||||
.RE
|
.RE
|
||||||
.SS macOS compatibility
|
.PP
|
||||||
There are some considerations when running macOS via Quickemu.
|
There is further advice and information about macOS guests in the
|
||||||
.IP \[bu] 2
|
project \c
|
||||||
Supported macOS releases:
|
.UR https://github.com/quickemu-project/quickemu/wiki/03-Create-macOS-virtual-machines#automatically-create-macos-guests
|
||||||
.RS 2
|
wiki
|
||||||
.IP \[bu] 2
|
|
||||||
High Sierra
|
|
||||||
.IP \[bu] 2
|
|
||||||
Mojave
|
|
||||||
.IP \[bu] 2
|
|
||||||
Catalina \f[B](Recommended)\f[R]
|
|
||||||
.IP \[bu] 2
|
|
||||||
Big Sur
|
|
||||||
.IP \[bu] 2
|
|
||||||
Monterey
|
|
||||||
.IP \[bu] 2
|
|
||||||
Ventura
|
|
||||||
.IP \[bu] 2
|
|
||||||
Sonoma
|
|
||||||
.RE
|
|
||||||
.IP \[bu] 2
|
|
||||||
\f[CR]quickemu\f[R] will automatically download the required \c
|
|
||||||
.UR https://github.com/acidanthera/OpenCorePkg
|
|
||||||
OpenCore
|
|
||||||
.UE \c
|
|
||||||
\ bootloader and OVMF firmware from \c
|
|
||||||
.UR https://github.com/kholia/OSX-KVM
|
|
||||||
OSX\-KVM
|
|
||||||
.UE \c
|
.UE \c
|
||||||
\&.
|
\&.
|
||||||
.IP \[bu] 2
|
|
||||||
Optimised by default, but no GPU acceleration is available.
|
|
||||||
.RS 2
|
|
||||||
.IP \[bu] 2
|
|
||||||
Host CPU vendor is detected and guest CPU is optimised accordingly.
|
|
||||||
.IP \[bu] 2
|
|
||||||
\c
|
|
||||||
.UR https://www.kraxel.org/blog/2019/06/macos-qemu-guest/
|
|
||||||
VirtIO Block Media
|
|
||||||
.UE \c
|
|
||||||
\ is used for the system disk where supported.
|
|
||||||
.IP \[bu] 2
|
|
||||||
\c
|
|
||||||
.UR http://philjordan.eu/osx-virt/
|
|
||||||
VirtIO \f[CR]usb\-tablet\f[R]
|
|
||||||
.UE \c
|
|
||||||
\ is used for the mouse.
|
|
||||||
.IP \[bu] 2
|
|
||||||
VirtIO Network (\f[CR]virtio\-net\f[R]) is supported and enabled on
|
|
||||||
macOS Big Sur and newer but previous releases use \f[CR]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.
|
|
||||||
.RE
|
|
||||||
.IP \[bu] 2
|
|
||||||
USB host and SPICE pass\-through is:
|
|
||||||
.RS 2
|
|
||||||
.IP \[bu] 2
|
|
||||||
UHCI (USB 2.0) on macOS Catalina and earlier.
|
|
||||||
.IP \[bu] 2
|
|
||||||
XHCI (USB 3.0) on macOS Big Sur and newer.
|
|
||||||
.RE
|
|
||||||
.IP \[bu] 2
|
|
||||||
Display resolution can only be changed via macOS System Preferences.
|
|
||||||
.IP \[bu] 2
|
|
||||||
\f[B]Full Duplex audio requires \c
|
|
||||||
.UR https://github.com/chris1111/VoodooHDA-OC
|
|
||||||
VoodooHDA OC
|
|
||||||
.UE \c
|
|
||||||
\ or pass\-through a USB audio\-device to the macOS guest VM\f[R].
|
|
||||||
.IP \[bu] 2
|
|
||||||
NOTE!
|
|
||||||
\c
|
|
||||||
.UR https://disable-gatekeeper.github.io/
|
|
||||||
Gatekeeper
|
|
||||||
.UE \c
|
|
||||||
\ and \c
|
|
||||||
.UR https://developer.apple.com/documentation/security/disabling_and_enabling_system_integrity_protection
|
|
||||||
System Integrity Protection (SIP)
|
|
||||||
.UE \c
|
|
||||||
\ need to be disabled to install VoodooHDA OC
|
|
||||||
.IP \[bu] 2
|
|
||||||
File sharing between guest and host is available via \c
|
|
||||||
.UR https://wiki.qemu.org/Documentation/9psetup
|
|
||||||
virtio\-9p
|
|
||||||
.UE \c
|
|
||||||
\ and \c
|
|
||||||
.UR https://gitlab.gnome.org/GNOME/phodav/-/merge_requests/24
|
|
||||||
SPICE webdavd
|
|
||||||
.UE \c
|
|
||||||
\&.
|
|
||||||
.IP \[bu] 2
|
|
||||||
Copy/paste via SPICE agent is \f[B]not available on macOS\f[R].
|
|
||||||
.SS macOS App Store
|
|
||||||
If you see \f[I]\[lq]Your device or computer could not be
|
|
||||||
verified\[rq]\f[R] when you try to login to the App Store, make sure
|
|
||||||
that your wired ethernet device is \f[CR]en0\f[R].
|
|
||||||
Use \f[CR]ifconfig\f[R] in a terminal to verify this.
|
|
||||||
.PP
|
|
||||||
If the wired ethernet device is not \f[CR]en0\f[R], then then go to
|
|
||||||
\f[I]System Preferences\f[R] \-> \f[I]Network\f[R], delete all the
|
|
||||||
network devices and apply the changes.
|
|
||||||
Next, open a terminal and run the following:
|
|
||||||
.IP
|
|
||||||
.EX
|
|
||||||
sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist
|
|
||||||
.EE
|
|
||||||
.PP
|
|
||||||
Now reboot, and the App Store should work.
|
|
||||||
.SS \c
|
.SS \c
|
||||||
.UR https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines
|
.UR https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines
|
||||||
Creating Windows guests
|
Creating Windows guests
|
||||||
|
@ -1048,44 +952,19 @@ Username: \f[CR]Quickemu\f[R]
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Password: \f[CR]quickemu\f[R]
|
Password: \f[CR]quickemu\f[R]
|
||||||
.RE
|
.RE
|
||||||
.SS Regional versions
|
|
||||||
By default \f[CR]quickget\f[R] will download the \f[I]\[lq]English
|
|
||||||
International\[rq]\f[R] release (\f[I]\[lq]English (United
|
|
||||||
States)\[rq]\f[R] for server releases), but you can optionally specify
|
|
||||||
one of the supported languages: For example:
|
|
||||||
.IP
|
|
||||||
.EX
|
|
||||||
quickget windows 11 \[dq]Chinese (Traditional)\[dq]
|
|
||||||
.EE
|
|
||||||
.PP
|
.PP
|
||||||
The default Windows 11 configuration looks like this:
|
Further information is available from the project \c
|
||||||
.IP
|
.UR https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines
|
||||||
.EX
|
wiki
|
||||||
guest_os=\[dq]windows\[dq]
|
.UE \c
|
||||||
disk_img=\[dq]windows\-11/disk.qcow2\[dq]
|
|
||||||
iso=\[dq]windows\-11/windows\-11.iso\[dq]
|
|
||||||
fixed_iso=\[dq]windows\-11/virtio\-win.iso\[dq]
|
|
||||||
tpm=\[dq]on\[dq]
|
|
||||||
secureboot=\[dq]off\[dq]
|
|
||||||
.EE
|
|
||||||
.IP \[bu] 2
|
|
||||||
\f[CR]guest_os=\[dq]windows\[dq]\f[R] instructs \f[CR]quickemu\f[R] to
|
|
||||||
optimise for Windows.
|
|
||||||
.IP \[bu] 2
|
|
||||||
\f[CR]fixed_iso=\f[R] specifies the ISO image that provides VirtIO
|
|
||||||
drivers.
|
|
||||||
.IP \[bu] 2
|
|
||||||
\f[CR]tpm=\[dq]on\[dq]\f[R] instructs \f[CR]quickemu\f[R] to create a
|
|
||||||
software emulated TPM device using \f[CR]swtpm\f[R].
|
|
||||||
.SS Configuration
|
.SS Configuration
|
||||||
Here are the usage instructions:
|
Here are the usage instructions:
|
||||||
.IP
|
.IP
|
||||||
.EX
|
.EX
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
quickemu \-\-vm ubuntu.conf [optional params]
|
quickemu \-\-vm ubuntu.conf <arguments>
|
||||||
|
|
||||||
List of optional parameters:
|
Arguments
|
||||||
\-\-access : Enable remote spice access support. \[aq]local\[aq] (default), \[aq]remote\[aq], \[aq]clientipaddress\[aq]
|
\-\-access : Enable remote spice access support. \[aq]local\[aq] (default), \[aq]remote\[aq], \[aq]clientipaddress\[aq]
|
||||||
\-\-braille : Enable braille support. Requires SDL.
|
\-\-braille : Enable braille support. Requires SDL.
|
||||||
\-\-delete\-disk : Delete the disk image and EFI variables
|
\-\-delete\-disk : Delete the disk image and EFI variables
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
author: Martin Wimpress
|
author: Martin Wimpress
|
||||||
date: April 30, 2024
|
date: May 4, 2024
|
||||||
footer: quickemu
|
footer: quickemu
|
||||||
header: Quickemu User Manual
|
header: Quickemu User Manual
|
||||||
section: 1
|
section: 1
|
||||||
|
@ -144,7 +144,7 @@ You can also pass optional parameters
|
||||||
**quickemu --vm ubuntu-mate-22.04.conf**
|
**quickemu --vm ubuntu-mate-22.04.conf**
|
||||||
: Launches the VM specified in the file *ubuntu-mate-22.04.conf*
|
: Launches the VM specified in the file *ubuntu-mate-22.04.conf*
|
||||||
|
|
||||||
## Introduction
|
# Introduction
|
||||||
|
|
||||||
**Quickemu** is a wrapper for the excellent
|
**Quickemu** is a wrapper for the excellent
|
||||||
[QEMU](https://www.qemu.org/) that attempts to automatically *"do the
|
[QEMU](https://www.qemu.org/) that attempts to automatically *"do the
|
||||||
|
@ -152,24 +152,27 @@ right thing"*, rather than expose exhaustive configuration options. You
|
||||||
decide what operating system you want to run, and Quickemu will figure
|
decide what operating system you want to run, and Quickemu will figure
|
||||||
out the best way to do it for you.
|
out the best way to do it for you.
|
||||||
|
|
||||||
The original objective of the project was to enable [quick testing of
|
The original objective of the project was to [enable quick testing of
|
||||||
Linux distributions](#creating-linux-guests-) where the virtual machine
|
Linux
|
||||||
configurations can be stored anywhere (such as external USB storage or
|
distributions](https://github.com/quickemu-project/quickemu/wiki/02-Create-Linux-virtual-machines)
|
||||||
your home directory) and no elevated permissions are required to run the
|
where the virtual machine configurations can be stored anywhere (such as
|
||||||
virtual machines.
|
external USB storage or your home directory) and no elevated permissions
|
||||||
|
are required to run the virtual machines.
|
||||||
|
|
||||||
**Quickemu now also includes comprehensive support for
|
**Today, Quickemu includes comprehensive support for
|
||||||
[macOS](#creating-macos-guests-) and
|
[macOS](https://github.com/quickemu-project/quickemu/wiki/03-Create-macOS-virtual-machines),
|
||||||
[Windows](#creating-windows-guests-)**.
|
[Windows](https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines)**,
|
||||||
|
most of the BSDs, novel non-Linux operating systems such as FreeDOS,
|
||||||
|
Haiku, KolibriOS, OpenIndiana, ReactOS, and more.
|
||||||
|
|
||||||
## Features
|
# Features
|
||||||
|
|
||||||
- **macOS** Sonoma, Ventura, Monterey, Big Sur, Catalina, Mojave &
|
- **macOS** Sonoma, Ventura, Monterey, Big Sur, Catalina, Mojave &
|
||||||
High Sierra
|
High Sierra
|
||||||
- **Windows** 10 and 11 including TPM 2.0
|
- **Windows** 10 and 11 including TPM 2.0
|
||||||
- [Ubuntu](https://ubuntu.com/desktop) and all the **[official Ubuntu
|
- [Ubuntu](https://ubuntu.com/desktop) and all the **[official Ubuntu
|
||||||
flavours](https://ubuntu.com/download/flavours)**
|
flavours](https://ubuntu.com/download/flavours)**
|
||||||
- **Over 360 operating system editions are supported!**
|
- **Nearly 1000 operating system editions are supported!**
|
||||||
- Full SPICE support including host/guest clipboard sharing
|
- Full SPICE support including host/guest clipboard sharing
|
||||||
- VirtIO-webdavd file sharing for Linux and Windows guests
|
- VirtIO-webdavd file sharing for Linux and Windows guests
|
||||||
- VirtIO-9p file sharing for Linux and macOS guests
|
- VirtIO-9p file sharing for Linux and macOS guests
|
||||||
|
@ -345,19 +348,17 @@ may have further information.
|
||||||
You can also use `quickget` with advanced options :
|
You can also use `quickget` with advanced options :
|
||||||
|
|
||||||
``` text
|
``` text
|
||||||
-[12345] <os> : Show info* about OS
|
-[12345] <os> : Show info* about OS
|
||||||
--download (-d) <os> <re> [ed] : Download the ISO only; no VM configuration
|
--download (-d) <os> <re> [ed] : Download image; no VM configuration
|
||||||
--create-config (-cc) <os> [path/url]: Create default VM config for image
|
--create-config (-cc) <os> [path/url]: Create default VM config for image
|
||||||
--open-homepage (-o) <os> : Open homepage for the OS
|
--open-homepage (-o) <os> : Open homepage for the OS
|
||||||
--version (-v) : Show version
|
--version (-v) : Show version
|
||||||
--help (-h) : Show this help message
|
--help (-h) : Show this help message
|
||||||
--url (-u) <os> <re> [ed] : Show download URL for an OS release/edition
|
--url (-u) [os] [re] [ed] : Show image URL(s)
|
||||||
--url-all (-ua) <os> : Show all download URLs for an OS
|
--check (-c) [os] [re] [ed] : Check image URL(s)
|
||||||
--check (-c) <os> [re] [ed] : Check download an OS release/edition is available
|
--list (-l) : List all supported systems
|
||||||
--check-all (-ca) <os> : Check all downloads for an OS are available
|
--list-csv (-lc) : List everything in csv format
|
||||||
--list (-l) : List all supported systems in plain text
|
--list-json (-lj) : List everything in json format
|
||||||
--list-csv (-lc) : List all supported systems in csv format
|
|
||||||
--list-json (-lj) : List all supported systems in json format
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Here are some typical uses
|
Here are some typical uses
|
||||||
|
@ -433,6 +434,7 @@ Further information is available from the project
|
||||||
- `netbsd` (NetBSD)
|
- `netbsd` (NetBSD)
|
||||||
- `nitrux` (Nitrux)
|
- `nitrux` (Nitrux)
|
||||||
- `nixos` (NixOS)
|
- `nixos` (NixOS)
|
||||||
|
- `nwg-shell` (nwg-shell)
|
||||||
- `openbsd` (OpenBSD)
|
- `openbsd` (OpenBSD)
|
||||||
- `openindiana` (OpenIndiana)
|
- `openindiana` (OpenIndiana)
|
||||||
- `opensuse` (openSUSE)
|
- `opensuse` (openSUSE)
|
||||||
|
@ -587,64 +589,9 @@ macos_release="catalina"
|
||||||
- And VirtIO Block Media (disks) are supported/stable in Catalina
|
- And VirtIO Block Media (disks) are supported/stable in Catalina
|
||||||
and newer.
|
and newer.
|
||||||
|
|
||||||
### macOS compatibility
|
There is further advice and information about macOS guests in the
|
||||||
|
project
|
||||||
There are some considerations when running macOS via Quickemu.
|
[wiki](https://github.com/quickemu-project/quickemu/wiki/03-Create-macOS-virtual-machines#automatically-create-macos-guests).
|
||||||
|
|
||||||
- Supported macOS releases:
|
|
||||||
- High Sierra
|
|
||||||
- Mojave
|
|
||||||
- Catalina **(Recommended)**
|
|
||||||
- Big Sur
|
|
||||||
- Monterey
|
|
||||||
- Ventura
|
|
||||||
- Sonoma
|
|
||||||
- `quickemu` will automatically download the required
|
|
||||||
[OpenCore](https://github.com/acidanthera/OpenCorePkg) bootloader
|
|
||||||
and OVMF firmware from [OSX-KVM](https://github.com/kholia/OSX-KVM).
|
|
||||||
- Optimised by default, but no GPU acceleration is available.
|
|
||||||
- Host CPU vendor is detected and guest CPU is optimised
|
|
||||||
accordingly.
|
|
||||||
- [VirtIO Block
|
|
||||||
Media](https://www.kraxel.org/blog/2019/06/macos-qemu-guest/) is
|
|
||||||
used for the system disk where supported.
|
|
||||||
- [VirtIO `usb-tablet`](http://philjordan.eu/osx-virt/) is used
|
|
||||||
for the mouse.
|
|
||||||
- VirtIO Network (`virtio-net`) is supported and enabled on macOS
|
|
||||||
Big Sur and newer but previous releases use `vmxnet3`.
|
|
||||||
- VirtIO Memory Ballooning is supported and enabled on macOS Big
|
|
||||||
Sur and newer but disabled for other support macOS releases.
|
|
||||||
- USB host and SPICE pass-through is:
|
|
||||||
- UHCI (USB 2.0) on macOS Catalina and earlier.
|
|
||||||
- XHCI (USB 3.0) on macOS Big Sur and newer.
|
|
||||||
- Display resolution can only be changed via macOS System Preferences.
|
|
||||||
- **Full Duplex audio requires [VoodooHDA
|
|
||||||
OC](https://github.com/chris1111/VoodooHDA-OC) or pass-through a USB
|
|
||||||
audio-device to the macOS guest VM**.
|
|
||||||
- NOTE! [Gatekeeper](https://disable-gatekeeper.github.io/) and
|
|
||||||
[System Integrity Protection
|
|
||||||
(SIP)](https://developer.apple.com/documentation/security/disabling_and_enabling_system_integrity_protection)
|
|
||||||
need to be disabled to install VoodooHDA OC
|
|
||||||
- File sharing between guest and host is available via
|
|
||||||
[virtio-9p](https://wiki.qemu.org/Documentation/9psetup) and [SPICE
|
|
||||||
webdavd](https://gitlab.gnome.org/GNOME/phodav/-/merge_requests/24).
|
|
||||||
- Copy/paste via SPICE agent is **not available on macOS**.
|
|
||||||
|
|
||||||
### macOS App Store
|
|
||||||
|
|
||||||
If you see *"Your device or computer could not be verified"* when you
|
|
||||||
try to login to the App Store, make sure that your wired ethernet device
|
|
||||||
is `en0`. Use `ifconfig` in a terminal to verify this.
|
|
||||||
|
|
||||||
If the wired ethernet device is not `en0`, then then go to *System
|
|
||||||
Preferences* -\> *Network*, delete all the network devices and apply the
|
|
||||||
changes. Next, open a terminal and run the following:
|
|
||||||
|
|
||||||
``` shell
|
|
||||||
sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist
|
|
||||||
```
|
|
||||||
|
|
||||||
Now reboot, and the App Store should work.
|
|
||||||
|
|
||||||
## [Creating Windows guests](https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines) 🪟
|
## [Creating Windows guests](https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines) 🪟
|
||||||
|
|
||||||
|
@ -680,42 +627,18 @@ quickemu --vm windows-11.conf
|
||||||
- Username: `Quickemu`
|
- Username: `Quickemu`
|
||||||
- Password: `quickemu`
|
- Password: `quickemu`
|
||||||
|
|
||||||
### Regional versions
|
Further information is available from the project
|
||||||
|
[wiki](https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines)
|
||||||
By default `quickget` will download the *"English International"*
|
|
||||||
release (*"English (United States)"* for server releases), but you can
|
|
||||||
optionally specify one of the supported languages: For example:
|
|
||||||
|
|
||||||
``` shell
|
|
||||||
quickget windows 11 "Chinese (Traditional)"
|
|
||||||
```
|
|
||||||
|
|
||||||
The default Windows 11 configuration looks like this:
|
|
||||||
|
|
||||||
``` shell
|
|
||||||
guest_os="windows"
|
|
||||||
disk_img="windows-11/disk.qcow2"
|
|
||||||
iso="windows-11/windows-11.iso"
|
|
||||||
fixed_iso="windows-11/virtio-win.iso"
|
|
||||||
tpm="on"
|
|
||||||
secureboot="off"
|
|
||||||
```
|
|
||||||
|
|
||||||
- `guest_os="windows"` instructs `quickemu` to optimise for Windows.
|
|
||||||
- `fixed_iso=` specifies the ISO image that provides VirtIO drivers.
|
|
||||||
- `tpm="on"` instructs `quickemu` to create a software emulated TPM
|
|
||||||
device using `swtpm`.
|
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
Here are the usage instructions:
|
Here are the usage instructions:
|
||||||
|
|
||||||
``` text
|
``` text
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
quickemu --vm ubuntu.conf [optional params]
|
quickemu --vm ubuntu.conf <arguments>
|
||||||
|
|
||||||
List of optional parameters:
|
Arguments
|
||||||
--access : Enable remote spice access support. 'local' (default), 'remote', 'clientipaddress'
|
--access : Enable remote spice access support. 'local' (default), 'remote', 'clientipaddress'
|
||||||
--braille : Enable braille support. Requires SDL.
|
--braille : Enable braille support. Requires SDL.
|
||||||
--delete-disk : Delete the disk image and EFI variables
|
--delete-disk : Delete the disk image and EFI variables
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
.\" Automatically generated by Pandoc 3.1.13
|
.\" Automatically generated by Pandoc 3.1.13
|
||||||
.\"
|
.\"
|
||||||
.TH "QUICKEMU_CONF" "1" "April 30, 2024" "quickemu_conf" "Quickemu Configuration Manual"
|
.TH "QUICKEMU_CONF" "1" "May 4, 2024" "quickemu_conf" "Quickemu Configuration Manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
quickemu_conf \- Options and parameters in the quickemu <vm>.conf
|
quickemu_conf \- Options and parameters in the quickemu <vm>.conf
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
author: Martin Wimpress
|
author: Martin Wimpress
|
||||||
date: April 30, 2024
|
date: May 4, 2024
|
||||||
footer: quickemu_conf
|
footer: quickemu_conf
|
||||||
header: Quickemu Configuration Manual
|
header: Quickemu Configuration Manual
|
||||||
section: 1
|
section: 1
|
||||||
|
|
172
docs/quickget.1
172
docs/quickget.1
|
@ -1,6 +1,6 @@
|
||||||
.\" Automatically generated by Pandoc 3.1.13
|
.\" Automatically generated by Pandoc 3.1.13
|
||||||
.\"
|
.\"
|
||||||
.TH "QUICKGET" "1" "April 30, 2024" "quickget" "Quickget User Manual"
|
.TH "QUICKGET" "1" "May 4, 2024" "quickget" "Quickget User Manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
quickget \- download and prepare materials for building a quickemu VM
|
quickget \- download and prepare materials for building a quickemu VM
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -110,19 +110,17 @@ wiki
|
||||||
You can also use \f[CR]quickget\f[R] with advanced options :
|
You can also use \f[CR]quickget\f[R] with advanced options :
|
||||||
.IP
|
.IP
|
||||||
.EX
|
.EX
|
||||||
\-[12345] <os> : Show info* about OS
|
\-[12345] <os> : Show info* about OS
|
||||||
\-\-download (\-d) <os> <re> [ed] : Download the ISO only; no VM configuration
|
\-\-download (\-d) <os> <re> [ed] : Download image; no VM configuration
|
||||||
\-\-create\-config (\-cc) <os> [path/url]: Create default VM config for image
|
\-\-create\-config (\-cc) <os> [path/url]: Create default VM config for image
|
||||||
\-\-open\-homepage (\-o) <os> : Open homepage for the OS
|
\-\-open\-homepage (\-o) <os> : Open homepage for the OS
|
||||||
\-\-version (\-v) : Show version
|
\-\-version (\-v) : Show version
|
||||||
\-\-help (\-h) : Show this help message
|
\-\-help (\-h) : Show this help message
|
||||||
\-\-url (\-u) <os> <re> [ed] : Show download URL for an OS release/edition
|
\-\-url (\-u) [os] [re] [ed] : Show image URL(s)
|
||||||
\-\-url\-all (\-ua) <os> : Show all download URLs for an OS
|
\-\-check (\-c) [os] [re] [ed] : Check image URL(s)
|
||||||
\-\-check (\-c) <os> [re] [ed] : Check download an OS release/edition is available
|
\-\-list (\-l) : List all supported systems
|
||||||
\-\-check\-all (\-ca) <os> : Check all downloads for an OS are available
|
\-\-list\-csv (\-lc) : List everything in csv format
|
||||||
\-\-list (\-l) : List all supported systems in plain text
|
\-\-list\-json (\-lj) : List everything in json format
|
||||||
\-\-list\-csv (\-lc) : List all supported systems in csv format
|
|
||||||
\-\-list\-json (\-lj) : List all supported systems in json format
|
|
||||||
.EE
|
.EE
|
||||||
.PP
|
.PP
|
||||||
Here are some typical uses
|
Here are some typical uses
|
||||||
|
@ -249,6 +247,8 @@ wiki
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[CR]nixos\f[R] (NixOS)
|
\f[CR]nixos\f[R] (NixOS)
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
|
\f[CR]nwg\-shell\f[R] (nwg\-shell)
|
||||||
|
.IP \[bu] 2
|
||||||
\f[CR]openbsd\f[R] (OpenBSD)
|
\f[CR]openbsd\f[R] (OpenBSD)
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[CR]openindiana\f[R] (OpenIndiana)
|
\f[CR]openindiana\f[R] (OpenIndiana)
|
||||||
|
@ -474,115 +474,13 @@ Sur and newer, but not previous releases.
|
||||||
And VirtIO Block Media (disks) are supported/stable in Catalina and
|
And VirtIO Block Media (disks) are supported/stable in Catalina and
|
||||||
newer.
|
newer.
|
||||||
.RE
|
.RE
|
||||||
.SS macOS compatibility
|
.PP
|
||||||
There are some considerations when running macOS via Quickemu.
|
There is further advice and information about macOS guests in the
|
||||||
.IP \[bu] 2
|
project \c
|
||||||
Supported macOS releases:
|
.UR https://github.com/quickemu-project/quickemu/wiki/03-Create-macOS-virtual-machines#automatically-create-macos-guests
|
||||||
.RS 2
|
wiki
|
||||||
.IP \[bu] 2
|
|
||||||
High Sierra
|
|
||||||
.IP \[bu] 2
|
|
||||||
Mojave
|
|
||||||
.IP \[bu] 2
|
|
||||||
Catalina \f[B](Recommended)\f[R]
|
|
||||||
.IP \[bu] 2
|
|
||||||
Big Sur
|
|
||||||
.IP \[bu] 2
|
|
||||||
Monterey
|
|
||||||
.IP \[bu] 2
|
|
||||||
Ventura
|
|
||||||
.IP \[bu] 2
|
|
||||||
Sonoma
|
|
||||||
.RE
|
|
||||||
.IP \[bu] 2
|
|
||||||
\f[CR]quickemu\f[R] will automatically download the required \c
|
|
||||||
.UR https://github.com/acidanthera/OpenCorePkg
|
|
||||||
OpenCore
|
|
||||||
.UE \c
|
|
||||||
\ bootloader and OVMF firmware from \c
|
|
||||||
.UR https://github.com/kholia/OSX-KVM
|
|
||||||
OSX\-KVM
|
|
||||||
.UE \c
|
.UE \c
|
||||||
\&.
|
\&.
|
||||||
.IP \[bu] 2
|
|
||||||
Optimised by default, but no GPU acceleration is available.
|
|
||||||
.RS 2
|
|
||||||
.IP \[bu] 2
|
|
||||||
Host CPU vendor is detected and guest CPU is optimised accordingly.
|
|
||||||
.IP \[bu] 2
|
|
||||||
\c
|
|
||||||
.UR https://www.kraxel.org/blog/2019/06/macos-qemu-guest/
|
|
||||||
VirtIO Block Media
|
|
||||||
.UE \c
|
|
||||||
\ is used for the system disk where supported.
|
|
||||||
.IP \[bu] 2
|
|
||||||
\c
|
|
||||||
.UR http://philjordan.eu/osx-virt/
|
|
||||||
VirtIO \f[CR]usb\-tablet\f[R]
|
|
||||||
.UE \c
|
|
||||||
\ is used for the mouse.
|
|
||||||
.IP \[bu] 2
|
|
||||||
VirtIO Network (\f[CR]virtio\-net\f[R]) is supported and enabled on
|
|
||||||
macOS Big Sur and newer but previous releases use \f[CR]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.
|
|
||||||
.RE
|
|
||||||
.IP \[bu] 2
|
|
||||||
USB host and SPICE pass\-through is:
|
|
||||||
.RS 2
|
|
||||||
.IP \[bu] 2
|
|
||||||
UHCI (USB 2.0) on macOS Catalina and earlier.
|
|
||||||
.IP \[bu] 2
|
|
||||||
XHCI (USB 3.0) on macOS Big Sur and newer.
|
|
||||||
.RE
|
|
||||||
.IP \[bu] 2
|
|
||||||
Display resolution can only be changed via macOS System Preferences.
|
|
||||||
.IP \[bu] 2
|
|
||||||
\f[B]Full Duplex audio requires \c
|
|
||||||
.UR https://github.com/chris1111/VoodooHDA-OC
|
|
||||||
VoodooHDA OC
|
|
||||||
.UE \c
|
|
||||||
\ or pass\-through a USB audio\-device to the macOS guest VM\f[R].
|
|
||||||
.IP \[bu] 2
|
|
||||||
NOTE!
|
|
||||||
\c
|
|
||||||
.UR https://disable-gatekeeper.github.io/
|
|
||||||
Gatekeeper
|
|
||||||
.UE \c
|
|
||||||
\ and \c
|
|
||||||
.UR https://developer.apple.com/documentation/security/disabling_and_enabling_system_integrity_protection
|
|
||||||
System Integrity Protection (SIP)
|
|
||||||
.UE \c
|
|
||||||
\ need to be disabled to install VoodooHDA OC
|
|
||||||
.IP \[bu] 2
|
|
||||||
File sharing between guest and host is available via \c
|
|
||||||
.UR https://wiki.qemu.org/Documentation/9psetup
|
|
||||||
virtio\-9p
|
|
||||||
.UE \c
|
|
||||||
\ and \c
|
|
||||||
.UR https://gitlab.gnome.org/GNOME/phodav/-/merge_requests/24
|
|
||||||
SPICE webdavd
|
|
||||||
.UE \c
|
|
||||||
\&.
|
|
||||||
.IP \[bu] 2
|
|
||||||
Copy/paste via SPICE agent is \f[B]not available on macOS\f[R].
|
|
||||||
.SS macOS App Store
|
|
||||||
If you see \f[I]\[lq]Your device or computer could not be
|
|
||||||
verified\[rq]\f[R] when you try to login to the App Store, make sure
|
|
||||||
that your wired ethernet device is \f[CR]en0\f[R].
|
|
||||||
Use \f[CR]ifconfig\f[R] in a terminal to verify this.
|
|
||||||
.PP
|
|
||||||
If the wired ethernet device is not \f[CR]en0\f[R], then then go to
|
|
||||||
\f[I]System Preferences\f[R] \-> \f[I]Network\f[R], delete all the
|
|
||||||
network devices and apply the changes.
|
|
||||||
Next, open a terminal and run the following:
|
|
||||||
.IP
|
|
||||||
.EX
|
|
||||||
sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist
|
|
||||||
.EE
|
|
||||||
.PP
|
|
||||||
Now reboot, and the App Store should work.
|
|
||||||
.SS \c
|
.SS \c
|
||||||
.UR https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines
|
.UR https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines
|
||||||
Creating Windows guests
|
Creating Windows guests
|
||||||
|
@ -646,35 +544,11 @@ Username: \f[CR]Quickemu\f[R]
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Password: \f[CR]quickemu\f[R]
|
Password: \f[CR]quickemu\f[R]
|
||||||
.RE
|
.RE
|
||||||
.SS Regional versions
|
|
||||||
By default \f[CR]quickget\f[R] will download the \f[I]\[lq]English
|
|
||||||
International\[rq]\f[R] release (\f[I]\[lq]English (United
|
|
||||||
States)\[rq]\f[R] for server releases), but you can optionally specify
|
|
||||||
one of the supported languages: For example:
|
|
||||||
.IP
|
|
||||||
.EX
|
|
||||||
quickget windows 11 \[dq]Chinese (Traditional)\[dq]
|
|
||||||
.EE
|
|
||||||
.PP
|
.PP
|
||||||
The default Windows 11 configuration looks like this:
|
Further information is available from the project \c
|
||||||
.IP
|
.UR https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines
|
||||||
.EX
|
wiki
|
||||||
guest_os=\[dq]windows\[dq]
|
.UE \c
|
||||||
disk_img=\[dq]windows\-11/disk.qcow2\[dq]
|
|
||||||
iso=\[dq]windows\-11/windows\-11.iso\[dq]
|
|
||||||
fixed_iso=\[dq]windows\-11/virtio\-win.iso\[dq]
|
|
||||||
tpm=\[dq]on\[dq]
|
|
||||||
secureboot=\[dq]off\[dq]
|
|
||||||
.EE
|
|
||||||
.IP \[bu] 2
|
|
||||||
\f[CR]guest_os=\[dq]windows\[dq]\f[R] instructs \f[CR]quickemu\f[R] to
|
|
||||||
optimise for Windows.
|
|
||||||
.IP \[bu] 2
|
|
||||||
\f[CR]fixed_iso=\f[R] specifies the ISO image that provides VirtIO
|
|
||||||
drivers.
|
|
||||||
.IP \[bu] 2
|
|
||||||
\f[CR]tpm=\[dq]on\[dq]\f[R] instructs \f[CR]quickemu\f[R] to create a
|
|
||||||
software emulated TPM device using \f[CR]swtpm\f[R].
|
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
Written by Martin Wimpress.
|
Written by Martin Wimpress.
|
||||||
.SH BUGS
|
.SH BUGS
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
author: Martin Wimpress
|
author: Martin Wimpress
|
||||||
date: April 30, 2024
|
date: May 4, 2024
|
||||||
footer: quickget
|
footer: quickget
|
||||||
header: Quickget User Manual
|
header: Quickget User Manual
|
||||||
section: 1
|
section: 1
|
||||||
|
@ -106,19 +106,17 @@ may have further information.
|
||||||
You can also use `quickget` with advanced options :
|
You can also use `quickget` with advanced options :
|
||||||
|
|
||||||
``` text
|
``` text
|
||||||
-[12345] <os> : Show info* about OS
|
-[12345] <os> : Show info* about OS
|
||||||
--download (-d) <os> <re> [ed] : Download the ISO only; no VM configuration
|
--download (-d) <os> <re> [ed] : Download image; no VM configuration
|
||||||
--create-config (-cc) <os> [path/url]: Create default VM config for image
|
--create-config (-cc) <os> [path/url]: Create default VM config for image
|
||||||
--open-homepage (-o) <os> : Open homepage for the OS
|
--open-homepage (-o) <os> : Open homepage for the OS
|
||||||
--version (-v) : Show version
|
--version (-v) : Show version
|
||||||
--help (-h) : Show this help message
|
--help (-h) : Show this help message
|
||||||
--url (-u) <os> <re> [ed] : Show download URL for an OS release/edition
|
--url (-u) [os] [re] [ed] : Show image URL(s)
|
||||||
--url-all (-ua) <os> : Show all download URLs for an OS
|
--check (-c) [os] [re] [ed] : Check image URL(s)
|
||||||
--check (-c) <os> [re] [ed] : Check download an OS release/edition is available
|
--list (-l) : List all supported systems
|
||||||
--check-all (-ca) <os> : Check all downloads for an OS are available
|
--list-csv (-lc) : List everything in csv format
|
||||||
--list (-l) : List all supported systems in plain text
|
--list-json (-lj) : List everything in json format
|
||||||
--list-csv (-lc) : List all supported systems in csv format
|
|
||||||
--list-json (-lj) : List all supported systems in json format
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Here are some typical uses
|
Here are some typical uses
|
||||||
|
@ -194,6 +192,7 @@ Further information is available from the project
|
||||||
- `netbsd` (NetBSD)
|
- `netbsd` (NetBSD)
|
||||||
- `nitrux` (Nitrux)
|
- `nitrux` (Nitrux)
|
||||||
- `nixos` (NixOS)
|
- `nixos` (NixOS)
|
||||||
|
- `nwg-shell` (nwg-shell)
|
||||||
- `openbsd` (OpenBSD)
|
- `openbsd` (OpenBSD)
|
||||||
- `openindiana` (OpenIndiana)
|
- `openindiana` (OpenIndiana)
|
||||||
- `opensuse` (openSUSE)
|
- `opensuse` (openSUSE)
|
||||||
|
@ -348,64 +347,9 @@ macos_release="catalina"
|
||||||
- And VirtIO Block Media (disks) are supported/stable in Catalina
|
- And VirtIO Block Media (disks) are supported/stable in Catalina
|
||||||
and newer.
|
and newer.
|
||||||
|
|
||||||
### macOS compatibility
|
There is further advice and information about macOS guests in the
|
||||||
|
project
|
||||||
There are some considerations when running macOS via Quickemu.
|
[wiki](https://github.com/quickemu-project/quickemu/wiki/03-Create-macOS-virtual-machines#automatically-create-macos-guests).
|
||||||
|
|
||||||
- Supported macOS releases:
|
|
||||||
- High Sierra
|
|
||||||
- Mojave
|
|
||||||
- Catalina **(Recommended)**
|
|
||||||
- Big Sur
|
|
||||||
- Monterey
|
|
||||||
- Ventura
|
|
||||||
- Sonoma
|
|
||||||
- `quickemu` will automatically download the required
|
|
||||||
[OpenCore](https://github.com/acidanthera/OpenCorePkg) bootloader
|
|
||||||
and OVMF firmware from [OSX-KVM](https://github.com/kholia/OSX-KVM).
|
|
||||||
- Optimised by default, but no GPU acceleration is available.
|
|
||||||
- Host CPU vendor is detected and guest CPU is optimised
|
|
||||||
accordingly.
|
|
||||||
- [VirtIO Block
|
|
||||||
Media](https://www.kraxel.org/blog/2019/06/macos-qemu-guest/) is
|
|
||||||
used for the system disk where supported.
|
|
||||||
- [VirtIO `usb-tablet`](http://philjordan.eu/osx-virt/) is used
|
|
||||||
for the mouse.
|
|
||||||
- VirtIO Network (`virtio-net`) is supported and enabled on macOS
|
|
||||||
Big Sur and newer but previous releases use `vmxnet3`.
|
|
||||||
- VirtIO Memory Ballooning is supported and enabled on macOS Big
|
|
||||||
Sur and newer but disabled for other support macOS releases.
|
|
||||||
- USB host and SPICE pass-through is:
|
|
||||||
- UHCI (USB 2.0) on macOS Catalina and earlier.
|
|
||||||
- XHCI (USB 3.0) on macOS Big Sur and newer.
|
|
||||||
- Display resolution can only be changed via macOS System Preferences.
|
|
||||||
- **Full Duplex audio requires [VoodooHDA
|
|
||||||
OC](https://github.com/chris1111/VoodooHDA-OC) or pass-through a USB
|
|
||||||
audio-device to the macOS guest VM**.
|
|
||||||
- NOTE! [Gatekeeper](https://disable-gatekeeper.github.io/) and
|
|
||||||
[System Integrity Protection
|
|
||||||
(SIP)](https://developer.apple.com/documentation/security/disabling_and_enabling_system_integrity_protection)
|
|
||||||
need to be disabled to install VoodooHDA OC
|
|
||||||
- File sharing between guest and host is available via
|
|
||||||
[virtio-9p](https://wiki.qemu.org/Documentation/9psetup) and [SPICE
|
|
||||||
webdavd](https://gitlab.gnome.org/GNOME/phodav/-/merge_requests/24).
|
|
||||||
- Copy/paste via SPICE agent is **not available on macOS**.
|
|
||||||
|
|
||||||
### macOS App Store
|
|
||||||
|
|
||||||
If you see *"Your device or computer could not be verified"* when you
|
|
||||||
try to login to the App Store, make sure that your wired ethernet device
|
|
||||||
is `en0`. Use `ifconfig` in a terminal to verify this.
|
|
||||||
|
|
||||||
If the wired ethernet device is not `en0`, then then go to *System
|
|
||||||
Preferences* -\> *Network*, delete all the network devices and apply the
|
|
||||||
changes. Next, open a terminal and run the following:
|
|
||||||
|
|
||||||
``` shell
|
|
||||||
sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist
|
|
||||||
```
|
|
||||||
|
|
||||||
Now reboot, and the App Store should work.
|
|
||||||
|
|
||||||
## [Creating Windows guests](https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines) 🪟
|
## [Creating Windows guests](https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines) 🪟
|
||||||
|
|
||||||
|
@ -441,31 +385,8 @@ quickemu --vm windows-11.conf
|
||||||
- Username: `Quickemu`
|
- Username: `Quickemu`
|
||||||
- Password: `quickemu`
|
- Password: `quickemu`
|
||||||
|
|
||||||
### Regional versions
|
Further information is available from the project
|
||||||
|
[wiki](https://github.com/quickemu-project/quickemu/wiki/04-Create-Windows-virtual-machines)
|
||||||
By default `quickget` will download the *"English International"*
|
|
||||||
release (*"English (United States)"* for server releases), but you can
|
|
||||||
optionally specify one of the supported languages: For example:
|
|
||||||
|
|
||||||
``` shell
|
|
||||||
quickget windows 11 "Chinese (Traditional)"
|
|
||||||
```
|
|
||||||
|
|
||||||
The default Windows 11 configuration looks like this:
|
|
||||||
|
|
||||||
``` shell
|
|
||||||
guest_os="windows"
|
|
||||||
disk_img="windows-11/disk.qcow2"
|
|
||||||
iso="windows-11/windows-11.iso"
|
|
||||||
fixed_iso="windows-11/virtio-win.iso"
|
|
||||||
tpm="on"
|
|
||||||
secureboot="off"
|
|
||||||
```
|
|
||||||
|
|
||||||
- `guest_os="windows"` instructs `quickemu` to optimise for Windows.
|
|
||||||
- `fixed_iso=` specifies the ISO image that provides VirtIO drivers.
|
|
||||||
- `tpm="on"` instructs `quickemu` to create a software emulated TPM
|
|
||||||
device using `swtpm`.
|
|
||||||
|
|
||||||
# AUTHORS
|
# AUTHORS
|
||||||
|
|
||||||
|
|
|
@ -84,7 +84,7 @@ stdenv.mkDerivation rec {
|
||||||
passthru.tests = testers.testVersion { package = quickemu; };
|
passthru.tests = testers.testVersion { package = quickemu; };
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Quickly create and run optimised Windows, macOS and Linux desktop virtual machines";
|
description = "Quickly create and run optimised Windows, macOS and Linux virtual machines";
|
||||||
homepage = "https://github.com/quickemu-project/quickemu";
|
homepage = "https://github.com/quickemu-project/quickemu";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ fedx-sudo flexiondotorg ];
|
maintainers = with maintainers; [ fedx-sudo flexiondotorg ];
|
||||||
|
|
3
quickget
3
quickget
|
@ -3429,10 +3429,11 @@ case "${1}" in
|
||||||
for OS in $(os_support); do
|
for OS in $(os_support); do
|
||||||
(test_all "${OS}")
|
(test_all "${OS}")
|
||||||
done
|
done
|
||||||
|
exit 0
|
||||||
elif [ -z "${2}" ]; then
|
elif [ -z "${2}" ]; then
|
||||||
test_all "${1}"
|
test_all "${1}"
|
||||||
|
exit 0
|
||||||
fi
|
fi
|
||||||
exit 0
|
|
||||||
;;
|
;;
|
||||||
'--check'|'-c')
|
'--check'|'-c')
|
||||||
OPERATION="test"
|
OPERATION="test"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user