From 90880e2f16b48b7e76eb3d428e7b09eac76b6b65 Mon Sep 17 00:00:00 2001 From: notAperson535 Date: Tue, 6 Aug 2024 20:36:27 +0000 Subject: [PATCH] deploy: df6d511aa348f34ce3db43ec0fe46b7b0eafb1a6 --- 404.html | 4 ++-- assets/js/65dbd407.9b48731b.js | 1 + assets/js/65dbd407.d10dc789.js | 1 - .../{runtime~main.0de1399b.js => runtime~main.fd67a8ba.js} | 2 +- docs/FAQs/index.html | 4 ++-- docs/category/installing-the-vm/index.html | 4 ++-- docs/category/post-install/index.html | 4 ++-- docs/category/setting-up-the-host-machine/index.html | 4 ++-- docs/finishing-up/index.html | 4 ++-- docs/guide-Apple-ID/index.html | 4 ++-- docs/guide-audio/index.html | 4 ++-- docs/guide-disabling-verbose/index.html | 4 ++-- docs/guide-disk-resizing/index.html | 4 ++-- docs/guide-networking/index.html | 4 ++-- docs/guide-passthrough/index.html | 4 ++-- docs/guide-performance/index.html | 4 ++-- docs/guide-phone-passthrough/index.html | 4 ++-- docs/guide-screen-resolution/index.html | 4 ++-- docs/guide-usb-passthrough/index.html | 4 ++-- docs/installing-macos/index.html | 6 +++--- docs/manualmethod/index.html | 4 ++-- docs/migrating/index.html | 4 ++-- docs/oneclickmethod/index.html | 4 ++-- docs/start-here/index.html | 4 ++-- docs/windows-install/index.html | 4 ++-- index.html | 4 ++-- markdown-page/index.html | 4 ++-- 27 files changed, 51 insertions(+), 51 deletions(-) create mode 100644 assets/js/65dbd407.9b48731b.js delete mode 100644 assets/js/65dbd407.d10dc789.js rename assets/js/{runtime~main.0de1399b.js => runtime~main.fd67a8ba.js} (98%) diff --git a/404.html b/404.html index bbbfe6c..439943b 100644 --- a/404.html +++ b/404.html @@ -5,13 +5,13 @@ Page Not Found | OneClick macOS Simple KVM - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git a/assets/js/65dbd407.9b48731b.js b/assets/js/65dbd407.9b48731b.js new file mode 100644 index 0000000..0c337a0 --- /dev/null +++ b/assets/js/65dbd407.9b48731b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[131],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return h}});var o=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function r(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=o.createContext({}),c=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},u=function(e){var t=c(e.components);return o.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=c(n),h=i,m=d["".concat(s,".").concat(h)]||d[h]||p[h]||a;return n?o.createElement(m,r(r({ref:t},u),{},{components:n})):o.createElement(m,r({ref:t},u))}));function h(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,r=new Array(a);r[0]=d;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:i,r[1]=l;for(var c=2;c=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=i.createContext({}),c=function(e){var t=i.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},u=function(e){var t=c(e.components);return i.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},d=i.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=c(n),h=o,m=d["".concat(s,".").concat(h)]||d[h]||p[h]||a;return n?i.createElement(m,r(r({ref:t},u),{},{components:n})):i.createElement(m,r({ref:t},u))}));function h(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,r=new Array(a);r[0]=d;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:o,r[1]=l;for(var c=2;c=o)&&Object.keys(a.O).every((function(e){return a.O[e](n[u])}))?n.splice(u--,1):(c=!1,o0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[n,r,o]},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},a.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);a.r(o);var f={};t=t||[null,n({}),n([]),n(n)];for(var c=2&r&&e;"object"==typeof c&&!~t.indexOf(c);c=n(c))Object.getOwnPropertyNames(c).forEach((function(t){f[t]=function(){return e[t]}}));return f.default=function(){return e},a.d(o,f),o},a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.f={},a.e=function(e){return Promise.all(Object.keys(a.f).reduce((function(t,n){return a.f[n](e,t),t}),[]))},a.u=function(e){return"assets/js/"+({45:"5cec08f6",53:"935f2afb",62:"db10d4e2",84:"d159d35a",85:"1f391b9e",125:"a0a6e072",126:"76eeb034",131:"65dbd407",178:"c3657e1a",195:"c4f5d8e4",211:"ff9afa86",250:"68e70999",265:"c042514f",300:"f60336de",342:"53a36e76",403:"f2710c27",414:"393be207",415:"af148e83",489:"368bd902",504:"6d32d447",514:"1be78505",673:"92e32855",723:"088a4258",817:"14eb3368",824:"2e6f4f00",874:"6b1945b2",886:"c77c3bf4",899:"39d862b9",918:"17896441",928:"0904e644"}[e]||e)+"."+{45:"c8a1bcd6",53:"a9a8e18a",62:"82e98b98",84:"86e56cb0",85:"8d823132",125:"c8d665ff",126:"42f7c69d",131:"d10dc789",178:"f7fd01bb",195:"86c73fb9",211:"b93aedea",250:"f474835e",265:"c37d7fb8",300:"c0c03fca",342:"4c88b295",403:"9e608316",414:"1adc3cad",415:"44980db9",489:"5af9b371",504:"efc67106",514:"6651526f",608:"743c1dd1",673:"b5c5ae60",723:"6a33f6d1",724:"19842d3d",817:"21991537",824:"89257e70",874:"cd4cc09a",886:"848168c4",899:"75275a9c",918:"0fabfc2e",928:"d90ee37d"}[e]+".js"},a.miniCssF=function(e){},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="docs:",a.l=function(e,t,n,f){if(r[e])r[e].push(t);else{var c,u;if(void 0!==n)for(var i=document.getElementsByTagName("script"),d=0;d=o)&&Object.keys(a.O).every((function(e){return a.O[e](n[u])}))?n.splice(u--,1):(c=!1,o0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[n,r,o]},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},a.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);a.r(o);var f={};t=t||[null,n({}),n([]),n(n)];for(var c=2&r&&e;"object"==typeof c&&!~t.indexOf(c);c=n(c))Object.getOwnPropertyNames(c).forEach((function(t){f[t]=function(){return e[t]}}));return f.default=function(){return e},a.d(o,f),o},a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.f={},a.e=function(e){return Promise.all(Object.keys(a.f).reduce((function(t,n){return a.f[n](e,t),t}),[]))},a.u=function(e){return"assets/js/"+({45:"5cec08f6",53:"935f2afb",62:"db10d4e2",84:"d159d35a",85:"1f391b9e",125:"a0a6e072",126:"76eeb034",131:"65dbd407",178:"c3657e1a",195:"c4f5d8e4",211:"ff9afa86",250:"68e70999",265:"c042514f",300:"f60336de",342:"53a36e76",403:"f2710c27",414:"393be207",415:"af148e83",489:"368bd902",504:"6d32d447",514:"1be78505",673:"92e32855",723:"088a4258",817:"14eb3368",824:"2e6f4f00",874:"6b1945b2",886:"c77c3bf4",899:"39d862b9",918:"17896441",928:"0904e644"}[e]||e)+"."+{45:"c8a1bcd6",53:"a9a8e18a",62:"82e98b98",84:"86e56cb0",85:"8d823132",125:"c8d665ff",126:"42f7c69d",131:"9b48731b",178:"f7fd01bb",195:"86c73fb9",211:"b93aedea",250:"f474835e",265:"c37d7fb8",300:"c0c03fca",342:"4c88b295",403:"9e608316",414:"1adc3cad",415:"44980db9",489:"5af9b371",504:"efc67106",514:"6651526f",608:"743c1dd1",673:"b5c5ae60",723:"6a33f6d1",724:"19842d3d",817:"21991537",824:"89257e70",874:"cd4cc09a",886:"848168c4",899:"75275a9c",918:"0fabfc2e",928:"d90ee37d"}[e]+".js"},a.miniCssF=function(e){},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="docs:",a.l=function(e,t,n,f){if(r[e])r[e].push(t);else{var c,u;if(void 0!==n)for(var i=document.getElementsByTagName("script"),d=0;d FAQs | OneClick macOS Simple KVM - +

FAQs

Q: Does this work on any CPU?

A: There is a minimum CPU requirement for macOS itself. Both Intel and AMD CPUs are supported, but the recommendations are Ivy Bridge (or later) Core and Xeon processors, or Ryzen and Threadripper processors.

Q: How much disk space do I need?

A: The macOS download is ~500MB compressed (2GB uncompressed), the installation files are uncompressed and measure 6.5GB. Bare minimum virtual disk size would be around 32GB, but you'll find it hard to get any apps installed (like Xcode, which is at least 8GB compressed).

Q: Does this work on DigitalOcean/ScaleWay/Azure/GCS?

A: If the cloud provider supports nested KVM as well as the necessary CPU instructions, yes. In some cases only certain tiers will work as the CPU need to be supported.

For DigitalOcean, this means a Basic,General Purpose or CPU Optimized machine is required. Ubuntu 19.04 or newer is recommended.

- + \ No newline at end of file diff --git a/docs/category/installing-the-vm/index.html b/docs/category/installing-the-vm/index.html index c765946..1009d55 100644 --- a/docs/category/installing-the-vm/index.html +++ b/docs/category/installing-the-vm/index.html @@ -5,13 +5,13 @@ Installing the VM | OneClick macOS Simple KVM - + - + \ No newline at end of file diff --git a/docs/category/post-install/index.html b/docs/category/post-install/index.html index 95a5708..a1d9957 100644 --- a/docs/category/post-install/index.html +++ b/docs/category/post-install/index.html @@ -5,13 +5,13 @@ Post-Install | OneClick macOS Simple KVM - +

Post-Install

- + \ No newline at end of file diff --git a/docs/category/setting-up-the-host-machine/index.html b/docs/category/setting-up-the-host-machine/index.html index 92304a5..f01634b 100644 --- a/docs/category/setting-up-the-host-machine/index.html +++ b/docs/category/setting-up-the-host-machine/index.html @@ -5,13 +5,13 @@ Setting up the host machine | OneClick macOS Simple KVM - + - + \ No newline at end of file diff --git a/docs/finishing-up/index.html b/docs/finishing-up/index.html index bc86247..22a3f24 100644 --- a/docs/finishing-up/index.html +++ b/docs/finishing-up/index.html @@ -5,13 +5,13 @@ Finishing Up | OneClick macOS Simple KVM - +

Finishing Up

Setting the default boot device

Once macOS is succesfully installed, you can select the macOS partition on the boot screen (OpenCore), with ctrl+enter to set it as the default boot device. That means it will boot up the VM without booting the macOS Installer. This will prevent OpenCore from default booting the installer.

Changing VM settings

Here are some guides on how to change the VM settings to best fit your needs:

Optimizing

To make the VM run smoother and faster, look here: https://github.com/sickcodes/osx-optimizer

Troubleshooting

If the mouse is not aligned properly, edit the basic.sh file and change -usb -device usb-kbd -device usb-tablet \ to -usb -device usb-kbd -device usb-mouse \ or the other way around.

If you get an error that says access denied, run sudo ./basic.sh which will give it admin privelages.

If you get an error that looks like:

Requested operation is not valid: Setting different SELinux label on /opt/dir/OneClick-macOS-Simple-KVM/firmware/OVMF_VARS-1024x768.fd which is already in use

edit /etc/libvirt/qemu.conf and change/add this line remember_owner=0

- + \ No newline at end of file diff --git a/docs/guide-Apple-ID/index.html b/docs/guide-Apple-ID/index.html index 8a8df49..5359032 100644 --- a/docs/guide-Apple-ID/index.html +++ b/docs/guide-Apple-ID/index.html @@ -5,14 +5,14 @@ Apple-ID fixing | OneClick macOS Simple KVM - +

Apple-ID fixing

Video guide here (Use SMBIOS iMacPro1,1)

  1. If using virt-manager Use a random multicast MAC address generator and paste it into the template generated by make.sh.
  • While I was editing the template, I also used uuidgen and pasted that in there for good measure.
  • Then import the template with virsh define whatever.xml.
  1. In the macOS Finder, look for EFI in the left bar under Volumes. If it isn't visible you will have to mount it:
  • Open the macOS Terminal and type diskutil list and look for the disk/partition location of the EFI. (There may be more than one.)
  • Type sudo diskutil mount diskYsZ, using the disk/partition location name where you see EFI. It should look like this: image
  1. Download GenSMBIOS and gernerate a set of serials for the mac model shown under "System Report" ("iMacPro1,1").
  2. Locate the plist file at /Volumes/EFI/OC/config.plist. Insert the generated serials into generic section in the appropriate places.
GenSMBIOS Valueconfig.plist
TypeSystemProductName
SerialSystemSerialNumber
Board SerialMLB
SmUUIDSystemUUID
  1. You can edit it by hand or use ProperTree for this.
  2. Reboot. You should be able to log in with your Apple-ID now.
- + \ No newline at end of file diff --git a/docs/guide-audio/index.html b/docs/guide-audio/index.html index 5857fa1..7bba32f 100644 --- a/docs/guide-audio/index.html +++ b/docs/guide-audio/index.html @@ -5,7 +5,7 @@ Audio passthrough (without external card) | OneClick macOS Simple KVM - + @@ -14,7 +14,7 @@ sudo cp -R Downloads/VoodooHDA.kext /Library/Extensions (enter password when prompted).

4) Wait a few seconds, a popup should appear => "Open Security Preferences". 4a) If no popup, run : sudo kextutil -v /Library/Extensions/VoodooHDA.kext

5) If you did not click on the "Open Security Preferences", go to "Security & Privacy" section inside "System Settings application".

