Haiku Beta4 in qemu (x86 emulation on Arm core Mac)

Looking for hints on the correct config to run Haiku Beta4 in qemu using x86 emulation. Host is an Arm-based Mac, running qemu 7.2.0 (utm 4.1.6). I’ve tried both the pc-q35-7.2 (q35) and pc-i440fx-7.2 configs with the x86 build, and both crash at some point in the installation process - installer hangs in one case (q35), in the other I get a kernel panic (i440fx). Thanks!

1 Like

I don’t have a definite answer but perhaps the QtEmu guide can help. One thing that stood out to me was that they set the CPU option to core2duo: Virtualizing Haiku in QtQEMU | Haiku Project

I’m running Haiku with UTM without any issue. It is a wrapper of QEMU.

I’ll post the VM settings when I’m back at my laptop.

Edit: settings capture and command line. Hope this helps!

image

qemu-system-x86_64
 -L /Applications/UTM.app/Contents/Resources/qemu
 -S
 -spice "unix=on,addr=/Users/itorres/Library/Group Containers/WDNLXAD4W8.com.utmapp.UTM/D9EAE545-D751-46BB-BA3E-A1FDA16DBFB3.spice,disable-ticketing=on,image-compression=off,playback-compression=off,streaming-video=off,gl=off"
 -chardev spiceport,id=org.qemu.monitor.qmp,name=org.qemu.monitor.qmp.0
 -mon chardev=org.qemu.monitor.qmp,mode=control
 -nodefaults
 -vga none
 -device e1000,mac=CE:04:07:B8:93:3D,netdev=net0
 -netdev vmnet-shared,id=net0
 -device virtio-vga
 -smp cpus=1,sockets=1,cores=1,threads=1
 -machine q35,vmport=off,i8042=off
 -accel tcg,tb-size=1024
 -global PIIX4_PM.disable_s3=1
 -global ICH9-LPC.disable_s3=1
 -m 4096
 -audiodev coreaudio,id=audio0
 -device intel-hda
 -device hda-duplex,audiodev=audio0
 -usb
 -device usb-tablet,bus=usb-bus.0
 -device usb-mouse,bus=usb-bus.0
 -device usb-kbd,bus=usb-bus.0
 -device nec-usb-xhci,id=usb-controller-0
 -chardev spicevmc,name=usbredir,id=usbredirchardev0
 -device usb-redir,chardev=usbredirchardev0,id=usbredirdev0,bus=usb-controller-0.0
 -chardev spicevmc,name=usbredir,id=usbredirchardev1
 -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1,bus=usb-controller-0.0
 -chardev spicevmc,name=usbredir,id=usbredirchardev2
 -device usb-redir,chardev=usbredirchardev2,id=usbredirdev2,bus=usb-controller-0.0
 -device ide-cd,bus=ide.0,drive=driveB41CC221-0097-43BA-A1CA-70AB2DD4B496,bootindex=0
 -drive if=none,media=cdrom,id=driveB41CC221-0097-43BA-A1CA-70AB2DD4B496,readonly=on
 -device ide-hd,bus=ide.1,drive=drive823B86C9-19F3-4597-BD38-6C8BE8EB53D7,bootindex=1
 -drive "if=none,media=disk,id=drive823B86C9-19F3-4597-BD38-6C8BE8EB53D7,file=/Users/itorres/Library/Containers/com.utmapp.UTM/Data/Documents/Haiku R1.utm/Data/823B86C9-19F3-4597-BD38-6C8BE8EB53D7.qcow2,discard=unmap,detect-zeroes=unmap"
 -device virtio-serial
 -device virtserialport,chardev=org.qemu.guest_agent,name=org.qemu.guest_agent.0
 -chardev spiceport,id=org.qemu.guest_agent,name=org.qemu.guest_agent.0
 -device virtserialport,chardev=vdagent,name=com.redhat.spice.0
 -chardev spicevmc,id=vdagent,debug=0,name=vdagent
 -device virtserialport,chardev=charchannel1,id=channel1,name=org.spice-space.webdav.0
 -chardev spiceport,name=org.spice-space.webdav.0,id=charchannel1
 -name "Haiku R1"
 -uuid D9EAE545-D751-46BB-BA3E-A1FDA16DBFB3
 -device virtio-rng-pci
1 Like