[Support] SpaceinvaderOne - Macinabox


Recommended Posts

On 10/18/2021 at 9:12 PM, doesntaffect said:

Got it. I want remote into the vm only, not sitting in front of the unraid host. Would a GPU also improve the VNC performance?

If so, which cheap (no gaming) GPU to pick? Ideally a passive one like Geforce GT1030 or similar.

I was in exactly the same situation as you.  I found a GT710 2GB card, and now the machine performance isn't noticeably different to my (quite old) MacBook Pro.

Link to comment

I haven't made any recent changes to my mac VM inside unraid, but now I can't VNC or Nomachine into it. I'd be very appreciative if someone can take a look at my XML...

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='12'>
  <name>Macinabox Catalina</name>
  <uuid>myuuid</uuid>
  <description>MacOS Catalina</description>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="Catalina.png" os="osx"/>
  </metadata>
  <memory unit='KiB'>16777216</memory>
  <currentMemory unit='KiB'>16777216</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>8</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='4'/>
    <vcpupin vcpu='1' cpuset='12'/>
    <vcpupin vcpu='2' cpuset='5'/>
    <vcpupin vcpu='3' cpuset='13'/>
    <vcpupin vcpu='4' cpuset='6'/>
    <vcpupin vcpu='5' cpuset='14'/>
    <vcpupin vcpu='6' cpuset='7'/>
    <vcpupin vcpu='7' cpuset='15'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-4.2'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/1b2d26f8-9d92-45e8-a084-bc5361be561e_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none' migratable='on'>
    <topology sockets='1' dies='1' cores='4' threads='2'/>
    <cache mode='passthrough'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/Josh Big Sur User/macos_disk.img' index='1'/>
      <backingStore/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <alias name='sata0-0-2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x11'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x12'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x13'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <interface type='bridge'>
      <mac address='mymacaddress'/>
      <source bridge='br0'/>
      <target dev='vnet11'/>
      <model type='virtio-net'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/8'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/8'>
      <source path='/dev/pts/8'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-12-Macinabox Catalina/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <graphics type='vnc' port='5900' autoport='yes' websocket='5700' listen='0.0.0.0' keymap='en-us'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <audio id='1' type='none'/>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
</domain>

Link to comment

If i don't have an external GPU, just onboard intel graphics (which are being used for Plex transcoding so i don't want to pass it through to my VMs), is there a way to get sound working on the mac VM? On Windows VM, I installed VB Cable to get audio working. Is there something similar for macOS?

 

Separately, i followed the instructions here to get iCloud working:
 

    1) Download hackintool (https://github.com/headkaze/Hackintool/releases).
    2) open it (using same steps as you first used to open OpenCore Configurator) and go to System -> Peripherals
    3) Network interfaces should have a en0 but the built in is unchecked
    4) open opencore -> mount EFI -> open config.plist
    5) go to DeviceProperties and select ethernet controller from list of PCI Devices at bottom (if it's not listed already)
    6) click the + on the far bottom right of the right box to add a property to the ethernet controller.
    7) For "key" use: built-in
    8) For "type" use: Data
    9) For "value" use: 01
    10) save and reboot
    11) log in to apple services!
    12) The hackintool technically isn't needed but it provides an easy graphical way to see if that "built-in" check box is checked.

 

Edited by Linguafoeda
Link to comment

Hi guys, just installed Big sur through mackinabox using spaceinvaiderone's tutorial. everything seemed fine until the very end after running the macinabox helper script at the end. when i stert the vm and run novnc i get the following rather than it booting up:

1.PNG.d23878e3a6463fb235f5049540685668.PNG

 

before i had chance to select anything it then proceeded to the image below:

2.PNG.1d09cf9cc051924ab03a212c6abe731d.PNG

 

and thats as far as it would go. Any help much appreciated. I have attached the docker log file:

3.thumb.PNG.8369b1a1b2ac3f16fa1a0075b5081ba8.PNG

 

also diagnostics file:

Macinabox BigSur.xml

 

Link to comment
1 hour ago, GG73 said:

Any help much appreciated

It has been said several times :D:

STOP USING OPENCORE CONFIGURATOR