6) Allow "VoodooHDA" and restart.

Credits : https://github.com/MobCode100/Dastux/blob/main/VoodooHDA-QEMU-KVM.md

If you want sound to get working DO NOT execute the VM as root or you will encounter some alsa errors and you won't hear anything ! => Do not run "sudo ./basic.sh" but simply "./basic.sh"

Same issue with virt-manager : ensure your current user has the appropriate rights ! : sudo adduser $USER libvirt && sudo adduser $USER kvm && sudo adduser $USER libvirt-qemu

- + \ No newline at end of file diff --git a/docs/guide-disabling-verbose/index.html b/docs/guide-disabling-verbose/index.html index 7b6c11e..1c1af3d 100644 --- a/docs/guide-disabling-verbose/index.html +++ b/docs/guide-disabling-verbose/index.html @@ -5,14 +5,14 @@ Disabling Verbose (To make booting faster) | OneClick macOS Simple KVM - +

Disabling Verbose (To make booting faster)

Warning

If you do this and then there is a problem that causes macOS to not boot, you must redownload the opencore qcow2 file from the github repository.

  1. In the macOS Finder, look for EFI in the left bar under Volumes. If it isn't visible you will have to mount it:
  • Open the macOS Terminal and type diskutil list and look for the disk/partition location of the EFI. (There may be more than one.)
  • Type sudo diskutil mount diskYsZ, using the disk/partition location name where you see EFI. It should look like this: image
  • The EFI partition will appear in the left Finder bar under Volumes.
  • If you don't see anything in that volume after browsing to it, try the other ones that you found in diskutil.
  1. In the EFI volume, go into the EFI directory and then the OC directory and open the config.plist file in the macOS text editor.

