Virtualization

RSS for tag

Create hardware-accelerated virtual machines to run macOS and Linux-based operating systems.

Posts under Virtualization tag

59 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

Issues when trying to run amd64 binaries under Rosetta 2 on Linux
I am trying to run an executable on Rosetta 2 that has been compiled to run on amd64. My current setup is: MacbookPro with M2 Pro chip. Docker that is running an Ubuntu 20.04 container with the virtualization features enabled and the setting on for "Use Rosetta for x86/amd64 emulation on Apple Silicon" enabled. When running the application, I was initially warned about missing libs. I have added these to the container in the relevant directories and the application now has no missing deps that I can see. When running the executable, I am getting the error shown below and I'm unsure how I can get past this or if I have done something wrong in the steps I have mentioned. *** stack smashing detected ***: terminated Aborted As a final attempt to get this to work, I made a very simple hello world C program, this also displayed the error shown above. I think based on the error before all libs are present that Rosetta is being called correctly and that this is not an issue with my Rosetta install. If anyone has any suggestions it would be greatly appreciated.
2
0
1.5k
Oct ’23
USB device automatic detection on Linux: Apple Virtualization Framework
Hi, I am running GUI Linux using Apple provided reference examples.I would like to know if there is api which supports hot plug of devices and visible on my GUI Linux. I see VZDiskBlockDeviceStorageDeviceAttachment in the docs, but here we need to provide the /dev/* to get it visible in the Linux system, Would like to know the dynamic device detection capability api support if any.
1
0
434
Oct ’23
How virtualization framework works internally
Hello, I am trying to understand how macOS virtualization framework and Virtualization products work on M1 chips. I have tried Parallels Desktop. There are no third party kernel extensions (kext) installed with this product. When i plug an USB device on my mac, i get a popup asking me if i want to plug this device to my host mac or to the current Parallels virtual machine. How can this be possible without kext ? Device management is handled at kernel level... and there are no virtualization framework API for that... I have create a Linux virtual machine with Virtualization framework (similar to GNULinuxVirtualMachineSampleApp project): It works but I don't understand why i can't run Windows Virtual machines. Parallels Desktop seems to work with Virtualization framework too and this product can run ARM Windows Virtual Machine. How can they do that ? Is there a way to simulate key sending with Virtualization framework ? I have create a 64Gb disk (VZDiskImageStorageDeviceAttachment). I have a 64Gb file on my host mac, but i am using only 10Gb on the virtual machine at this moment. Is there a way to optimize the disk image file size ? VZVirtualMachine provides a "pause" method. I don't understand where the virtual machine state (RAM memory, ...) is saved on the host. Thanks a lot
2
0
1.5k
Oct ’23
Will the Virtualization Framework support iCloud accounts?
The new Virtualization framework (and sample code!) are great. It's a lot of fun to run the sample code and quickly fire up multiple VMs of macOS running as a guest. However, the inability to authenticate with any iCloud services is a significant roadblock. Xcode, for example, is not allowing me to authenticate my developer account. Are there any plans to resolve this issue so that iCloud accounts can be authenticated from within a VM?
9
4
3.7k
Oct ’23
VZVirtualMachine randomly freezes
Im using VZVirtualMahcine with Linux guest system. Every once in a while, for no apparent reason, VM just freezes completely (screen just freezes at current state), and CPU usage of the process on host is using 100%. I need to force quit the app then. This happens even if guest os is just running doing nothing. Anyone else experienced this kind of behavior? It was like that on Ventura, and now also on Sonoma. Xcode 14 and 15.
4
1
636
Oct ’23
Running Linux with GUI under Virtualization framework unexpectedly stuck after several minutes
My device is MacBook Pro 13-inch, M1, 2020 Use source code provided by article https://developer.apple.com/documentation/virtualization/running_gui_linux_in_a_virtual_machine_on_a_mac When installing Debian, Fedora or Ubuntu, installation process can stuck at any point and cause the installation failed. Even if it is lucky enough to pass the installation phase, stuck could still happen at any time when the virtual machine is started. It seems that there is some low level error that cause the Linux kernel panic, while during this process error seems to be accumulated--it starts with some user level application in Linux starts to behave weirdly, such as sudo does not authenticate a valid user, apt can not run properly, then Linux kernel panic. Sometimes it behaves like the VM get stuck where it is not sure what happened inside it. I can't provide more detail as it happens randomly and the phenomenon differs each time. While generally it appears to be an accumulated error and eventually the VM get stuck.
7
2
4.4k
Oct ’23
valid check to detect process running on cloud VM vs local machine in mac
I m trying to identify if my launched process is running on a local mac machine(desktop/laptop) or a virtual macOS X instance like AWS EC2, Azure, MacStadium etc. I am using the below check for this: 1 . If running on native Apple hardware, the returned value contains the model name of the hardware: $ sysctl -n hw.model Macmini8,1 On virtualized hardware, the value may contain the hypervisor name: $ sysctl -n hw.model VMware7,0 If the command output doesn't contain the "Mac" substring, the malware considers that it is running in a virtual machine. 2. Checking USB device vendor names The commands used: ioreg -rd1 -c IOUSBHostDevice | grep "USB Vendor Name" Sample output on native Apple hardware: "USB Vendor Name" = "Apple Inc." "USB Vendor Name" = "Apple Inc." "USB Vendor Name" = "Apple, Inc." On virtualized hardware, the value may contain the hypervisor name: "USB Vendor Name" = "VirtualBox" "USB Vendor Name" = "VirtualBox" A virtual machine can be detected by checking if the command output contains a hypervisor name, for example "VirtualBox", "VMware", etc. 3 . Checking the "IOPlatformExpertDevice" registry class The command used: ioreg -rd1 -c IOPlatformExpertDevice The following fields of the IOPlatformExpertDevice class can be checked in order to detect a virtual machine: I wanted to know can a combination of these be used to identify a process running on a Cloud VM with certainity?
2
0
572
Oct ’23
Cannot connect with another computer over avahi
I installed Gentoo in virtual machine using Apple Virtualization framework. In linux then I installed avahi, configured the network in Bridge mode. Now I want to connect from this virtual machine to other computer in local network. I can see other computers on the local network, and connect with them using local IP address. But for some reason these are not detected using .local domain. I run avahi-browse -at|grep PS3 and it detected 4 entries for this computer: IPV4 _ssh._tcp local IPV6 _ssh._tcp local IPV4 _sftp-ssh._tcp local IPV6 _sftp-ssh._tcp local Also avahi-resolve -n PS3.local correctly detects IPv6 address of this machine. So why cannot I connect with the computer using PS3.local name?
1
0
718
Oct ’23
detecting if my process is running on a virtual macos x instance and not on my local mac machine
I m trying to identify if my launched process is running on a local mac machine(desktop/laptop) or a virtual macOS X instance like AWS EC2, Azure, MacStadium etc. I have followed this link which searched for its limited providers in the output, but I m not bound to any limited providers and looking for a general solution which is applicable to all the providers. Is there some hardware/network/virtualization-related information that can be used to identify if the process is launched on a virtual MacOS instance? OR is there some system Information that I can use to be sure that my process is running on a local machine?
3
1
959
Oct ’23
Running GUILinuxVirtualMachineSampleApp Throws error: Guest did stop virtual machine.
I am following example on Apple docs: GUILinuxVirtualMachineSampleApp I am able to create GUI VM first time but from second time onwards it throws error Guest did stop virtual machine. 2023-10-01 20:45:08.991551+0530 GUILinuxVirtualMachineSampleApp[6417:1426889] [client] No error handler for XPC error: Connection invalid Thought some permission error, app cannot access the VM bundle, tried giving all perms, but didn't help, also the error is not specific as to why did guest stop the VM. Please let me know what might be the cause and how to move forward. Deleting VM bundle and restarting works but that's not the solution I am looking forward too.
2
0
525
Oct ’23
Restore image failing on M1 sonoma for virtulization
Hi, I'm trying to implement macOS virtualization on the M1 Sonoma mac mini. Configuration: OS- Mac m1 sonoma Build version- 23A5286i ProductVersion- 14.0 Virtulization image- 13.5.2 bulild version IPSW file - /UniversalMac_13.5.2_22G91_Restore.ipsw I'm following the documentation - https://developer.apple.com/documentation/virtualization/running_macos_in_a_virtual_machine_on_apple_silicon?language=objc Getting following error while reloading the restore image- MacOSVirtualMachineInstaller.swift:32: Fatal error: The restore image failed to load. Unable to connect to installation service Please help.
1
0
483
Oct ’23
Missing Mouse and Trackpad Setting in Mac OS 14 Virtual Machine
I have a Mac OS virtual machine (VM) on my Macbook Pro with M1 Pro chip. The VM was set up using Xcode and Apple's sample code in https://developer.apple.com/documentation/virtualization. Both the host and the VM have Mac OS 14. The mouse and trackpad scroll direction is reverse to what I am used to so I need to change the natural scroll setting. However mouse and trackpad settings are missing in my VM. Usually, they are under Keyboard (host has them). The pointing device was set up using the default in the sample code: static func createPointingDeviceConfiguration() -> VZPointingDeviceConfiguration { return VZMacTrackpadConfiguration() } I have been using this setup before without a problem. But now I am not able to change the scroll direction. Does anyone know what is going on? Any suggestion will be appreciated.
1
0
643
Sep ’23
"Failed to retrieve the machine identifier data."
Hello, When building and running the GUILinuxVirtualMachineSampleApp, I immediately get the error : "Failed to retrieve the machine identifier data." The app runs with a black window and an infinite loop icon without the file picker prompt as expected. Hardware : MacBook Pro M2 OS : macOS 13.2.1 Can't understand what's causing it relatively to the VZGenericMachineIdentifier object. Any insight or suggestion would be more than appreciated. Thanks in advance :). Sincerely, hex0x40
5
0
1.3k
Sep ’23
Virtual Machines and Sonoma
@eskimo Hi! I tried out this new download. I'd installed it on the Ventura host and in the Sonoma VM, but the Sonoma Beta 1 VM does not "see" Beta 2. https://developer.apple.com/download/ How do we update our VM running macOS 14 beta 1 to beta 2? Thanks! Device Support for macOS 14 beta 2 Install Device Support for macOS 14 beta 2 if installing the macOS Seed in a virtual Machine fails on a host Mac. Released June 21, 2023 Build 1700B21 Download Device Support Image Device Support for macOS 14 beta 2 1700B21
3
0
3.0k
Sep ’23
Can't load KEXT in VMs on M1
Trying to get some minimum development working again, I've been waiting to be able to macOS in VMs on M1. Currently both VirtualBuddy, and UTM, can install macOS, I can go to Recovery Boot to disable SIP and enable 3rd party extensions. My M1 runs: ProductVersion: 13.0 BuildVersion: 22A5331f I've tested VM macOS versions of Monterey and Ventura. Here is my old kext (known to be working) loaded on M1 (Ventura) bare-metal 250 0 0xfffffe0006b70000 0x862ac 0x862ac org.openzfsonosx.zfs (2.1.0) BE4DF1D3-FF77-3E58-BC9A-C0B8E175DD97 <21 7 5 4 3 1> The same pkg, using the same steps in the VM, will after clicking Allow, ask to reboot (suspiciously fast), then come up with: System Extension Error: An error occurred with your system extensions during startup and they need to be rebuilt before they can be used. Of course clicking Allow just does the same, reboot, fail, ask to approve again, reboot..fail... Directly on the hardware, the dialog "rebuilding cache" pops up for a few seconds, but with the VMs I do not see it. I'm unfamiliar with the new system, so I'm not sure which log files to look at, but here is the output from kmtuil log, both at Allow and after reboot: https://www.lundman.net/kmutil-log.txt If I was going to make an uneducated guess and pull out some lines by random, maybe: 2022-08-29 20:01:13.169897+0900 0x251 Error 0x0 100 0 kernelmanagerd: Kcgen roundtrip failed with: Boot policy error: Error creating linked manifest: code BOOTPOLICY_ERROR_ACM 2022-08-29 20:01:13.170200+0900 0x251 Error 0x0 100 0 kernelmanagerd: Kcgen roundtrip failed checkpoint saveAuxkc: status:error fatalError:Optional("Boot policy error: Error creating linked manifest: code BOOTPOLICY_ERROR_ACM") 2022-08-29 20:01:13.170201+0900 0x251 Error 0x0 100 0 kernelmanagerd: Kcgen roundtrip failed: missing last checkpoint or errors found 2022-08-29 20:01:13.170242+0900 0x251 Default 0x0 100 0 kernelmanagerd: Deleting Preboot content Any work arounds? Loading kexts on my only M1 is a hard way to develop.
3
2
1.9k
Sep ’23
Virtualize framework Connection Invalid when starting VM
Hi. Sorry if this question has been answered in another post, if it has I can't find it. My device is MacBook Pro 16-inch, M1, 2021. So I tried to create a VM using this guide from Apple I followed the guide and used an image of debian. Everything worked fine until the machine appeared stuck at some point of the installation. I chose my languages then I had some other prompt asking me to install something but I can't remember precisely the step at which I thought it was freezed (I think it was the GNOME install) So because the machine was not responding for several minutes (I might have been too hurried) I quitted the process by simply clicking on the Quit button in the VM window. The problem is that from that point onward, I can't load any VM anymore. The build is successful in Xcode, the machine starts but immediately quits with this response from Xcode logs : Virtual machine successfully started. Guest did stop virtual machine. 2023-02-02 22:22:45.413600+0100 GUILinux[22984:380971] [client] No error handler for XPC error: Connection invalid I just can't understand why, I tried to delete and download the guide again but it doesn't work. I will add that it's my first time using Xcode and I might have missed something obivous.
3
1
1.4k
Aug ’23
New macOS native VM - Curious resolution selection
Neat, looks like macOS Sonoma has native virtualisation now. You have to build a Swift app, which is a bit weird, but it works, and on an M1 chip. One thing though... here's a screenshot of the Displays screen in Settings: Curious why these two resolutions were decided. My host screen is 1920 x 1080, so one resolution is far too high, and the other is just a bit too small. Something in between would be nice! Here’s the guide if anyone wants to have a go: https://developer.apple.com/documentation/virtualization/running_macos_in_a_virtual_machine_on_apple_silicon You’ll need macOS 14 Sonoma and Xcode 15 beta
3
1
695
Jul ’23