[Support] SpaceinvaderOne - Macinabox


Recommended Posts

1 minute ago, ghost82 said:

Yes, don't copy the efi files over the mac os disk and don't delete the opencore disk, that's all.

Oh, so I leave the opencore image in the VM settings? So the VM will have 2 images, opencore and the macos vdisk.

I'm sorry. I know I seem terribly obtuse. 😄 I'm getting it slowly, but surely.

Link to comment
8 minutes ago, Mattaton said:

So the VM will have 2 images, opencore and the macos vdisk

Correct!

The critical part of a mac os vm is the bootloader (opencore).

If you change something in the bootloader and the vm doesn't boot, it's easier to replace the whole opencore image with a backup (that worked), otherwise you need to mount the fat32 partition inside the mac os disk (the efi partition, that contains opencore), feasible if you know how to do it, but not recommended for users approaching a mac os vm or linux in general.

  • Like 1
Link to comment
Just now, ghost82 said:

Correct!

The critical part of a mac os vm is the bootloader (opencore).

If you change something in the bootloader and the vm doesn't boot, it's easier to replace the whole opencore image with a backup (that worked), otherwise you need to mount the fat32 partition inside the mac os disk (the efi partition, that contains opencore), feasible if you know how to do it, but not recommended for users approaching a mac os vm or linux in general.

Excellent. I'm starting to see how it works. For me, it's always the 'why'. I can follow tutorials, but if I don't get the 'why' something is done, I can't wrap my head around it. So, OpenCore or Clover intercept the boot sequence and initiates the MacOS boot with some special sauce added that makes it all work.

For the QEMU XML settings that SI1 has you copy from his text file specifically for High Sierra or Mojave, do I need to find something specific to Monterey, or will the settings for Mojave work?

 

Thanks for all your help. Very much appreciated!!!

Link to comment
29 minutes ago, Mattaton said:

For the QEMU XML settings that SI1 has you copy from his text file specifically for High Sierra or Mojave, do I need to find something specific to Monterey, or will the settings for Mojave work?

No, nothing to add, just make sure you have the custom qemu args at the bottom, and to not use pc-q35-6.1, as it can cause issue with acpi tables on mac os.

  • Like 1
Link to comment
1 hour ago, Mattaton said:

So, OpenCore or Clover intercept the boot sequence and initiates the MacOS boot with some special sauce added that makes it all work

No special sauce :D

You tell libvirt to boot first the opencore disk with the boot order line:

Ex:

    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/path/to/opencore.img'/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>

 

So, it's the bios (ovmf) that scans for available disks and it boots opencore first because libvirt is telling to boot it first.

Opencore will scan for mac os partitions and will list them to you, so you can choose what to boot (obviously, all can be automated).

 

If you delete opencore disk you will have the mac os disk only: mac os disk has its efi partition too, with apple files, but mac os will not be able to boot with the apple efi, that's why we use a third party bootloader.

 

1 hour ago, Mattaton said:

Thanks for all your help

No problem, you cannot imagine how many vm I broke in the first months when I approached vm and mac os, how many black screens, but once you understand libvirt, bootloaders and operating system, all will be easier to make it work.

Unfortunately a mac os vm is not a windows vm, windows is open to lots of hardware, not mac os..if you break settings for the gpu most probably you will still be able to boot windows but with an error 43 or whatever error code, well...mac os will not boot at all..

If you don't know what you are doing chances to break the vm are high, that's not a problem, just backup important files and all you need periodically, and before any updates.

Edited by ghost82
Link to comment
3 minutes ago, ghost82 said:

No special sauce :D

You tell libvirt to boot first the opencore disk with the boot order line:

Ex:

    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/path/to/opencore.img'/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>

 

So, it's the bios (ovmf) that scans for available disks and it boots opencore first because libvirt is telling to boot it first.

Opencore will scan for mac os partitions and will list them to you, so you can choose what to boot (obviously, all can be automated).

 

If you delete opencore disk you will have the mac os disk only: mac os disk has its efi partition too, with apple files, but mac os will not be able to boot with the apple efi, that's why we use a third party bootloader.

 

No problem, you cannot imagine how many vm I broke in the first months when I approached vm and mac os, how many black screens, but once you understand libvirt, bootloaders and operating system, all will be easier to make it work.

Unfortunately a mac os vm is not a windows vm, windows is open to lots of hardware, not mac os..

If you don't know what you are doing chances to break the vm are high, that's not a problem, just backup important files and all you need periodically, and before any updates.

Hmmm...I see. No special sauce, per se. Makes sense!!!

 

Luckily I'm just playing right now. I have no need or desire to run MacOS for important tasks. So, if I blow up the VM, not a big deal.

 

I have Monterey up and running without MIAB, and as you suggested, I left the OpenCore image in place and all seems to be working.

 

All this is running on unRAID, obviously. But now I'm toying with the idea of pulling out some old hardware (x79, 4820K, and maybe a GTX1050) and putting together a Linux machine specifically to run a MacOS VM where I can try passing through a graphics card. But, I need to do some research first on nVidia drivers and which MacOS versions I can use (I know that not all of them have up to date nvidia drivers available). That starts getting a lot deeper than a VM accessed virtually with VNC, NoMachine, etc. But, it'd be nice to have an actual machine, with an actual display, to sit down and mess with learning MacOS. 🙂 