Next, find and change this line

<string>-v keepsyms=1 tlbto_us=0 vti=9</string>

to this line

<string>keepsyms=1 tlbto_us=0 vti=9</string>
- + \ No newline at end of file diff --git a/docs/guide-disk-resizing/index.html b/docs/guide-disk-resizing/index.html index e1f3726..3d432c5 100644 --- a/docs/guide-disk-resizing/index.html +++ b/docs/guide-disk-resizing/index.html @@ -5,14 +5,14 @@ How to increase disk size | OneClick macOS Simple KVM - +

How to increase disk size

Close the VM before starting

First, on your host machine, run this command to add more space to the disk (warning: you can not make the disk smaller, only bigger, so don't make it to big.) In this case I am adding 100GBs of storage to my disk.

sudo qemu-img resize macOS.qcow2 +100G

Now reopen the VM, and then open the terminal in macOS, and run this command to find the main drive

diskutil list

it should look something like this

/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *268.4 GB disk0
1: EFI ⁨EFI⁩ 209.7 MB disk0s1
2: Apple_APFS ⁨Container disk2⁩ 85.7 GB disk0s2
(free space) 182.5 GB -

Next, run these commands, depending on your disk type.

For APFS disks (for most people)

diskutil repairdisk disk0
diskutil apfs resizeContainer disk0s2 0

For HFS or HFS+ disks

diskutil repairdisk disk0
diskutil resizeVolume / R
- + \ No newline at end of file diff --git a/docs/guide-networking/index.html b/docs/guide-networking/index.html index b1fff5e..4af31db 100644 --- a/docs/guide-networking/index.html +++ b/docs/guide-networking/index.html @@ -5,13 +5,13 @@ Guide to Bridged Networking | OneClick macOS Simple KVM - +

Guide to Bridged Networking

Note: you don't need to set up bridged networking just to get internet access. With basic.sh you should be able to access the internet from MacOS automatically. However, the ICMP protocol (used for ping) is not supported with the default networking solution.

To set up bridged networking for the macOS VM, use one of the following methods:

Using /etc/network/interfaces

It is possible to create the bridge and tun/tap interfaces by adding the following lines to /etc/network/interfaces. Replace DEVICENAME with your ethernet card's device name, and MYUSERNAME with the user that is starting the VM.

auto br0
iface br0 inet dhcp
bridge_ports DEVICENAME tap0

auto tap0
iface tap0 inet dhcp
pre-up tunctl -u MYUSERNAME -t tap0

Using NetworkManager

You can use NetworkManager to control the bridge and tun/tap interfaces, by creating them with the following commands. Replace DEVICENAME with your ethernet card's device name.

Make the Bridge

nmcli connection add type bridge \
ifname br1 con-name mybridge

Attach Bridge to Ethernet

nmcli connection add type bridge-slave \
ifname DEVICENAME con-name mynetwork master br1

Make the Tun/Tap

nmcli connection add type tun \
ifname tap0 con-name mytap \
mode tap owner `id -u`

Attach Tun/Tap to Bridge

nmcli connection mod mytap connection.slave-type bridge \
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 \

Using Netctl

You can also use netctl and the qemu bridge helper to control the bridge and tun/tap interfaces. Replace DEVICENAME with your ethernet card's device name.

Create netctl configuration file in /etc/netctl (f.e. /etc/netctl/kvm-bridge)

Description="Bridge Interface br10 : DEVICENAME"
Interface=br10
Connection=bridge
BindsToInterfaces=(DEVICENAME) # Do not remove the parenthesis
IP=dhcp
# If you want also for DHCPv6,uncomment below line
#IP6=dhcp

Activate netctl bridge handler with system boot

sudo netctl enable kvm-bridge

Create bridge whitelist file for qemu (/etc/qemu/bridge.conf)

allow br10

Attach Bridge to QEMU

Now you'll have to add the following line to basic.sh, replacing -netdev user,id=net0. Change br10 to your corresponding device name.

    -netdev bridge,br=br10,id=net0 \

Firewall

If you are using iptables or one of its frontends (like ufw) you may need to add a rule for the bridged network. In my case I was using ufw and had to add a rule to allow all in and out anywhere on virbr0. The interface name will depend on which of the steps above you followed.

Operation not permitted on Debian systems

On Debian if you get:

failed to create tun device: Operation not permitted
qemu-system-x86_64: bridge helper failed

it is because qemu-bridge-helper doesn't have setuid by default, one solution is to manually set the setuid bit on the qemu-bridge-helper:

sudo chmod 4755 /usr/lib/qemu/qemu-bridge-helper

Please note the effects of this command will be reset on every update of the package qemu-system-common and thus you will have to re-run it.

Another solution is to simply run qemu as root, but that's not recommended.

- + \ No newline at end of file diff --git a/docs/guide-passthrough/index.html b/docs/guide-passthrough/index.html index e1a702d..5cdd24e 100644 --- a/docs/guide-passthrough/index.html +++ b/docs/guide-passthrough/index.html @@ -5,13 +5,13 @@ Guide to PCIe Passthrough (GPU and Sound) | OneClick macOS Simple KVM - +

Guide to PCIe Passthrough (GPU and Sound)

Enable BIOS features

To use PCIe Passthrough, you will need a compatible motherboard and CPU with support for iommu. Look up your motherboard manual on how to enable these features, but they are commonly named VT-d or AMD Vi.

Get Some Information

To pass through a card, you'll need to know some value pertaining to the card itself: The Device IDs, and BDF IDs. The following command will give a list of relevant devices to use in the next steps.

lspci -nn | grep "VGA\|Audio"

Example

An example output might look like this:

26:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X] [1002:6810]
26:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series] [1002:aab0]

