docs: document integrated OpenCore for macOS VMs
- Add mtools and gptfdisk to dependency lists (Debian, Fedora, Gentoo) - Document new integrated OpenCore behaviour (single disk image) - Explain backwards compatibility with legacy two-disk method - Add instructions for using legacy method if needed
parent
8e6d373785
commit
4695a97053
|
|
@ -129,9 +129,11 @@ requirements manually:
|
|||
- [curl](https://curl.se/)
|
||||
- [EDK II](https://github.com/tianocore/edk2)
|
||||
- [gawk](https://www.gnu.org/software/gawk/)
|
||||
- [gptfdisk](https://www.rodsbooks.com/gdisk/) (*for macOS VM creation*)
|
||||
- [grep](https://www.gnu.org/software/grep/)
|
||||
- [glxinfo](https://gitlab.freedesktop.org/mesa/demos)
|
||||
- [jq](https://stedolan.github.io/jq/)
|
||||
- [mtools](https://www.gnu.org/software/mtools/) (*for macOS VM creation*)
|
||||
- [pciutils](https://github.com/pciutils/pciutils)
|
||||
- [procps](https://gitlab.com/procps-ng/procps)
|
||||
- [python3](https://www.python.org/)
|
||||
|
|
@ -155,7 +157,7 @@ These should be handled by dependencies in Trixie and later. For earlier version
|
|||
|
||||
|
||||
``` shell
|
||||
sudo apt-get install bash coreutils curl genisoimage grep jq mesa-utils ovmf pciutils procps python3 qemu sed socat spice-client-gtk swtpm-tools unzip usbutils util-linux uuidgen-runtime xdg-user-dirs xrandr zsync
|
||||
sudo apt-get install bash coreutils curl gdisk genisoimage grep jq mesa-utils mtools ovmf pciutils procps python3 qemu sed socat spice-client-gtk swtpm-tools unzip usbutils util-linux uuidgen-runtime xdg-user-dirs xrandr zsync
|
||||
```
|
||||
|
||||
### Install requirements on Fedora
|
||||
|
|
@ -166,7 +168,7 @@ These are handled natively for Fedora 41 on. For earlier versions:
|
|||
# it may be needed to add additional installation sources to obtain some packages
|
||||
# for example zsync is no longer in the fedora repo, but can be obtained from copr
|
||||
#sudo dnf copr enable elxreno/zsync -y
|
||||
sudo dnf install bash coreutils curl edk2-tools genisoimage grep jq mesa-demos pciutils procps python3 qemu sed socat spice-gtk-tools swtpm unzip usbutils util-linux xdg-user-dirs xrandr zsync
|
||||
sudo dnf install bash coreutils curl edk2-tools gdisk genisoimage grep jq mesa-demos mtools pciutils procps python3 qemu sed socat spice-gtk-tools swtpm unzip usbutils util-linux xdg-user-dirs xrandr zsync
|
||||
```
|
||||
|
||||
### Install requirements on Gentoo
|
||||
|
|
@ -181,8 +183,10 @@ sudo emerge --ask --noreplace app-emulation/qemu \
|
|||
sys-firmware/edk2-ovmf-bin \
|
||||
sys-apps/gawk \
|
||||
sys-apps/grep \
|
||||
sys-block/gptfdisk \
|
||||
x11-apps/mesa-progs \
|
||||
app-misc/jq \
|
||||
sys-fs/mtools \
|
||||
sys-apps/pciutils \
|
||||
sys-process/procps \
|
||||
app-cdr/cdrtools \
|
||||
|
|
|
|||
|
|
@ -13,6 +13,37 @@ quickemu --vm macos-big-sur.conf
|
|||
|
||||
macOS `mojave`, `catalina`, `big-sur`, `monterey`, `ventura` and `sonoma` are supported.
|
||||
|
||||
# OpenCore bootloader
|
||||
|
||||
macOS VMs require [OpenCore](https://github.com/acidanthera/OpenCorePkg) as a bootloader. Quickemu handles this automatically, but the implementation differs depending on when your VM was created.
|
||||
|
||||
## Integrated OpenCore (new default)
|
||||
|
||||
New macOS VMs use **integrated OpenCore**, where the bootloader is embedded directly in the EFI partition of `disk.qcow2`. This approach:
|
||||
|
||||
- Creates a single disk image instead of two
|
||||
- Simplifies VM management and backups
|
||||
- Boots directly from the main disk
|
||||
|
||||
This requires `mtools` and `gptfdisk` on your system. If these are missing, `quickget` automatically falls back to the legacy method.
|
||||
|
||||
## Legacy OpenCore (separate disk)
|
||||
|
||||
VMs created before this change use a separate `OpenCore.qcow2` file that chainloads macOS from the main disk. This results in two disk images:
|
||||
|
||||
- `OpenCore.qcow2` - bootloader disk
|
||||
- `disk.qcow2` - macOS system disk
|
||||
|
||||
**Existing VMs continue to work unchanged.** Quickemu automatically detects which method to use based on whether `OpenCore.qcow2` exists in the VM directory.
|
||||
|
||||
## Using the legacy method for new VMs
|
||||
|
||||
If you need the legacy two-disk setup for a new VM:
|
||||
|
||||
1. Download `OpenCore.qcow2` from [OSX-KVM](https://github.com/kholia/OSX-KVM)
|
||||
2. Place it in your VM directory before running `quickget`
|
||||
3. `quickget` will detect the existing file and skip integrated OpenCore creation
|
||||
|
||||
- Use cursor keys and enter key to select the **macOS Base System**
|
||||
- From **macOS Utilities**
|
||||
- Click **Disk Utility** and **Continue**
|
||||
|
|
@ -106,7 +137,8 @@ There are some considerations when running macOS via Quickemu.
|
|||
- 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).
|
||||
- `quickget` creates macOS VMs with integrated OpenCore by default (requires `mtools` and `gptfdisk`)
|
||||
- `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) when using the legacy method.
|
||||
- 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.
|
||||
|
|
|
|||
Loading…
Reference in New Issue