Start over or download a fresh opencore img and boot from it and after this:

STOP USING OPENCORE CONFIGURATOR

 

1701687229_Senzatitolo-2.png.d64e5e9f582969cd0af8cc9c9fd30f6e.png

 

Opencore in macinabox is v. 0.7.0

 

Maybe I will push a pr with latest opencore just to not read these msgs all over again, let's do it :D

 

PR submitted, let's wait to it being merged (if it is accepted):

https://github.com/SpaceinvaderOne/Macinabox/pull/53

Edited by ghost82
  • Like 1
Link to comment
13 minutes ago, GG73 said:

Many thanks, will give it a go

I understand it can be difficult to manually edit the config.plist to update smbios data.

As I wrote I pushed a pr to the container.

Since it's not merged yet, you can "manually" apply the changes by following these advices:

0. clean the container, delete all files

1. Setup Macinabox in Apps (uncheck Autostart)

2. 

wget https://github.com/SpaceinvaderOne/Macinabox/raw/2a2400c44af497a00f2610523cb0c0844d2aae27/bootloader/OpenCore.img.zip

3. 

docker cp ./OpenCore.img.zip macinabox:/Macinabox/bootloader/OpenCore.img.zip

4. Start Docker Container and proceed as normal

 

Then, you can use opencore configurator, latest version at the time of writing, or better to use v. 2.51.0.0:

https://mackie100projects.altervista.org/download/opencore-configurator-2-51-0-0/

 

since the latest version 2.52.0.0 supports opencore development version (not stable) which added a couple of new options in the config.plist.

Edited by ghost82
  • Like 1
  • Thanks 1
Link to comment
On 9/9/2021 at 1:06 PM, TheSpatulaOfLove said:

I spent some time spinning my wheels trying to get Content Caching to work on my recent BigSur install.   The addition of this to my config.plist didn't seem to resolve the issue.   Is there a step I missed?  Was I supposed to apply the previously mentioned patch as well?

If you are still interested, these patches work (for now tested on monterey 12.0.1 and big sur 11.6.1):

https://github.com/ofawx/VmAssetCacheEnable/blob/master/opencore.config.plist

 

On Catalina (tested version 19H1915) only VMM to XXX patch is required since the kernel is older and doesn't have hv_vmm_present

 

Many thanks to @ofawx to have a working patch again!

Edited by ghost82
Link to comment
4 minutes ago, Linguafoeda said:

Is there a way to change resolution?

For the bootloader, in config.plist you probably have:

			<key>Resolution</key>
			<string>Max</string>

 

Change it to something supported by your gpu in form of:

Set to WxH@Bpp (e.g. 1920x1080@32) or WxH (e.g. 1920x1080) formatted string to request custom resolution from GOP if available.

Link to comment
On 10/25/2021 at 12:54 PM, ghost82 said:

I understand it can be difficult to manually edit the config.plist to update smbios data.

As I wrote I pushed a pr to the container.

Since it's not merged yet, you can "manually" apply the changes by following these advices:

0. clean the container, delete all files

1. Setup Macinabox in Apps (uncheck Autostart)

2. 

wget https://github.com/SpaceinvaderOne/Macinabox/raw/2a2400c44af497a00f2610523cb0c0844d2aae27/bootloader/OpenCore.img.zip

3. 

docker cp ./OpenCore.img.zip macinabox:/Macinabox/bootloader/OpenCore.img.zip

4. Start Docker Container and proceed as normal

 

Then, you can use opencore configurator, latest version at the time of writing, or better to use v. 2.51.0.0:

https://mackie100projects.altervista.org/download/opencore-configurator-2-51-0-0/

 

since the latest version 2.52.0.0 supports opencore development version (not stable) which added a couple of new options in the config.plist.

Once again thanks but still cant get it to work. i don't see how you can use opencore configurator if it wont boot (with it being a mac os program) I've done the above like you said (which seemed to be working until the opencore part)

i cant use opencore because its a mac os program. surely big sur needs to be able to boot before i can open a browser and use opencore? forgive my lack of knowledge and understanding.

Link to comment
4 minutes ago, GG73 said:

i don't see how you can use opencore configurator if it wont boot (with it being a mac os program)

there is opencore and opencore configurator: first one is the bootloader, a set of files that must be in a efi partition, the second one is a mac os app, used to configure opencore (the bootloader).

OpenCore.img.zip of the pr is the bootloader.

So did you replace the opencore img but you are not able to boot?

Link to comment
1 minute ago, ghost82 said:

Let me test it again tomorrow morning to see if there could be something wrong with the image of the pr.

Much appreciated, it’s probably totally fine and it’s more than likely my error but if you could that would be great. Many thanks 

Link to comment
12 hours ago, GG73 said:

Much appreciated

Hi, as promised I tested the OpenCore.img and it has no issue, I'm able to boot and install mac os, I tried monterey, but the same applies for big sur and catalina.

Now..the easiest way for you, since the original img included in macinabox is still able to install mac os (<-- not true, see below), could be:

 

1. clean the container and the data, spaceinvadersone tell how to do it in his video, this is very important, maybe double check also with terminal commands that everything is deleted

 

2. install again macinabox and install mac os as you did for the first time (<-- not possible, product id is no longer valid, see below)

 

3. do not change smbios data, do nothing, just shutdown mac os

 

4. From unraid, or from another box, download the new opencore.img from

https://github.com/SpaceinvaderOne/Macinabox/raw/2a2400c44af497a00f2610523cb0c0844d2aae27/bootloader/OpenCore.img.zip

and extract it from its zip archive

 

5. From unraid, go to /isos/ (opencore.img should be in the isos share)

Delete BigSur-opencore.img (should be named like this, or similar) and paste the new OpenCore.img you just downloaded and extracted, rename it to the same name it was the deleted one

 

6. Boot mac os

 

7. Download opencore configurator 2.51.0.0 to mount partition and change smbios

https://mackie100projects.altervista.org/download/opencore-configurator-2-51-0-0/

 

8. Side note: you can not copy/replace the efi files from the opencore.img to the mac os disk; by this way if you mess something it will be easier to just replace the opencore img instead of mounting the efi partition inside the vdisk.img (mac os disk)

Edited by ghost82
  • Like 1
Link to comment
12 hours ago, GG73 said:

it’s probably totally fine and it’s more than likely my error

I think it's not your error: I find that the product id of big sur changed, so 071-00696 is no longer valid.

I pushed a pr for it:

https://github.com/SpaceinvaderOne/Macinabox/pull/55

Moreover, the basesystem which will download the recovery image may not work with the board id coded in the script, I pushed another pr for it:

https://github.com/SpaceinvaderOne/Macinabox/pull/54

 

So, you should apply these pr manually until they get merged..

Here there are instructions that may work:

https://github.com/SpaceinvaderOne/Macinabox/pull/49#issuecomment-898740266

This replaced the opencore img and the unraid.sh

 

Obviously, you need to change the https addresses pointing to the new files and also apply (add) the fix for the board id and opencore img.

 

Edited by ghost82
  • Like 1
Link to comment

I just installed the Macinabox app, selected Big Sur, method 2. After downloading the container, the user scripts doensn't appear and there is no VM created. This is with a clean install, not template prior to this.

 

Edit: using method 1 works, but installs monterey

Edited by Bullerwins
update
Link to comment
2 minutes ago, Bullerwins said:

I just installed the Macinabox app, selected Big Sur, method 2. After downloading the container, the user scripts doensn't appear and there is no VM created. This is with a clean install, not template prior to this.

Did you try method 1 first?

Link to comment
10 hours ago, Bullerwins said:

I just installed the Macinabox app, selected Big Sur, method 2

Premise is that I don't use macinabox now, but it seemed that method 2 in the docker from ca was method 1 in github code when I tested it the first time; I'm not sure is still like this, can you check if method 1 downloads few hundreds of MB or about 12 GB? --> during the download you can check folder /isos and look for the file size.

If method 1 is the same method 1 in github (method 1 is fetch-macos2.py in github), I pushed a pr for it:

https://github.com/SpaceinvaderOne/Macinabox/pull/54

 

Did you apply it, together with all my other prs?

Edited by ghost82
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.