The first value (26:00.0) is the BDF ID, and the last (1002:6810) is the Device ID. Cards with a built-in audio controller have to be passed together, so note the IDs for both subdevices.

Load the vfio-pci module

The vfio-pci module is not included in the kernel on all systems, you may need for load it as part of initramfs. Look up your distro's documentation on how to do this.

Add Kernel Flags

The iommu kernel module is not enabled by default, but you can enable it on boot by passing the following flags to the kernel. Replace the Device IDs with your corresponding card.

AMD

iommu=pt amd_iommu=on vfio-pci.ids=1002:66af,1002:ab20

Intel

iommu=pt intel_iommu=on vfio-pci.ids=1002:66af,1002:ab20

To do this permanently, you can add it to your bootloader. If you're using GRUB, for example, edit /etc/default/grub and add the previous lines to the GRUB_CMDLINE_LINUX_DEFAULT section, then run sudo update-grub (or sudo grub-mkconfig on some systems) and reboot.

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.

Note: You may need to run basic.sh as sudo for the card to work.

    -vga none \
-device pcie-root-port,bus=pcie.0,multifunction=on,port=1,chassis=1,id=port.1 \
-device vfio-pci,host=26:00.0,bus=port.1,multifunction=on,romfile=/path/to/card.rom \
-device vfio-pci,host=26:00.1,bus=port.1 \
- + \ No newline at end of file diff --git a/docs/guide-performance/index.html b/docs/guide-performance/index.html index 9ccc76a..7a552a7 100644 --- a/docs/guide-performance/index.html +++ b/docs/guide-performance/index.html @@ -5,13 +5,13 @@ Guide to Performance Tuning (Adding Memory and CPU cores) | OneClick macOS Simple KVM - +

