1
0
Fork 0
mirror of https://github.com/foxlet/macOS-Simple-KVM.git synced 2024-11-27 05:29:42 +01:00

[DOCS] Update docs.

This commit is contained in:
Foxlet 2019-04-30 17:48:10 -04:00
parent 9a4fce6739
commit 55064e7a98
4 changed files with 43 additions and 7 deletions

View file

@ -1,13 +1,13 @@
# macOS-Simple-KVM # macOS-Simple-KVM
Documentation to set up a simple Q35 VM based in QEMU, accelerated by KVM. Documentation to set up a simple macOS VM in QEMU, accelerated by KVM.
Better instructions will be available in the future, but for now, here's how to get started: Here's how to get started:
## Dependencies ## Dependencies
You need to have `qemu`, `python` and the KVM extensions installed for this project. You'll need a Linux system with `qemu`, `python` and the KVM extensions installed for this project. A Mac is **not** required.
## Step 1 ## Step 1
Run `jumpstart.sh` to get some basic installation media for macOS. Run `jumpstart.sh` to fetch installation media for macOS (internet required). The default installation uses High Sierra.
## Step 2 ## Step 2
Create an empty hard disk using `qemu-img` Create an empty hard disk using `qemu-img`
@ -24,4 +24,7 @@ and add it to the end of `basic.sh`
Then run `basic.sh` to start the machine and install macOS. Then run `basic.sh` to start the machine and install macOS.
## Step 3 ## Step 3
Look at the `docs` folder for more information on adding passthrough hardware, set up tunnel networking, and enable sound features.
You're done!
Look in the `docs` folder for more information on adding passthrough hardware (for GPU graphics), set up bridged networking, and enabling sound features.

View file

@ -44,3 +44,10 @@ nmcli connection add type tun \
nmcli connection mod mytap connection.slave-type bridge \ nmcli connection mod mytap connection.slave-type bridge \
connection.master br1 connection.master br1
``` ```
## Attach Bridge to QEMU
Once you have set up the bridge and tun/tap on the host, you'll have to add the following line to `basic.sh`, replacing `-netdev user,id=net0`. Change `tap0` to your corresponding device name.
```
-netdev tap,id=net0,ifname=tap0,script=no,downscript=no \
```

View file

@ -40,6 +40,8 @@ To do this permanently, you can add it to your bootloader. If you're using GRUB,
## Attach card to QEMU ## Attach card to QEMU
You will need to attach the cards using the BDF IDs for the audio and video controller. The following example shows the config for a card with two devices. The romfile parameter is optional. You will need to attach the cards using the BDF IDs for the audio and video controller. The following example shows the config for a card with two devices. The romfile parameter is optional.
**Note:** You may need to run `basic.sh` as sudo for the card to work.
``` ```
-vga none \ -vga none \
-device ioh3420,bus=pcie.0,multifunction=on,port=1,chassis=1,id=port.1 \ -device ioh3420,bus=pcie.0,multifunction=on,port=1,chassis=1,id=port.1 \

24
docs/guide-performance.md Normal file
View file

@ -0,0 +1,24 @@
Guide to Performance Tuning
===========================
The default macOS VM configuration (`basic.sh`) assumes some sane defaults, however this may not reflect the actual topology or peformance capabilities of the underlaying machine.
Here's some tunable parameters to get the most of out QEMU:
## Memory
The following line controls memory allocation. The default is 2GB of RAM.
Increase this as needed (limited to the real amount of memory in your machine).
```
-m 2G \
```
## Cores
The default configuration enables 4 threads, each with 2 cores.
```
-smp 4,cores=2 \
```
The following example describes all possible topology configurations:
```
-smp cores=4,threads=4,sockets=1 \
```