Qemu package and guide for OSX available
Moderators: Cat_7, Ronald P. Regensburg
Re: Qemu package and guide for OSX available
Hi all,
A new experimental Qemu for macOS build has been linked to in the experimental builds post (see second post in this thread).
viewtopic.php?f=34&t=8848
It supports the vmnet backend, so it can replace the malfunctioning tap device bridging option on Catalina and above.
Please do read the included README-VMNET.txt and qemu.command file.
The build was created on Big Sur. The vmnet function will, for now, only work when ran as root.
As always with our experimental builds: you are on your own.
But please report back your experiences
Best,
Cat_7
A new experimental Qemu for macOS build has been linked to in the experimental builds post (see second post in this thread).
viewtopic.php?f=34&t=8848
It supports the vmnet backend, so it can replace the malfunctioning tap device bridging option on Catalina and above.
Please do read the included README-VMNET.txt and qemu.command file.
The build was created on Big Sur. The vmnet function will, for now, only work when ran as root.
As always with our experimental builds: you are on your own.
But please report back your experiences
Best,
Cat_7
Re: Qemu package and guide for OSX available
I tried the experimental build on Catalina (with sudo ./qemu.command under New Termial at Folder), but I get these errors:
dyld: lazy symbol binding failed: Symbol not found: _pthread_jit_write_protect_np
Referenced from: /Applications/Qemu-OSX-6.0pre-vmnet-05-02-2021/./qemu-system-ppc (which was built for Mac OS X 11.0)
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _pthread_jit_write_protect_np
Referenced from: /Applications/Qemu-OSX-6.0pre-vmnet-05-02-2021/./qemu-system-ppc (which was built for Mac OS X 11.0)
Expected in: /usr/lib/libSystem.B.dylib
./qemu.command: line 13: 8854 Abort trap: 6 ./qemu-system-ppc -L pc-bios -boot c -M mac99,via=pmu -m 512 -drive file=MacOS9.2.img,format=raw,media=disk -netdev vmnet-macos,id=vm,mode=bridged,ifname=en0 -device sungem,netdev=vm
atsushi@MacBook-Pro-3 Qemu-OSX-6.0pre-vmnet-05-02-2021 %
No idea what this means...
dyld: lazy symbol binding failed: Symbol not found: _pthread_jit_write_protect_np
Referenced from: /Applications/Qemu-OSX-6.0pre-vmnet-05-02-2021/./qemu-system-ppc (which was built for Mac OS X 11.0)
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _pthread_jit_write_protect_np
Referenced from: /Applications/Qemu-OSX-6.0pre-vmnet-05-02-2021/./qemu-system-ppc (which was built for Mac OS X 11.0)
Expected in: /usr/lib/libSystem.B.dylib
./qemu.command: line 13: 8854 Abort trap: 6 ./qemu-system-ppc -L pc-bios -boot c -M mac99,via=pmu -m 512 -drive file=MacOS9.2.img,format=raw,media=disk -netdev vmnet-macos,id=vm,mode=bridged,ifname=en0 -device sungem,netdev=vm
atsushi@MacBook-Pro-3 Qemu-OSX-6.0pre-vmnet-05-02-2021 %
No idea what this means...
Re: Qemu package and guide for OSX available
Hi,
I assume this means this build will not run in Catalina (as was expected) as the library /usr/lib/libSystem.B.dylib does not provide the required _pthread_jit_write_protect_np function.
But I 'm not 100% sure, so we need to wait for someone with a Big Sur host to test it.
Best,
Cat_7
I assume this means this build will not run in Catalina (as was expected) as the library /usr/lib/libSystem.B.dylib does not provide the required _pthread_jit_write_protect_np function.
But I 'm not 100% sure, so we need to wait for someone with a Big Sur host to test it.
Best,
Cat_7
Re: Qemu package and guide for OSX available
A new version of the vmnet enabled build was posted in the experimental builds post (2nd post in this thread).
It now supports Catalina and Big Sur. Be sure to read the readme.
Best,
Cat_7
It now supports Catalina and Big Sur. Be sure to read the readme.
Best,
Cat_7
Re: Qemu package and guide for OSX available
I tried the new build but I get this error:
qemu-system-ppc-vmnet: disk: drive with bus=0, unit=0 (index=0) exists
Also, shouldn't there be a line:
xattr -d com.apple.quarantine ./qemu-img
in the allow_qemu_to_run.command?
Please verify.
qemu-system-ppc-vmnet: disk: drive with bus=0, unit=0 (index=0) exists
Also, shouldn't there be a line:
xattr -d com.apple.quarantine ./qemu-img
in the allow_qemu_to_run.command?
Please verify.
- adespoton
- Forum All-Star
- Posts: 4286
- Joined: Fri Nov 27, 2009 5:11 am
- Location: Emaculation.com
- Contact:
Re: Qemu package and guide for OSX available
I tested on Big Sur 11.2.1 and had no issues.
Re: Qemu package and guide for OSX available
Missing qemu-img in the allow_qemu_to_run script was fixed.
The issue with drive with bus=0, unit=0 (index=0) exists is related to the command line.
Perhaps you haven't referred to an usb device correctly?
Best,
Cat_7
The issue with drive with bus=0, unit=0 (index=0) exists is related to the command line.
Perhaps you haven't referred to an usb device correctly?
Best,
Cat_7
Re: Qemu package and guide for OSX available
It worked once I removed the "-netdev" line from the command file.
I guess its default values are not accepted.
I also tried replacing this line with 'shared' and 'host' variations, but for those I get:
-netdev vmnet-macos,id=vm,mode=host: Device 'vmnet-macos' could not be initialized
Where do I find the values that I should put into these commands?
I guess its default values are not accepted.
I also tried replacing this line with 'shared' and 'host' variations, but for those I get:
-netdev vmnet-macos,id=vm,mode=host: Device 'vmnet-macos' could not be initialized
Where do I find the values that I should put into these commands?
Re: Qemu package and guide for OSX available
Hi,
Please note you need to run Qemu as root to use the vmnet option.
Here are the options for the various vmnet settings:
-netdev vmnet-macos,id=str,mode=bridged[,ifname=ifname] -device sungem,netdev=str
Configures a macOS-provided vmnet network in physical interface bridge mode
The physical interface to bridge with defaults to en0 if unspecified
This allows bridge ethernet, so basically replacing the tap device option.
-netdev vmnet-macos,id=str,mode=host[,dhcp_start_address=addr,dhcp_end_address=addr,dhcp_subnet_mask=mask] -device sungem,netdev=str
and
-netdev vmnet-macos,id=str,mode=shared[,dhcp_start_address=addr,dhcp_end_address=addr,dhcp_subnet_mask=mask] -device sungem,netdev=str
Configure a macOS-provided vmnet network in host or shared mode.
The DHCP configuration will be set automatically if unspecified
This allows connecting to the host (mode=host) and other qemu instances running mode=host
or
Connecting through NAT (mode=shared) like the default network option where an internal dhcp server provides an ip address etc to the guest.
Best,
Cat_7
Please note you need to run Qemu as root to use the vmnet option.
Here are the options for the various vmnet settings:
-netdev vmnet-macos,id=str,mode=bridged[,ifname=ifname] -device sungem,netdev=str
Configures a macOS-provided vmnet network in physical interface bridge mode
The physical interface to bridge with defaults to en0 if unspecified
This allows bridge ethernet, so basically replacing the tap device option.
-netdev vmnet-macos,id=str,mode=host[,dhcp_start_address=addr,dhcp_end_address=addr,dhcp_subnet_mask=mask] -device sungem,netdev=str
and
-netdev vmnet-macos,id=str,mode=shared[,dhcp_start_address=addr,dhcp_end_address=addr,dhcp_subnet_mask=mask] -device sungem,netdev=str
Configure a macOS-provided vmnet network in host or shared mode.
The DHCP configuration will be set automatically if unspecified
This allows connecting to the host (mode=host) and other qemu instances running mode=host
or
Connecting through NAT (mode=shared) like the default network option where an internal dhcp server provides an ip address etc to the guest.
Best,
Cat_7
Re: Qemu package and guide for OSX available
Oops, my bad.
Runs happily when launched by the sudo command under Terminal at Folder.
Thank you Cat_7 for the command details!
Runs happily when launched by the sudo command under Terminal at Folder.
Thank you Cat_7 for the command details!
Re: Qemu package and guide for OSX available
Dear Cat_7,
This is my first post on this forum, so forgive me if I should not ask these questions here.
I'm trying to use Mac OS X 10.3 on my Macbook with Big Sur using Qemu. (I think) I managed to install OS X 10.3 following 'Running Qemu-system-ppc with Mac OS/OSX guests in macOS'. However, I keep getting stuck at transferring files through a network connection. Namely, in Qemu, after having entered smb://my-ip-adress as server address, I'm not requested to provide my host's username and/or password, as implied in your guide. I just get the error 'Could not connect to the server because the name or password is not correct' - which is strange considering the fact that I haven't even filled these in. At this point, I'm clueless what I'm doing/what is going wrong. I enabled file sharing on the host.
This is the content of the qemu.command file:
#!/bin/bash
cd "$(dirname "$0")"
./qemu-system-ppc -L pc-bios -boot c -M mac99,via=pmu -m 512 \
-prom-env 'auto-boot?=true' -prom-env 'boot-args=-v' -prom-env 'vga-ndrv?=true' \
-drive file=MacOS10.3.img,format=raw,media=disk \
-drive file=MacOS10.3.iso,format=raw,media=cdrom \
-drive file=MacOS10.33.iso,format=raw,media=cdrom \
-drive file=MacOS10.333.iso,format=raw,media=cdrom \
-netdev user,id=network01 -device sungem,netdev=network01 \
-device VGA,edid=on \
-g 1024x768x32 \
Thank you very much in advance for your help.
Kind regard,
ldr_12
This is my first post on this forum, so forgive me if I should not ask these questions here.
I'm trying to use Mac OS X 10.3 on my Macbook with Big Sur using Qemu. (I think) I managed to install OS X 10.3 following 'Running Qemu-system-ppc with Mac OS/OSX guests in macOS'. However, I keep getting stuck at transferring files through a network connection. Namely, in Qemu, after having entered smb://my-ip-adress as server address, I'm not requested to provide my host's username and/or password, as implied in your guide. I just get the error 'Could not connect to the server because the name or password is not correct' - which is strange considering the fact that I haven't even filled these in. At this point, I'm clueless what I'm doing/what is going wrong. I enabled file sharing on the host.
This is the content of the qemu.command file:
#!/bin/bash
cd "$(dirname "$0")"
./qemu-system-ppc -L pc-bios -boot c -M mac99,via=pmu -m 512 \
-prom-env 'auto-boot?=true' -prom-env 'boot-args=-v' -prom-env 'vga-ndrv?=true' \
-drive file=MacOS10.3.img,format=raw,media=disk \
-drive file=MacOS10.3.iso,format=raw,media=cdrom \
-drive file=MacOS10.33.iso,format=raw,media=cdrom \
-drive file=MacOS10.333.iso,format=raw,media=cdrom \
-netdev user,id=network01 -device sungem,netdev=network01 \
-device VGA,edid=on \
-g 1024x768x32 \
Thank you very much in advance for your help.
Kind regard,
ldr_12
Last edited by ldr_12 on Sun Mar 21, 2021 6:00 pm, edited 1 time in total.
Re: Qemu package and guide for OSX available
Quick question: Does mac os x have any issues on qemu-system-ppc?
Re: Qemu package and guide for OSX available
Could you be more specific?Quick question: Does mac os x have any issues on qemu-system-ppc?
The emulation in itself is robust but slow. You might be missing some features like sound.
Best,
Cat_7
Re: Qemu package and guide for OSX available
@ ldr_12
Hi,
The solution Qemu had for connecting to macOS hosts will no longer work on Catalina and Big Sur.
As a replacement we have an experimental build available in which Qemu makes use of the newer networking options in macOS. Experimental in the sense that the source code making that possible is not yet in the main Qemu source code.
You can download this version here:
https://surfdrive.surf.nl/files/index.p ... 3/download.
The procedure to get that version going is the same as the one you had to follow to get the older version going.
Please see the readme for instructions on how to configure the network. After you succeed, you need to enable file sharing in your 10.3 guest, after which you can connect to it from your host (so not the other way around).
Based on your current qemu.command file, I think this would work with the new version:
Cat_7
Hi,
The solution Qemu had for connecting to macOS hosts will no longer work on Catalina and Big Sur.
As a replacement we have an experimental build available in which Qemu makes use of the newer networking options in macOS. Experimental in the sense that the source code making that possible is not yet in the main Qemu source code.
You can download this version here:
https://surfdrive.surf.nl/files/index.p ... 3/download.
The procedure to get that version going is the same as the one you had to follow to get the older version going.
Please see the readme for instructions on how to configure the network. After you succeed, you need to enable file sharing in your 10.3 guest, after which you can connect to it from your host (so not the other way around).
Based on your current qemu.command file, I think this would work with the new version:
Best,#!/bin/bash
cd "$(dirname "$0")"
./qemu-system-ppc-vmnet -L pc-bios -boot c -M mac99,via=pmu -m 512 \
-drive file=MacOS10.3.img,format=raw,media=disk \
-netdev vmnet-macos,id=vm,mode=host -device sungem,netdev=vm
-g 1024x768x32
Cat_7
-
- Space Cadet
- Posts: 3
- Joined: Sat Apr 10, 2021 5:39 am
Re: Qemu package and guide for OSX available
Hi.
I'm new on this and I'm trying to install Mac OS X Cheetah on QEMU but i can't do it because i receive this message: "Still waiting for root device".
What should I do?
i'll let my qemu.command:
#!/bin/bash
cd "$(dirname "$0")"
./qemu-system-ppc -L pc-bios -boot d -M mac99,via=pmu -m 512 \
-prom-env 'auto-boot?=true' -prom-env 'boot-args=-v' -prom-env 'vga-ndrv?=true' \
-drive file=MacOSCheetah.iso,format=raw,media=cdrom \
-drive file=MacOS10.img,format=raw,media=disk \
-netdev user,id=network01 -device sungem,netdev=network01 \
-device VGA,edid=on \
Maybe the .iso is damaged?
Thanks.
I'm new on this and I'm trying to install Mac OS X Cheetah on QEMU but i can't do it because i receive this message: "Still waiting for root device".
What should I do?
i'll let my qemu.command:
#!/bin/bash
cd "$(dirname "$0")"
./qemu-system-ppc -L pc-bios -boot d -M mac99,via=pmu -m 512 \
-prom-env 'auto-boot?=true' -prom-env 'boot-args=-v' -prom-env 'vga-ndrv?=true' \
-drive file=MacOSCheetah.iso,format=raw,media=cdrom \
-drive file=MacOS10.img,format=raw,media=disk \
-netdev user,id=network01 -device sungem,netdev=network01 \
-device VGA,edid=on \
Maybe the .iso is damaged?
Thanks.
Re: Qemu package and guide for OSX available
Hi,
If you get past the yellow openbios window, your iso is bootable.
For Mac OS X 10.0 and 10.1 you should use -M mac99, not -M mac99,via=pmu
https://www.emaculation.com/doku.php/pp ... mu-for-osx
Best,
Cat_7
If you get past the yellow openbios window, your iso is bootable.
For Mac OS X 10.0 and 10.1 you should use -M mac99, not -M mac99,via=pmu
https://www.emaculation.com/doku.php/pp ... mu-for-osx
Best,
Cat_7
-
- Space Cadet
- Posts: 3
- Joined: Sat Apr 10, 2021 5:39 am
Re: Qemu package and guide for OSX available
Hmmmm i did it and the error persists.Cat_7 wrote: ↑Sat Apr 10, 2021 8:03 am Hi,
If you get past the yellow openbios window, your iso is bootable.
For Mac OS X 10.0 and 10.1 you should use -M mac99, not -M mac99,via=pmu
https://www.emaculation.com/doku.php/pp ... mu-for-osx
Best,
Cat_7
i don't know how to attach the image but the link is there: https://ibb.co/99jB3LG
Last edited by jorgesuede on Sat Apr 10, 2021 4:19 pm, edited 1 time in total.
Re: Qemu package and guide for OSX available
Hi,
How did you create the image on which you want to install?
Your command line is Ok, but what happens when you only boot from the cd with this command line?
If this will not boot, you might indeed look for another iso.
#!/bin/bash
cd "$(dirname "$0")"
./qemu-system-ppc -L pc-bios -boot d -M mac99 -m 512 \
-prom-env 'boot-args=-v' \
-drive file=MacOSCheetah.iso,format=raw,media=cdrom
How did you create the image on which you want to install?
Your command line is Ok, but what happens when you only boot from the cd with this command line?
If this will not boot, you might indeed look for another iso.
#!/bin/bash
cd "$(dirname "$0")"
./qemu-system-ppc -L pc-bios -boot d -M mac99 -m 512 \
-prom-env 'boot-args=-v' \
-drive file=MacOSCheetah.iso,format=raw,media=cdrom
-
- Space Cadet
- Posts: 3
- Joined: Sat Apr 10, 2021 5:39 am
Re: Qemu package and guide for OSX available
Hi Cat_7,
I created using the Terminal on the QEMU folder with this code: ./qemu-img create -f raw -o size=8G MacOS.img
About testing the command line you've sent, the error persists.
With this command i've used two Puma ISO and the error is appearing but with the Cheetah ISO, appears this follow error on the yellow screen: Trying CD No valid state has been set by load or init-program. (So i'm guessing that on this case, the ISO is damaged).
I created using the Terminal on the QEMU folder with this code: ./qemu-img create -f raw -o size=8G MacOS.img
About testing the command line you've sent, the error persists.
With this command i've used two Puma ISO and the error is appearing but with the Cheetah ISO, appears this follow error on the yellow screen: Trying CD No valid state has been set by load or init-program. (So i'm guessing that on this case, the ISO is damaged).
Re: Qemu package and guide for OSX available
Greetings!
I'm trying to open Gemu in Big Sur but the command "sudo ./allow_qemu_to_run.command" only gives the the following:
xattr: ./qemu-system-ppc: No such xattr: com.apple.quarantine
xattr: ./qemu-img: No such xattr: com.apple.quarantine
xattr: ./qemu.command: No such xattr: com.apple.quarantine
xattr: ./Libs: No such xattr: com.apple.quarantine
xattr: ./Libs/libffi.7.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libgmodule-2.0.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libgio-2.0.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libgobject-2.0.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libglib-2.0.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libgthread-2.0.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libintl.8.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libpcre.1.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libpixman-1.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libusb-1.0.0.dylib: No such xattr: com.apple.quarantine
I tried removing the quarantine with "sudo xattr -r -d com.apple.quarantine ./qemu.command" and some other variants but got nowhere; apparently I need a mac os 9.0something iso to make this work? WHat am I doing wrong?
I'm trying to open Gemu in Big Sur but the command "sudo ./allow_qemu_to_run.command" only gives the the following:
xattr: ./qemu-system-ppc: No such xattr: com.apple.quarantine
xattr: ./qemu-img: No such xattr: com.apple.quarantine
xattr: ./qemu.command: No such xattr: com.apple.quarantine
xattr: ./Libs: No such xattr: com.apple.quarantine
xattr: ./Libs/libffi.7.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libgmodule-2.0.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libgio-2.0.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libgobject-2.0.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libglib-2.0.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libgthread-2.0.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libintl.8.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libpcre.1.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libpixman-1.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libusb-1.0.0.dylib: No such xattr: com.apple.quarantine
I tried removing the quarantine with "sudo xattr -r -d com.apple.quarantine ./qemu.command" and some other variants but got nowhere; apparently I need a mac os 9.0something iso to make this work? WHat am I doing wrong?
Re: Qemu package and guide for OSX available
Hi,
After your ran the allow qemu to run script once the attribute was removed, so running it a second time will produce the output you see. The script will not start Qemu.
Following this step you need to edit the qemu.command file to set the paths to your installation disk image and hard disk image and then run qemu.command.
See our guide here: https://www.emaculation.com/doku.php/pp ... mu-for-osx
Best,
Cat_7
After your ran the allow qemu to run script once the attribute was removed, so running it a second time will produce the output you see. The script will not start Qemu.
Following this step you need to edit the qemu.command file to set the paths to your installation disk image and hard disk image and then run qemu.command.
See our guide here: https://www.emaculation.com/doku.php/pp ... mu-for-osx
Best,
Cat_7
Re: Qemu package and guide for OSX available
Hi,
As said in the wiki: not yet available. The developer needs more time to sort out some issues.
That repository will not produce a working build to run Mac OS.
Best,
Cat_7
As said in the wiki: not yet available. The developer needs more time to sort out some issues.
That repository will not produce a working build to run Mac OS.
Best,
Cat_7
Re: Qemu package and guide for OSX available
I have moved from my previous computer using a 4K display with 3840x2160 resolution (which is a nice 2x 1080p) to a 24" iMac with a screen resolution of 4480 × 2520 (retina). I found that my emulated OS9 looks blurry now, with the resolution set to 1920x1080 and the image stretched to full screen.
I suspect this is due to the pixels not lining up to a nice exact 2x the native resolution, and Qemu scaling or interpolating the pixels. Is there any way to control this or to approximate the previous experience?
I suspect this is due to the pixels not lining up to a nice exact 2x the native resolution, and Qemu scaling or interpolating the pixels. Is there any way to control this or to approximate the previous experience?
- Ronald P. Regensburg
- Expert User
- Posts: 7835
- Joined: Thu Feb 09, 2006 10:24 pm
- Location: Amsterdam, Netherlands
Re: Qemu package and guide for OSX available
I do not know if this works with QEMU, but it works for me with SheepShaver.
In SheepShaver (and BasiliskII) one can choose for options with different scaling algorithms for Retina screens. However, I do not like the result.
What works for me:
I set the resolution in the emulator to a quarter of the screen resolution: 1120x630. The result looks fine in both window mode and fullscreen. (Full screen will only work as intended here if the MacOS9 desktop and menu bar fill all of the screen. I do not know how that is with QEMU
You can also try using half of the screen resolution: 2240x1260. The emulator will fill all of your screen.
If you are on a Mac, you can also try different resolution settings in the Displays System Preferences.
In SheepShaver (and BasiliskII) one can choose for options with different scaling algorithms for Retina screens. However, I do not like the result.
What works for me:
I set the resolution in the emulator to a quarter of the screen resolution: 1120x630. The result looks fine in both window mode and fullscreen. (Full screen will only work as intended here if the MacOS9 desktop and menu bar fill all of the screen. I do not know how that is with QEMU
You can also try using half of the screen resolution: 2240x1260. The emulator will fill all of your screen.
If you are on a Mac, you can also try different resolution settings in the Displays System Preferences.