Guide to Performance Tuning (Adding Memory and CPU cores)

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, divided into CPUs with 2 cores each.

    -smp 4,cores=2 \

The following example describes all possible topology flags:

    -smp cores=4,threads=4,sockets=1 \
- + \ No newline at end of file diff --git a/docs/guide-phone-passthrough/index.html b/docs/guide-phone-passthrough/index.html index 24883ed..4f27b28 100644 --- a/docs/guide-phone-passthrough/index.html +++ b/docs/guide-phone-passthrough/index.html @@ -5,7 +5,7 @@ Passing through your iPhone to macOS (works with Xcode) | OneClick macOS Simple KVM - + @@ -13,7 +13,7 @@

If you are trying to pass through any other usb device, use this guide instead

Original: https://github.com/arindas/mac-on-linux-with-qemu/issues/25#issue-989202268

References: https://stackoverflow.com/questions/67279997/connect-iphone-via-usb-to-sosumi-qemu sickcodes/Docker-OSX#133

Plug your iphone into the usb port, then run lsusb

$ lsusb
Bus 001 Device 004: ID 05ac:12a8 Apple, Inc. iPhone 5/5C/5S/6/SE

Since qemu runs as a regular user, it cannot connect to hot-plug USB devices unless you change permssions on the host. Being in the group plugdev might be sufficient for standard USD block devices. For others, such as an iphone, you need to manually change the /dev/bus/usb/xxx/yyy to group users or create /etc/udev/rules.d/97-iphone.rules.

https://www.linuxquestions.org/questions/blog/kingbeowulf-74138/qemu-usb-passthrough-with-specifics-for-iphone-37830/

To add the 97-iphone-rules, first run this command:

sudo nano /etc/udev/rules.d/97-iphone.rules

Now add this to the new file in nano

SUBSYSTEMS=="usb", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="*",GROUP="users", MODE="0660"

The 0x05ac vendor ID in this case is for an Apple iPhone 5C. For iphones specifically, it can help to disable usbmuxd with an empty /etc/udev/rules.d/39-usbmuxd.rules. Now, run this command as root

sudo udevadm control -R

Then edit your basic.sh file and add these lines

-usb \
-device usb-ehci,id=ehci \
-device usb-host,bus=ehci.0,vendorid=0x05ac,guest-reset=false,id=iphone \

Now when you connect your phone you will see a "Trust this computer message. It should quickly disappear and re-appear. The first message is for the Linux host, the second is for the macOS guest. If you clicked the wrong message or things are not working just reconnect the phone.

Pairing the iOS device to Xcode

  • Open Xcode and go to Window Devices and Simulators.
  • Select your device and then select the Connect via network checkbox to pair your device:

https://stackoverflow.com/questions/10087985/xcode-doesnt-see-my-ios-device-but-itunes-does

Do I need to be a Apple Developer Member to deploy apps on my iphone ?

https://developer.apple.com/forums/thread/81424

Finished

when you launch macOS and run lsusb you should get this:

tom@toms-iMac ~ % lsusb
Bus 004 Device 002: ID 0627:0001 0627 QEMU USB Mouse Serial: 89126-0000:00:04.0-3
Bus 004 Device 003: ID 0627:0001 0627 QEMU USB Keyboard Serial: 68284-0000:00:04.0-2
Bus 004 Device 001: ID 05ac:12a8 Apple Inc. iPhone Serial: 650d4ab950e8ece4cd07b637044440618c9080b4
Bus 000 Device 001: ID 1d6b:IPCI Linux Foundation USB 2.0 Bus
Bus 000 Device 001: ID 1d6b:IPCI
IPCI
IPCI
IPCI Linux Foundation USB 2.0 Bus
- + \ No newline at end of file diff --git a/docs/guide-screen-resolution/index.html b/docs/guide-screen-resolution/index.html index cdef2d8..afb6d40 100644 --- a/docs/guide-screen-resolution/index.html +++ b/docs/guide-screen-resolution/index.html @@ -5,14 +5,14 @@ How to increase screen resolution | OneClick macOS Simple KVM - +

How to increase screen resolution

  1. In the macOS Finder, look for EFI in the left bar under Volumes. If it isn't visible you will have to mount it:
  • Open the macOS Terminal and type diskutil list and look for the disk/partition location of the EFI. (There may be more than one.)
  • Type sudo diskutil mount diskYsZ, using the disk/partition location name where you see EFI. It should look like this: image
  • The EFI partition will appear in the left Finder bar under Volumes.
  • If you don't see anything in that volume after browsing to it, try the other ones that you found in diskutil.
  1. In the EFI volume, go into the EFI directory and then the OC directory and open the config.plist file in the macOS text editor.
  2. There should be a section of the file that looks like this:
<key>Resolution</key>
<string>1920x1080@32</string>
  • Edit that to your preferred screen resolution, but leave the @32 part as it is.
  • Some odd/intermediate resolutions like 1366×768 may not work well. Try to stick to more common 16:9, 16:10, and 4:3 form factors.
  1. Shut down the VM, relaunch it using basic.sh script and follow the following steps:
  • Press Escape key as soon as the window comes up.
  • If you are using virt-manager, you may need to detach the USB keyboard to get to this screen. One you are done editing, re-add the USB keyboard and reboot
  • In the interface that comes up, select Device Manager->OVMF Platform Configuration->Change Preferred and select the correct resolution.
  • Press F10 to save the changes.
  • Press Escape multiple times to come back to main menu, and then select Continue on it.
- + \ No newline at end of file diff --git a/docs/guide-usb-passthrough/index.html b/docs/guide-usb-passthrough/index.html index 647c2e7..c9ede80 100644 --- a/docs/guide-usb-passthrough/index.html +++ b/docs/guide-usb-passthrough/index.html @@ -5,14 +5,14 @@ Passing through a USB device (Works with iPhone) | OneClick macOS Simple KVM - +

Passing through a USB device (Works with iPhone)

If you are on Windows using the WSL method make sure to pass through the usb device to wsl first by following this guide

First run the lsusb command to see the current devices attached to your linux host

Here we'll use a phone attached to the host:

human123@Laptop:~/MacOS/OneClick-macOS-Simple-KVM$ lsusb
...
Bus 002 Device 003: ID 18d1:4e11 Google Inc. Nexus One

(Note the Bus and device numbers).

Now, add this line to the args section of basic.sh, replacing the hostbus and hostaddr with the values you got earlier -usb -device usb-host,hostbus=2,hostaddr=3 \

Thats it! You should be good to go.

If this guide did not work for an iPhone, try this one instead

- + \ No newline at end of file diff --git a/docs/installing-macos/index.html b/docs/installing-macos/index.html index 9ac55a6..b22d15e 100644 --- a/docs/installing-macos/index.html +++ b/docs/installing-macos/index.html @@ -5,13 +5,13 @@ Installing macOS | OneClick macOS Simple KVM - +
-

Installing macOS

Loading the VM

Load up the VM with sudo ./basic.sh to start up the VM (for Windows, you would run sudo HEADLESS=1 ./basic.sh, then open VNC Viewer, and connect to localhost:5900).

Then select the macOS Installer in OpenCore, and hit enter.

Partitioning in Disk Utility

You now must format the disk, otherwise the macOS installer will not be able to find you drive. Once you get to the macOS setup screen, select Disk Utility, and then select the biggest drive, it should be around 64 gigabytes or whatever you specified when you created macOS.qcow2 (this is only for the manual method, the one-click method does this automatically). Then select Erase or Format, depending on which you see, and make sure to format the disk as macOS Extended Journaled (NOT case-sensitive). You should also name it something like Macintosh SSD. Once you are done formatting, close out of Disk Utility and move on to the next step.

Installing

Now select the "Reinstall macOS", and open it. Go through the setup screen, and once you get there select the disk you just formatted. Then continue with the setup, it may hang at "Less than a minute remaining" for a while, it's not stuck, just be patient.

unnamed

After it reboots, you must continually select the "macOS Installer" entry in OpenCore to continue installing macOS. Even though it might not look like it's doing anything, it is.

Setup Screen (finally)

Once you get to the setup screen, you will probably notice that it is very laggy, this is ok, as it will get much faster once you get through it. A reboot is always reccomended after you are done installing.

Now head over to Finishing Up to see how to set up the VM to be faster and have more features like sound and display acceleration