Link to comment
18 minutes ago, Mattaton said:

But, I need to do some research first on nVidia drivers and which MacOS versions I can use

For documentation you can refer to hackintosh community in general; running a vm or running a bare metal mac os are not so different, especially if you try to start to passthrough hardware.

For gpu compatibility you can refer to dortania guide:

https://dortania.github.io/GPU-Buyers-Guide/modern-gpus/amd-gpu.html

https://dortania.github.io/GPU-Buyers-Guide/modern-gpus/nvidia-gpu.html

 

Unfortunately apple dropped support for nvidia in monterey, kepler cards are working till big sur, but you can read the dortania guide for more details.

 

Any linux os is able to run vms, the only software needed is qemu and ovmf; libvirt is added to code the xml to communicate with qemu, you don't need anything more.

I personally run a second mac os vm on a manjaro linux os without any desktop environment.

With unraid all is simplified, because all the needed software is already packaged and you have a gui to interact with the vms, (although some minor change must be done sometimes to fix things), that's why after 3 years I'm still here in the unraid forum.

Edited by ghost82
  • Like 1
Link to comment

So I also had issue w/user scripts not showing up even though I had user scripts installed.  What fixed things for me:

  • followed this SpaceInvader video 
  • installed as Big Sur (user scripts did not install)
  • went back to macinabox and selected download method 2 (user scripts did not install)
  • went back to macinabox and selected Catalina
  • user scripts could now be seen :) 
  • ran the the two user scripts
  • found the VM and launched it however it stated that I was installing macOS Monterey

regardless, I am up and running.

Link to comment

I did everything in the video but when i define UEFI and try to boot from main disk I'm getting error.

It only happens when i remove the opencore image and try to boot from the main image.

 

I did everything which is requirend and moved the bootloaded, defined the type etc.

 

 

Untitled.png

 

Link to comment
11 minutes ago, macmus said:

I did everything in the video but when i define UEFI and try to boot from main disk I'm getting error.

It only happens when i remove the opencore image and try to boot from the main image.

 

I did everything which is requirend and moved the bootloaded, defined the type etc.

 

 

Untitled.png

 

Myself and others have had the exact same problem. I'm a complete newb and I eventually got it going through the messages in this thread. Although, I did end up doing the VM manually rather than via MIAB.

  • Like 1
Link to comment

i just changed the opencore image to the one listed above ... that does only recogize 2 core and macos is extremly sluggish at best.

RemoteVNC to it works like crap :(

 

I think we need a comprehensive new video update.. it's too complicated to play around with this right now :(

  • Like 1
Link to comment
5 hours ago, ghost82 said:

That's because nearly the whole macos is based on metal video acceleration, so I agree that with emaulated graphics the user experience is crap.

Video accelaration is achieved only with a passed through gpu.

So if I passthru some GPU it should work better ?

What are the supported Graphic Cards I can use for BigSur ?

 

edit:

I notice on compability list  710.

 

I have one like that as my primary GPU (secondary is 2080ti for my gaming VM)

IOMMU group 12:[10de:128b] 01:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 710] (rev a1)

[10de:0e0f] 01:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1)

 

Can I use it ?

Problem is that it is used by my UnRaid, cause it is in the primary slot.

 

 

 

Edited by macmus
Link to comment
3 hours ago, macmus said:

So if I passthru some GPU it should work better ?

Of course, like a real mac.

 

3 hours ago, macmus said:

I notice on compability list  710.

 

I have one like that as my primary GPU (secondary is 2080ti for my gaming VM)

IOMMU group 12:[10de:128b] 01:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 710] (rev a1)

[10de:0e0f] 01:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1)

 

Can I use it ?

Problem is that it is used by my UnRaid, cause it is in the primary slot.

Probably, it depends on hardware.

In general, first you need to detach the gpu from being use by unraid (usually vfio, efifb:off), then you should pass a vbios rom too, dumped from your card.

Of course, if this thing will work at all, unraid will have no video output.

Link to comment
9 hours ago, macmus said:

that does only recogize 2 core

It's not the bootloader that sets the number of cores, but libvirt (xml or unraid gui).

The bootloader simply detects the number of cores you are setting and it will fail if it detects an odd number of cores for the mac os vm (like 3, 5, etc.).

  • Like 1
Link to comment
7 hours ago, ghost82 said:

In general, first you need to detach the gpu from being use by unraid (usually vfio, efifb:off), then you should pass a vbios rom too, dumped from your card.

Of course, if this thing will work at all, unraid will have no video output.

i don't need gpu on the console, that is not usefull.

Could you point me to some step-by-step guide how to detach it from unraid?

Link to comment
19 minutes ago, macmus said:

Could you point me to some step-by-step guide how to detach it from unraid?

I don't have any step by step guide, but read some posts in the "vm engine (kvm)" subforum: most of the posts are related to failed gpu passthrough; most of the time I replied with these suggestions.

 

19 minutes ago, macmus said:

but i have GK208B ?

It's kepler, so you're good to go.

Link to comment
10 hours ago, ghost82 said:

It's not the bootloader that sets the number of cores, but libvirt (xml or unraid gui).

The bootloader simply detects the number of cores you are setting and it will fail if it detects an odd number of cores for the mac os vm (like 3, 5, etc.).

so even if it detect it as "solo" it uses all the cores and ram ? there are no apple schenenigans ?

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.