Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] SpaceinvaderOne - Macinabox

Featured Replies

How long are people finding it takes to install? as mine has been going for a good 2 hours now with no updates in the installer log since. There are about 12000 of those package authoring error lines as well.

Selected Sonoma and a 500G qcow2 disk which I formatted with APFS.

 

install.png

Edited by planetwilson

  • Replies 3.4k
  • Views 798.6k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • SpaceInvaderOne
    SpaceInvaderOne

    23 Sept 2024   Basic usage instructions.   Overview   Macinabox is now self-contained and no longer requires any helper scripts. It is designed to send notifications thro

  • SpaceInvaderOne
    SpaceInvaderOne

    Finally the new Macinabox is ready. Sorry for the delay work has been a F******G B*****D lately taking all my time.   So It also has a new template so please make sure to make sure your temp

  • SpaceInvaderOne
    SpaceInvaderOne

    New Macinabox almost complete. Should be out soon. Hoping for the end of next week or shortly there after Will have a few new features such as Ventura and Sonoma support Also the companion User Sc

Posted Images

Working on setting this up now and seeing how it goes but I can already say I really greatly appreciate how much simpler you have made this. 

 

Just want to check: in previous versions we had to deal with using OpenCore Configurator and setting PlatformInfo, is that necessary still in this updated version if we want to log in with an Apple ID and have things working?

 

Very curious to see if you get an Intel iGPU passed through in the future, too.

Noticed no messages while using an agent... Here's the warning I get from the log.

 

Warning: exec(): Unable to fork [TIMESTAMP='1727113261' EVENT='Macinabox Container' SUBJECT='Ventura' DESCRIPTION='VM setup successfully completed. The VM is now ready to be run.' IMPORTANCE='normal' CONTENT='' LINK='' bash /boot/config/plugins/dynamix/notifications/agents/Gotify.sh] in /usr/local/emhttp/webGui/scripts/notify on line 219

 

Hi everyone, I tried the new macinabox but the vm seems to be locked, in the vm log there are those strange error on the CPU "host doesn't support requested feature: CPUID.07H:EBX.". I'm running a 5950x with a Rx6750xt, there are some incompatibility problems with amd?

Screenshot 2024-09-23 alle 20.28.32.png

So streamlined, great work!

 

6 hours ago, SpaceInvaderOne said:

 

2. After formatting, close Disk Utility and select Reinstall macOS. Follow the wizard to complete the installation. The installation process may cause the VM to reboot approximately four times.

 

No need for steps 3 and 4 with this release?

 

3. Such as setting the serial number on the EFI partition, verifying it's unique, etc.

4. Setting the default boot volume and turning off the bootloader.

 

 

6 hours ago, SpaceInvaderOne said:

NEW MACINBOX AT LAST !!

Now I know many people have been asking for updates to this container for a long time.  So firstly sorry for the wait, but hopefully its worth it.
I decided too fully rewrite it and add new features. Now supports all macOS from High Sierra to Sonoma. 
Macinabox is now self-contained and no longer requires any helper scripts being able to fix xml itself.  
It dynamically build the XML based off not only the choices made in the container template but also by checking the host for which is latest qemu etc and building accordingly.

Also rerunning the container fixes XML problems, replacing missing custom xml, making sure the NIC is on the correct bus so macOS see it and can use it. And if you have an odd core count  macinabox will see this and remove the topology line to ensure the VM still boots

I have made the container so it will be much easier in future for me to update so expect more regular updates going forward.
Any suggests please let me know and open a request on GitHub    https://github.com/SpaceinvaderOne/Macinabox


Here is a video showing its use.
 


Basic Usage.
 

• Set notifications to Detailed.

• Configure Docker update notification to any option other than Never (e.g., Once per Day).

 

Installation Steps

 

1. Compliance: Ensure you are compliant with the Apple EULA for macOS virtual machines. Select whether you are compliant or not.

2. Select OS: In the template, choose the macOS version you wish to install.

3. VM Name: By default, Macinabox uses the OS name for the VM. If you prefer a different name, enter it in the Custom VM Name field (default is blank).

4. VDisk Type: Choose the vdisk type: Raw or QCOW2. The default option is Raw.

5. VDisk Size: Specify the size for the macOS vdisk in gigabytes. The default size is 100 GB.

6. Default Variables: You can leave all other settings as default. If needed, you can change the default locations for your domains, ISOs, or appdata shares.

 

Running the Container

 

• Launch the container. It will download the recovery media from Apple servers, name it, and place it in your ISO share.

• The container will create your vdisk and an OpenCore image for your VM, which will be placed in your domain share within a folder named after your VM.

