Mac Os Virtualbox Amd Processor



This guide will show you the steps to install Sierra on a AMD Ryzen PC using a VMWare Virtual Machine. I’m making this guide for those who don’t have access to a Mac and need macOS to either try out for a bit or create a macOS boot loader installer for a AMD hackintosh build. There is another VMWare Sierra guide on this site, but with AMD system a modified VMWare image is required to even. Pop open Virtualbox, and Create a new Virtual Machine. Name this MacOS Mojave, and set it to Mac OS X (64-bit). Set the RAM to 4096 MB (or higher if you can achieve it!). When creating the disk, you can use either format versions. Oracle VM VirtualBox enables you to install and execute unmodified versions of Mac OS X guests on supported host hardware. Note that this feature is experimental and thus unsupported. Oracle VM VirtualBox is the first product to provide the modern PC architecture expected by OS X without requiring any of the modifications used by competing. Mar 15, 2021 Open Virtualbox and Click on the “New” button to create a macOS virtual machine. Now type the name as “ macOS Mojave “, type of OS as Mac OS X and the version of OS as Mac OS X (64-bit). And then Click on Next.

How to install Snow Leopard on VirtualBox4

VirtualBox is a world-famous application that offers its users plenty of advanced tools for effective customization. You can freely install any OS on your machine without any interruption from your current OS. Below you can find a detailed manual on how install Mac OS X Snow Leopard on VirtualBox without any difficulties.

Git for el capitan. You will need to have a system with an Intel/AMD processor that is able to support hardware virtualization, VirtualBox, OSX86 iso, and Windows OS used as host operating system.

  1. Download and install the freshest version of VirtualBox for your OS.
  2. Launch VirtualBox and choose “New”. A special wizard will be started to help you to set up everything proplerly.
  3. Name your vertical machine as “OSX” and choose “Mac OS X” from OS menu, and “Mac OS X Server” from Version menu.
  4. Choose some RAM for your VM. We`ve chosen 1500MB.
  5. Create a new hard disk for your virtual machine that will be approx. 20GB
  6. Go to “Settings” and choose “System”. Then you will need to uncheck the option for “Enable EFI (special OSes only)” as on the screenshot below.
  7. Now choose “Storage”, located in the left panel, and choose “Empty. Now select a special folder with the green arrow.Then choose Add at the top of the Window, as shown above. Then you will need to add the OSX86 iso you have already downloaded. Highlight it and tap Select. Then just choose OK and press Start button to launch your VM.
  8. When your begins booting, press F8 and enter -v at the boot prompt to find out any issues that might go wrong. Choose the desirable language and then choose next. In case your mouse sticks, press Right-Ctrl + I. After that you will need to launch Disk Utility located in Utilities toolbar.
  9. You will need to highlight 20GB VBOX HARDDISK as on the screen above. Then choose erase to delete all the data from the virtual disk. Then leave the Disk Utility menu to continue the process. Now you will need to select the highlighted drive and continue.
  10. Now press Done and tap Install button to initiate the installation.

This is all After it boots up, you will be able to run Mac OS X Snow Leopard in VirtualBox under your favorite Windows system.

Mac os virtualbox amd processor download

Install Mac Os Virtualbox

Now you can easily install Mac OS X Snow Leopard on VirtualBox with minimum efforts and in just a few minutes!

Before you proceed: there is NO working solution yet, and I was not able to run unmodified Mac OS X guest on AMD CPU under VirtualBox. It runs fine under KVM however.

Installing it on a machine with Intel CPU is not a problem. While VirtualBox does not officially support OS X guests on non-Mac hardware, it is still trivial to do so, as described in the following post.

However this will not be enough on AMD CPU, where the OS X kernel will halt (Mavericks) or crash (Yosemite) on boot. More changes are needed.

First, we need to tell VirtualBox to present its CPU as Intel. The OS X checks the CPU brand by using CPUID instruction, so we can modify its output in VirtualBox to masquerade our CPU as Intel:

Virtualbox

VBoxManage modifyvm '$1' --cpuidset 00000000 00000001 756e6547 6c65746e 49656e69

Note that the second instruction from the script above (setting –cpuidset 00000001) should NOT be executed on AMD CPU.

This will bring us further in the OS X load process – now it crashes with Guru Meditation 1155 (VINF_EM_TRIPLE_FAULT). This is a rather tough error to debug as this means the CPU encountered an exception while already reacting on the exception. Fortunately we can spot in the log we see the following reason for crash:

IEM: wrmsr(0x8b,0x0`00000000) -> #GP(0)

Which means the CPU attempted to write the MSR register 0x8B the instruction wrmsr 0x8b, 0 – and the reason for the crash. If we could ignore this write, we should be able to proceed further!

Fortunately this is possible. VirtualBox contains (internal) settings to override MSRs, see function src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp – the format is the following:

Mac Os Virtualbox Amd Processor

VBoxManage setextradata VM “VBoxInternal/CPUM/MSRs/name/First value
VBoxManage setextradata VM “VBoxInternal/CPUM/MSRs/name/Last value
VBoxManage setextradata VM “VBoxInternal/CPUM/MSRs/name/Value value

Virtualbox

Here name is a user-defined name (it is used for logging and retrieval of subsequent values). First value must be the first MSR register value to override, in our case 0x8B. If you want to override the register range, you can put the last register in the range into Last value key, which would cover the First-Last range. And if you want a specific value to be read from MSR, you can add it as Value.

What is however more important in our case is that any MSR override added this way will also ignore all writes into that MSR – and this is exactly what we need, as VirtualBox has this register marked as read-only. So to override it, run the following code:

VBoxManage setextradata VM “VBoxInternal/CPUM/MSRs/MsrBiosSign/First” 0x0000008B

Now the Guru Meditation error is gone, and boot process will continue.

If you run Mavericks, you must also disable the audio in your VM configuration. Then the machine will load all the way to the installation UI, which will crash. Did not investigate it further.

If you run Yosemite, the next crash would be still during the kernel load, and will crash in com.apple.kec.corecrypto in _ccsha256_vng_intel_avx1_compress function, which is likely related to SSE3/AVX instructions your CPU doesn’t have, and VirtualBox won’t emulate.

Mac Os Virtualbox Vm

If you want to rebuilt and/or debug VirtualBox:

  • Configure it with ./configure –enable-vnc –disable-java –enable-vde -d –disable-hardening –disable-docs –nofatal –ose
    • Note that -d and –disable-hardening are mandatory
  • Build with source env.sh; kmk
  • If you have a different version from the one you running, you need to rebuild/reload the kernel module as well.
  • The output binary would only start under root, even though your VirtualBox runs under user. It is normal.

When debugging:

Mac Os Virtualbox Amd Processor Update

  • Keep in mind that a lot of VirtualBox code is shared between kernel and userspace; the userspace component loads the binary blob into kernel via ioctl. This means code such as if ( something ) asm ('int $3'); cannot be used, and your logging might not go into the log file. Prefix the code with #ifdef IN_RING3 … #endif to limit it into the userspace component.
  • If your VirtualBox crashes in its kernel module (as a result of you screwing up with the above), it will not be able to load the blob, and this will result in some strange errors such as your changes not working, or VM refuses to start. Keep a dmesg -w opened in a separate window to look up for in-kernel crashes, and if happen, unfortunately you have to reboot.