(Don't skip this)

- +

Installing macOS

Loading the VM

Load up the VM with sudo ./basic.sh to start up the VM (for Windows, you would run sudo HEADLESS=1 ./basic.sh, then open VNC Viewer, and connect to localhost:5900).

Then select the macOS Installer in OpenCore, and hit enter.

Partitioning in Disk Utility

You now must format the disk, otherwise the macOS installer will not be able to find you drive. Once you get to the macOS setup screen, select Disk Utility, and then select the biggest drive, it should be around 64 gigabytes or whatever you specified when you created macOS.qcow2 (this is only for the manual method, the one-click method does this automatically). Then select Erase or Format, depending on which you see, and make sure to format the disk as macOS Extended Journaled (NOT case-sensitive). You should also name it something like Macintosh SSD. Once you are done formatting, close out of Disk Utility and move on to the next step.

Installing

Now select the "Reinstall macOS", and open it. Go through the setup screen, and once you get there select the disk you just formatted. Then continue with the setup, it may hang at "Less than a minute remaining" for a while, it's not stuck, just be patient.

unnamed

After it reboots, you must continually select the "macOS Installer" entry in OpenCore to continue installing macOS. Even though it might not look like it's doing anything, it is.

Setup Screen (finally)

Once you get to the setup screen, you will probably notice that it is very laggy, this is ok, as it will get much faster once you get through it. A reboot is always reccomended after you are done installing.

DO NOT LOG IN TO YOUR APPLE ID ON THE SETUP SCREEN

This will blacklist your account and you will need to contact support. Before logging into any apple account you MUST follow this guide

Now head over to Finishing Up to see how to set up the VM to be faster and have more features like sound and display acceleration

(Don't skip this)

+ \ No newline at end of file diff --git a/docs/manualmethod/index.html b/docs/manualmethod/index.html index e35b318..694bc73 100644 --- a/docs/manualmethod/index.html +++ b/docs/manualmethod/index.html @@ -5,13 +5,13 @@ Manual Method | OneClick macOS Simple KVM - +

Manual Method

You'll need a Linux system with qemu (3.1 or later), python3, pip and the KVM modules enabled. A Mac is not required. Some examples for different distributions:

sudo apt-get install qemu-system qemu-utils python3 python3-pip  # for Ubuntu, Debian, Mint, and PopOS.
sudo pacman -Syu qemu-desktop python python-pip python-wheel --needed # for Arch and Manjaro.
sudo xbps-install -Su qemu python3 python3-pip # for Void Linux.
sudo zypper in qemu-tools qemu-kvm qemu-x86 qemu-audio-pa python3-pip # for openSUSE Tumbleweed
sudo dnf install qemu qemu-img python3 python3-pip libvirt-client # for Fedora
sudo eopkg install qemu python3 python3-pip # for Solus OS
sudo emerge -a qemu python dev-python/pip # for Gentoo
sudo dnf install qemu qemu-img python3 python3-pip libvirt-utils -y # for Mageia
To use in NIXOS add qemu, pyton3, and python3-pip to your packages list.

If you are installing on Solus OS, extracting qemu may take a while, so be patient.

Step 1

Run fetch-macOS-v2.py to download installation media for macOS (internet required).

./fetch-macOS-v2.py

If the resulting file is named BaseSystem.dmg then run

qemu-img convert BaseSystem.dmg -O raw BaseSystem.img

If it is named RecoveryImage.dmg run

qemu-img convert RecoveryImage.dmg -O raw BaseSystem.img

Bringing Your Own macOS bootable file

If you want to bring your own bootable file, whether you already have a file or you have a custom version, drag it into the OneClick-macOS-Simple-KVM folder. Then, Check if it is named BaseSystem if it's not rename it to BaseSystem.

If the file is now named BaseSystem.dmg, you must run this command to convert it to BaseSystem.img

qemu-img convert BaseSystem.dmg -O raw BaseSystem.img

If it is already named BaseSystem.img, you are good to go

Step 2

Create an empty hard disk using qemu-img, changing the name and size to preference:

qemu-img create -f qcow2 macOS.qcow2 64G

if you change the drive name, change the line below according to the new name in basic.sh:

    -drive id=SystemDisk,if=none,file="$VMDIR/macOS.qcow2" \

Step 2a (Virtual Machine Manager)

  1. If instead of QEMU, you'd like to import the setup into Virt-Manager for further configuration, just run
sudo ./make.sh --add
  1. After running the above command, add macOS.qcow2 as storage in the properties of the newly added entry for VM.

Step 2b (Headless Systems)

If you're running on a headless system (such as on Cloud providers), set the HEADLESS environment variable to 1:

HEADLESS=1 ./basic.sh

Now head over to installing macOS for instructions on correctly installing macOS

- + \ No newline at end of file diff --git a/docs/migrating/index.html b/docs/migrating/index.html index 5b26943..626a314 100644 --- a/docs/migrating/index.html +++ b/docs/migrating/index.html @@ -5,13 +5,13 @@ Migrating (Coming from other Repositories) | OneClick macOS Simple KVM - +

Migrating (Coming from other Repositories)

If you are coming from another repository, and want to come here, here is what you need to do

Coming from macOS-Simple-KVM

If you are coming from macOS-Simple-KVM, maybe to upgrade to Big Sur or Monterey, it will be very easy. All you have to do is place the BaseSystem file and the file that has macOS installed into the OneClick-macOS-Simple-KVM folder. Then rename the file that has macOS installed (usually MyDisk.qcow2) to macOS.qcow2. Then run ./basic.sh and enjoy.

You are technically done now, but you can follow the macOS parts of this guide to completely rid clover of your system

Coming from OSX-KVM

If you want to come from OSX-KVM, maybe for stability, it will be a little harder and take a little longer. First, place the BaseSystem file and the file that has macOS installed into the OneClick-macOS-Simple-KVM folder. Then, rename the file that has macOS installed (usually mac_hdd_ng.img) to macOS.img. Then run this command.

qemu-img convert -f qcow2 -O qcow2 macOS.img macOS.qcow2

Once that has completed, delete the macOS.img file. Then run ./basic.sh and enjoy.

You're Done!

To fine-tune the system and improve performance, look in the docs folder for more information on adding memory, setting up bridged networking, adding passthrough hardware (for GPUs), tweaking screen resolution, and enabling sound features.

- + \ No newline at end of file diff --git a/docs/oneclickmethod/index.html b/docs/oneclickmethod/index.html index 8ad2e60..56dcdfb 100644 --- a/docs/oneclickmethod/index.html +++ b/docs/oneclickmethod/index.html @@ -5,14 +5,14 @@ OneClick Method | OneClick macOS Simple KVM - +

OneClick Method

  • setup.sh is for Debian based Linux Repositories like Ubuntu
  • setupArch.sh is for Arch based Linux Repositories like Manjaro.
  • setupFedora.sh is for Fedora based Linux Repositories.
  • setupSUSE.sh is for openSUSE Tumbleweed
  • setupMageia.sh is for Mageia

Run ./setup.sh or the correct one depending on your Linux OS to make the VM. Once the VM boots up, just hit enter even if it's a black screen or a cut off image (do this every boot) Then format the biggest drive as macOS Extended Journaled (should be a little bigger than 64GB, then go to reinstall macOS and install it to the newly formatted drive.

Once it boots, you can install macOS. Remember to partition in Disk Utility first! (macOS extended journaled). Once macOS is succesfully installed, you can select the macOS partition with ctrl+enter to set it as the default boot and automatically boot up the VM without the macOS Installer attached. This will prevent OpenCore from default booting the installer.

Now head over to installing macOS for instructions on correctly installing macOS

- + \ No newline at end of file diff --git a/docs/start-here/index.html b/docs/start-here/index.html index 492ee27..29a2bbe 100644 --- a/docs/start-here/index.html +++ b/docs/start-here/index.html @@ -5,14 +5,14 @@ Start Here! | OneClick macOS Simple KVM - +

Start Here!

Documentation to set up a simple macOS VM in QEMU, accelerated by KVM.

By: notAperson

New to macOS and KVM? Check the FAQs.

Join the Discord server for support and more!

IMPORTANT

5/19/2022 - New website look! Hope you like it!

4/27/2022 - This repository used to be attached to macOS-Simple-KVM as a fork, but do to a number of reasons I have decided to detach it. If this causes any problems, specifically in the git CLI, then feel free to post and issue and I will respond as soon as I can.

You must download or clone this GitHub repository before you begin Do not use forks of notAperson535/OneClick-macOS-Simple-KVM as I update this repository a lot, and forks are usually behind.

If you do not see files in this guide, or if you want to update your version, which I recommend doing at least one a month, run this command

git pull --rebase

If that throws an error, try this command

git pull origin master

Using This Repository

You have three options for using this repository, the manual method, the OneClick method, or installing on Windows.

Migrating (Coming from other repositories)

If you want to come from other repositories, the guide is here

- + \ No newline at end of file diff --git a/docs/windows-install/index.html b/docs/windows-install/index.html index e47f09e..657741f 100644 --- a/docs/windows-install/index.html +++ b/docs/windows-install/index.html @@ -5,7 +5,7 @@ Installing on Windows | OneClick macOS Simple KVM - + @@ -16,7 +16,7 @@ Go to Virtualization and make sure your system processor type is selected, mine is Intel image Then keep clicking exit, and save the configuration

Now run these commands to make sure virtualization works

kvm-ok
cat /sys/module/kvm_intel/parameters/nested

If the first command returns KVM acceleration can be used and the second command returns Y, then you are good to go. If the first command returns Y but the second command return something like no, than go to the bottom of the page for troubleshooting.

Now cd into the OneClick-macOS-Simple-KVM directory, replacing the WINDOWS_USER_NAME with the your Windows username, not the Linux one.

cd /mnt/c/users/WINDOWS_USER_NAME/Documents/OneClick-macOS-Simple-KVM

And run ./setup.sh to finish the setup and run the macOS VM!

(Note that the max OS you can run is Big Sur, because of some TSC restrictions. I am working on this issue and when it is resolved I will post a message in the Discord Server.)

This now fixed and you can run Monterey and up on Windows

Once setup.sh finsishes , press ctrl+c and run sudo HEADLESS=1 ./basic.sh. Once this is done, download VNC Viewer, here, then type localhost:5900 into the top to connect to the vm using vnc.

Whenever you want to load up the machine again, run sudo HEADLESS=1 ./basic.sh, NOT ./setup.sh.

You're done!

Don't close the terminal when the QEMU window is open, as it will shut down the VM and may cause data loss.

Now head over to installing macOS for instructions on correctly installing macOS

Troubleshooting

cat /sys/module/kvm_intel/parameters/nested returns N, but KVM-OK Returns KVM acceleration can be used

Edit these commands in .wslconfig, which is located in your Windows user directory, replacing the WINDOWS_USER_NAME with the your Windows username, not the Linux one.

nestedVirtualization=true
kernel=C:\\Users\\WINDOWS_USER_NAME\\bzImage
debugConsole=true
pageReporting=true
kernelCommandLine=intel_iommu=on iommu=pt kvm.ignore_msrs=1 kvm-intel.nested=1 kvm-intel.ept=1 kvm-intel.emulate_invalid_guest_state=0 kvm-intel.enable_shadow_vmcs=1 kvm-intel.enable_apicv=1
- + \ No newline at end of file diff --git a/index.html b/index.html index edc3e88..cd53ab8 100644 --- a/index.html +++ b/index.html @@ -5,13 +5,13 @@ OneClick macOS Simple KVM · Tools to set up a easy, quick macOS VM in QEMU, accelerated by KVM. Works on Linux AND Windows. - +

OneClick macOS Simple KVM

Tools to set up a easy, quick macOS VM in QEMU, accelerated by KVM. Works on Linux AND Windows.

Easy to Set up and Use

You can install macOS on windows or linux.

Run your needed apps

You can run XCode and Final Cut Pro

Or just use as a main OS

If you allot the VM all of your memory and CPUs, you can use it as your main machine.

- + \ No newline at end of file diff --git a/markdown-page/index.html b/markdown-page/index.html index 6a9f273..7177390 100644 --- a/markdown-page/index.html +++ b/markdown-page/index.html @@ -5,13 +5,13 @@ Markdown page example | OneClick macOS Simple KVM - +

Markdown page example

You don't need React to write simple standalone pages.

- + \ No newline at end of file