• The XML for the VM will be dynamically generated based on your settings, and the container will perform checks on your server:

• It will check the version of QEMU installed and calculate the highest compatible version of Q35.

• It will set the default VM network source in the XML.

• It will add the appropriate custom QEMU command line arguments to the XML.

 

Notifications

 

During the container’s operation, you will receive notifications:

 

• When the installation media has been successfully downloaded.

• When the VM has been defined and is available on the VMs tab of your server.

• Or if any errors occur during the process.

 

Additional VM Configuration

 

Once the VM is installed, you may want to adjust it to your preferences:

 

1. On the Unraid vm tab. Click the vm and click edit. Now modify the CPU core count and RAM amount as needed.

 

Fixing broken XML Configuration

 

When making changes to the VM in the Unraid VM manager, the XML will be changed making the VM XML inorrect for macOS, which requires specific configurations. To fix this:

 

• Run Macinabox again. It will check if a macOS VM with the specified name already exists. If it does, it will fix the XML instead of attempting to install another VM. (This step is necessary for both Unraid 6 and 7.)

• If you make any changes to the VM in the Unraid VM manager, be sure to run the container again to update the XML.

 

Starting the VM

 

1. Start the VM and open a VNC window to proceed with the installation.

2. Boot into the OpenCore boot loader and select the bootable image labelled macOS Base System. Press Enter to continue.

 

Installing macOS

 

1. Once booted into recovery media, open Disk Utility to format your vdisk.

2. After formatting, close Disk Utility and select Reinstall macOS. Follow the wizard to complete the installation. The installation process may cause the VM to reboot approximately four times.
 

Hope you guys like this new macinabox

will this work with beta 7?

Thank you so very much for putting all the extra time and effort into this!! I will give installing this a go very soon!!

Edited by HomerJ
Fixed typo

awesome, looks like i will need to add this to retest :)

sadly as I thought with issues from last time... opencore problems...

Lets go Imac...

Docker log

VM called AppleVentura does not exist. Continuing to install it.
deleting existing opencore
mkdir: created directory '/config/custom_opencore'
mkdir: created directory '/config/stock_opencore'
No custom OpenCore .iso.gz file found, using stock version
Extracting stock OpenCore from /config/bootloader/OpenCore-v21.iso.gz
Moving stock OpenCore to the VM share
Failed to move stock OpenCore image

** Press ANY KEY to close this window ** 

9 hours ago, SpaceInvaderOne said:

When you see  "Guest has not initialised the display yet". This is due to the nvram the vm is using. This can happen with any VM windows, Mac, linux.

Easiest fix. Just delete the vm (but dont select select disks). Run macinbox again. It will see the disks already there and will not need to download again. It will recreate the nvram and xml template. 
then run the VM and you should be good :)

 

I did this when I first had difficulty getting the install to run.  I'm on unRaid 6.12.10, the installation of Sonoma went fine, but I left the settings as default (4gb of ram, 2 cores).  After the install completed, I went to change the icon, ram and cores, and now I keep getting the "Guest has not initialized the display yet" even when I try to change it back to the default settings.  I re-ran the macinbox container (probably not a good idea) so if I have to redo from scratch no biggie.  I guess I want to know what I should do to avoid getting that error in VNC but still get everything to run.

 

Let me know if you need additional details, thanks @SpaceInvaderOne

5 minutes ago, avinyc said:

I did this when I first had difficulty getting the install to run.  I'm on unRaid 6.12.10, the installation of Sonoma went fine, but I left the settings as default (4gb of ram, 2 cores).  After the install completed, I went to change the icon, ram and cores, and now I keep getting the "Guest has not initialized the display yet" even when I try to change it back to the default settings.  I re-ran the macinbox container (probably not a good idea) so if I have to redo from scratch no biggie.  I guess I want to know what I should do to avoid getting that error in VNC but still get everything to run.

 

Let me know if you need additional details, thanks @SpaceInvaderOne

I have the same version of unRaid and i encounter the same problem. I followed the tutorial and deleted de nvram files and it does not work. I tried many things  but if i change even the icon from the VM xml it wont boot anymore giving the  "Guest has not initialized the display yet" error.

7 hours ago, shpitz461 said:

Hi Ed,

I'm having the same issue, tried the fix but still the same.

 

I'm running on AMD Epyc.

 

It turns out I had to remove the nvram file manually (located in /var/lib/libvirt/qemu/nvram).

 

Also, if I make any changes to the cpu allocation, it won't boot for the 1st time.

 

So i kept the cpu assigned to 0 and 2 from the original template, and set ram to 16GB in the xml.

 

Now i'm doing the initial boot and install, I'll try to change cpu allocations after it's up and running (if that happens...)

 

Thanks!

Don't change it if you want to be able to run it without some other fix.  I did this as well, let it install using default cores and ram.  Once you try to change it, you'll get the error again.  Any time you edit the VM settings, you have to rerun macinbox container and I think that's where this is going sideways for us.

 

I'm guessing this is happening to a bunch of users, so hopefully he can help us figure out a solution.  Waited this long for Sonoma, I'm happy to wait a little longer:)

1 hour ago, TheSurfer said:

I have the same version of unRaid and i encounter the same problem. I followed the tutorial and deleted de nvram files and it does not work. I tried many things  but if i change even the icon from the VM xml it wont boot anymore giving the  "Guest has not initialized the display yet" error.

Yep, right now this is not letting us change any VM settings without ruining the install.  At this point, I'd just wait until a solution is posted.

8 hours ago, shpitz461 said:

Hi Ed,

I'm having the same issue, tried the fix but still the same.

 

I'm running on AMD Epyc.

 

It turns out I had to remove the nvram file manually (located in /var/lib/libvirt/qemu/nvram).

 

Also, if I make any changes to the cpu allocation, it won't boot for the 1st time.

 

So i kept the cpu assigned to 0 and 2 from the original template, and set ram to 16GB in the xml.

 

Now i'm doing the initial boot and install, I'll try to change cpu allocations after it's up and running (if that happens...)

 

Thanks!

Any changes I make to the xml in the cpu section breaks the image and it won't boot.

As soon as I restore the original xml with 2 vcpu (no hyperthreads) it works fine.

Working XML:

Quote

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>Sonoma</name>
  <uuid>dd5ba1dc-223e-4174-9353-b7bb85ab346b</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" icon="macinabox.png" os="osx" webui="" name="Linux"/>
  </metadata>
  <memory unit='KiB'>16777216</memory>
  <currentMemory unit='KiB'>16777216</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>2</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='2'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-q35-7.2'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/var/lib/libvirt/qemu/nvram/dd5ba1dc-223e-4174-9353-b7bb85ab346b_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none' migratable='on'>
    <topology sockets='1' dies='1' cores='1' 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/Sonoma/Sonoma-opencore.img'/>
      <target dev='hdc' bus='sata'/>
      <serial>vdisk1</serial>
      <boot order='1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/isos/OS/MAC/Sonoma-install.img'/>
      <target dev='hdd' bus='sata'/>
      <serial>vdisk2</serial>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='writeback'/>
      <source file='/mnt/user/domains/Sonoma/macos_disk.img'/>
      <target dev='hde' bus='sata'/>
      <serial>vdisk3</serial>
      <address type='drive' controller='0' bus='0' target='0' unit='4'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <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'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'/>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x8'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x9'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x11'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x12'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0x13'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0x14'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <interface type='bridge'>
      <mac address='ac:87:a3:24:8f:79'/>
      <source bridge='br0'/>
      <model type='virtio-net'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' websocket='-1' 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'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </video>
    <memballoon model='none'/>
  </devices>
  <qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='************************'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-usb'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-tablet'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-kbd'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='Skylake-Server,vendor=GenuineIntel,+hypervisor,+invtsc,kvm=on,+fma,+avx,+avx2,+aes,+ssse3,+sse4_2,+popcnt,+sse4a,+bmi1,+bmi2'/>
  </qemu:commandline>
</domain>

Broken XML:

Quote

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>Sonoma</name>
  <uuid>dd5ba1dc-223e-4174-9353-b7bb85ab346b</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" icon="macinabox.png" os="osx" webui="" name="Linux"/>
  </metadata>
  <memory unit='KiB'>16777216</memory>
  <currentMemory unit='KiB'>16777216</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>8</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='32'/>
    <vcpupin vcpu='1' cpuset='33'/>
    <vcpupin vcpu='2' cpuset='34'/>
    <vcpupin vcpu='3' cpuset='35'/>
    <vcpupin vcpu='4' cpuset='36'/>
    <vcpupin vcpu='5' cpuset='37'/>
    <vcpupin vcpu='6' cpuset='38'/>
    <vcpupin vcpu='7' cpuset='39'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-q35-7.2'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/dd5ba1dc-223e-4174-9353-b7bb85ab346b_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/Sonoma/Sonoma-opencore.img'/>
      <target dev='hdc' bus='sata'/>
      <serial>vdisk1</serial>
      <boot order='1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/isos/OS/MAC/Sonoma-install.img'/>
      <target dev='hdd' bus='sata'/>
      <serial>vdisk2</serial>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='writeback'/>
      <source file='/mnt/user/domains/Sonoma/macos_disk.img'/>
      <target dev='hde' bus='sata'/>
      <serial>vdisk3</serial>
      <address type='drive' controller='0' bus='0' target='0' unit='4'/>
    </disk>
    <controller type='pci' index='0' model='pcie-root'/>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x8'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x9'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x11'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x12'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0x13'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0x14'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <controller type='pci' index='7' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='7' port='0xa'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='8' model='pcie-to-pci-bridge'>
      <model name='pcie-pci-bridge'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <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'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <interface type='bridge'>
      <mac address='ac:87:a3:24:8f:79'/>
      <source bridge='br0'/>
      <model type='virtio-net'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' websocket='-1' 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'/>
      <address type='pci' domain='0x0000' bus='0x08' slot='0x01' function='0x0'/>
    </video>
    <memballoon model='none'/>
  </devices>
  <qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='************************'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-usb'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-tablet'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-kbd'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='Skylake-Server,vendor=GenuineIntel,+hypervisor,+invtsc,kvm=on,+fma,+avx,+avx2,+aes,+ssse3,+sse4_2,+popcnt,+sse4a,+bmi1,+bmi2'/>
  </qemu:commandline>
</domain>

 

After updating macinthebox my VM works absolutely perfectly.

The one thing I am struggling with is resizing the partition so I can directly grab my Time Machine backups from my Macbook.

I don't have any experience working with VM's before.... however,

  • I can see how to change the VM disk size in UNRAID. (/mnt/user/domains/Sonoma/macos_disk.img)
  • I get into the recovery partition inside Mac OS and Disk Utility can successfully make the partition smaller, but not bigger
  • I would actually just erase everything and re-do the VM but I can't seem to get rid of it. When I choose "remove VM & disks" it either doesn't respond. Or when I run macinthebox again it simply replaces the exact same installation with data inside fully intact (doesn't erase anything).

Thank you,

 

 

 

Capture.PNG

Capture02.PNG

Capture03.PNG

Edited by Moniker Lewinski

Posting for data prosperity.

for some reason opencore and nvram doesn't play nice in beta7 of my unraid along with some weird so I decided to try on a fresh copy still problems...

Problem one, on my hardware setup:
I'm using network setup bridging off, bonding on. macinthebox pickups the network for vhost0...

After the docker ran a VM was created, it would error at launch not liking vhost0
*No EDITS were made a download and try to run...

This is what I landed on for some side checks and fixes. Hopefully the community can use this on their own troubleshooting steps if they have issues/problems...

Using qcow2 format and mac OS Journal (extended) for filesystem...
image.png.ea835d41cb9509dcc9ed65d2400faa09.png

But implements the networking were weird on the vm... after the docker finished I got an execution error networking etc vhost0 cant use... (didn't catch / save the error :( my bad...)

image.thumb.png.df0c1430e28ca7a71e6657fcc005e1d9.png


My fix. let the docker do its thing then later edits in xml... edit out the network and replace xml code with :

    <interface type='direct' trustGuestRxFilters='yes'>
      <mac address='52:54:00:89:1f:91'/>
      <source dev='vhost0' mode='bridge'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>

*I was able to get a working network by using this on unraid 7 beta 2. This alowed the vm to start and i was at the opencore boot page...

However, for some reason, I also had a hard time getting the CPU arg working...

This is what I used instead:
*I had to drop my q35 version to get it to run
  <os>
    <type arch='x86_64' machine='pc-q35-4.2'>hvm</type>
 

  <qemu:commandline>
    <qemu:arg value='-usb'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-kbd,bus=usb-bus.0'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='isa-applesmc,osk=...'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-global'/>
    <qemu:arg value='nec-usb-xhci.msi=off'/>
    <qemu:arg value='-global'/>
    <qemu:arg value='ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='Haswell-noTSX,kvm=on,vmware-cpuid-freq=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+avx2,+aes,+fma,+fma4,+bmi1,+bmi2,+xsave,+xsaveopt,+rdrand,check'/>
  </qemu:commandline>

*this is data from VMware/Boradcom qemu cpuid they have on file for virtualizing apple OS... (pulled from what was my wokring bigsur VM...)

With these 2 changes, I was finally able to get unraid to boot my vm:
image.thumb.png.fa8c8d1e92873c98822d7f9253a70de5.png

 

ATM my dev testing on apple is over and i like to keep a VM for my real hardware for recovery purposes...
will need to test ventura / sonma next after Monterey is done. I had issues with getting a VM for apple running past bigsur... with this fresh install and docker update alot of problems have been fixed.

Big Thanks To SpaceInvader!

Edited by bmartino1
using older apple Hardware to run newer OS

while it worked for montery it didn't for sonoma...
notes to self for latter playing to get sonoma working.

under vm settings i had also set default network off of virbr0 to vhost... will try again with more default settings...
image.png.a37abe72bc5c5567c2706272daf082c8.png


Other helpful sites and data...
https://i12bretro.github.io/tutorials/0566.html

https://github.com/kholia/OSX-KVM

https://github.com/kholia/OSX-KVM/blob/master/UNRAID.md


seems to be the nic issues again per the docker trying to fix...
Setting > VM > view libvirt LOG:
when it was vhot0 alost of sonoma vmnet2 doen't exit causing problems...

now on virbr0 for testing.. default on unraid beta 2
2024-09-24 03:48:03.880+0000: 14690: error : virNetSocketReadWire:1781 : End of file while reading data: Input/output error

so more testing for me... but finally got a os where I can test other pass though items in...

image.thumb.png.a7ffa141608c6edadfb16fc0d373184d.png

fixing vm setting to use virbr0 did fix default no change first run form docker. so definitely vm setting need to stay as close from factory default as possible...

Edited by bmartino1
added details

Hello,

 

how to enable Hyper V for a Sonova Container?

is it possible or not?

16 hours ago, planetwilson said:

How long are people finding it takes to install? as mine has been going for a good 2 hours now with no updates in the installer log since. There are about 12000 of those package authoring error lines as well.

Selected Sonoma and a 500G qcow2 disk which I formatted with APFS.

 

install.png

I left this overnight and it finally came back 🤷‍♂️

On 9/23/2024 at 5:14 PM, TheSurfer said:

I have the same version of unRaid and i encounter the same problem. I followed the tutorial and deleted de nvram files and it does not work. I tried many things  but if i change even the icon from the VM xml it wont boot anymore giving the  "Guest has not initialized the display yet" error.

 

I am seeing a couple people saying version 6.12.10 may be the issue.  I usually wait until 30 days after a release before upgrading but got distracted when this was released.  Doing my upgrade to 6.12.13 to see if that allows this to start working again.

 

38 minutes ago, avinyc said:

 

I am seeing a couple people saying version 6.12.10 may be the issue.  I usually wait until 30 days after a release before upgrading but got distracted when this was released.  Doing my upgrade to 6.12.13 to see if that allows this to start working again.

 

 

I upgraded to 6.12.13, after everything was back up and running.  I went to the VM (same install I made on 6.12.10) and changed the cores and ram, click update, went back to macinabox and started the container again, once I got the successful message I ran the Sonoma VM and it is working without the "Guest has not initialized the display yet" error.

 

So whatever is changed in the latest update of unRaid, there is a bug that is causing this problem for some of us.  If you haven't upgraded to 6.12.13, this will hopefully fix the issue for you.

1 hour ago, avinyc said:

 

I upgraded to 6.12.13, after everything was back up and running.  I went to the VM (same install I made on 6.12.10) and changed the cores and ram, click update, went back to macinabox and started the container again, once I got the successful message I ran the Sonoma VM and it is working without the "Guest has not initialized the display yet" error.

 

So whatever is changed in the latest update of unRaid, there is a bug that is causing this problem for some of us.  If you haven't upgraded to 6.12.13, this will hopefully fix the issue for you.

Great find. I will update too and come back with a feedback.

2 hours ago, avinyc said:

 

I upgraded to 6.12.13, after everything was back up and running.  I went to the VM (same install I made on 6.12.10) and changed the cores and ram, click update, went back to macinabox and started the container again, once I got the successful message I ran the Sonoma VM and it is working without the "Guest has not initialized the display yet" error.

 

So whatever is changed in the latest update of unRaid, there is a bug that is causing this problem for some of us.  If you haven't upgraded to 6.12.13, this will hopefully fix the issue for you.

You were right. It works just like you said. So everyone on version 6.12.10 should update to their version of choice, that way you can set multiple cores and edit the MacOS VM without getting the „Guest has not initialized the display (yet)”. Thank you @avinyc

Can anyone help with USB passthrough. I'm trying to passthrough an iPhone but the MacOS VM is not recognizing it. Unraid sees it and I have configured the device for passthrough, but nothing inside the VM. Works for Windows easily.  Is there a trick to passing through to Mac? I've tried on BigSur and Sonoma.  Also I know you're going to say get a USB card but I'm on an itx board so it's either GPU or USB.

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...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.