Qemu PPC for OSX Installing Qemu system ppc for OSX This guide covers installing and running qemu-system-ppc with Mac OS and OSX PPC guests on OSX hosts. Qemu-system-ppc can run PPC Mac OS 9.0 to 9.2 and PPC OSX 10.0 to 10.5 Requirements. Qemu program.

< QEMU
This article has some todo items:

This article describes some of the options useful for configuring QEMU virtual machines. For the most up to date options for the current QEMU install run man qemu at a terminal. It is important to note that the command has changed from qemu to qemu-system-x86_64 to launch QEMU as a 64-bit virtual machine.

  • 10Networking
    • 10.3Network bridge
      • 10.3.4Host configuration

Qemu Hackintosh

Display options

There are a few available options to specify the kind of display to use in QEMU.

  • -display sdl - Display video output via SDL (usually in a separate graphics window).
  • -display curses - Displays video output via curses.
Qemu Mac Manual
  • -display none - Do not display video output. This option is different than the -nographic option. See the man page for more information.
  • -display gtk - Display video output in a GTK window. This is probably the option most users are looking for.
  • -vnc 127.0.0.1:<X> - Start a VNC server on display X (accepts an argument (X) for the display number). Substitute X for the number of the display (0 will then listen on 5900, 1 on 5901, etc).

For example to have QEMU send the display to a GTK window add the following option to the list:

Machine

  • -machine type=q35,accel=kvm - Modern chipset (PCIe, AHCI, ...) and hardware virtualization acceleration
  • -object rng-random,id=rng0,filename=/dev/urandom -device virtio-rng-pci,rng=rng0 - Pass-through for host random number generator. Accelerates startup of e.g. Debian VMs because of missing entropy.

Processor

  • -cpu <CPU> - Specify a processor architecture to emulate. To see a list of supported architectures, run: qemu-system-x86_64 -cpu ?
  • -cpu host - (Recommended) Emulate the host processor.
  • -smp <NUMBER> - Specify the number of cores the guest is permitted to use. The number can be higher than the available cores on the host system. Use -smp $(nproc) to use all currently available cores.

RAM

  • -m MEMORY - Specify the amount of memory (default: 128 MB). For instance: -m 256M (M stands for Megabyte, G for Gigabyte).

Hard drive

Mac
  • -hda IMAGE.img - Set a virtual hard drive and use the specified image file for it.
  • -drive - Advanced configuration of a virtual hard drive:
  • Very fast Virtio SCSI emulation for block discards (TRIM), native command queuing (NCQ). You need at least one virtio-scsi-controller and for each block device a -drive and -device scsi-hd pair.
  • -drive file=IMAGE.img,if=virtio - Set a virtual VirtIO-BLK hard drive and use the specified image file for it.
  • -drive file=/dev/sdX#,cache=none,if=virtio - Set a virtual VirtIO-BLK hard drive and use the specified partition for it.
  • -drive id=disk,file=IMAGE.img,if=none -device ahci,id=ahci -device ide-drive,drive=disk,bus=ahci.0 - Set emulation layer for an ICH-9 AHCI controller and use the specified image file for it. The AHCI emulation supports NCQ, so multiple read or write requests can be outstanding at the same time.

Optical drives

  • -cdrom IMAGE.iso - Set a virtual CDROM drive and use the specified image file for it.
  • -cdrom /dev/cdrom - Set a virtual CDROM drive and use the host drive for it.
  • -drive - Advanced configuration of a virtual CDROM drive:
  • -drive file=IMAGE.iso,media=cdrom - Set a virtual CDROM drive and use the specified image file for it. With this syntax you can set multiple drives.

Boot order

  • -boot c - Boot the first virtual hard drive.
  • -boot d - Boot the first virtual CD-ROM drive.
  • -boot n - Boot from virtual network.

Graphics card

QEMU can emulate several graphics cards:

  • -vga cirrus - Simple graphics card. Every guest OS has a built-in driver.
  • -vga std - Support resolutions >= 1280x1024x16. Linux, Windows XP and newer guest have a built-in driver.
  • -vga vmware - VMware SVGA-II, more powerful graphics card. Install x11-drivers/xf86-video-vmware in Linux guests, VMware Tools in Windows XP and newer guests.
  • -vga qxl - More powerful graphics card for use with SPICE.

To get more performance use the same color depth for your host as you use in the guest.

PCI pass-through

Note
This will NOT work for GPUs. It's completely different. Take a look here and here
KERNELFor AMD processors:

Find the host PCI device:

Note down the device (00:1b.0) and vendor (8086:284b) ID.

Unbind it:

root #echo '8086 284b' > /sys/bus/pci/drivers/pci-stub/new_id
root #echo '0000:00:1b.0' > /sys/bus/pci/devices/0000:00:1b.0/driver/unbind
root #echo '0000:00:1b.0' > /sys/bus/pci/drivers/pci-stub/bind

And bind it to guest:

-device pci-assign,host=00:1b.0

Networking

Default - without any -netdev option - is Pass-through.

Important
Pass-through method only works for TCP and UDP connections.

Thus, ping is not a suitable tool to test networking connectivity because it uses ICMP.

Try using curl or other UDP or TCP/IP software for testing.

Pass-through

  • -netdev user - The QEMU process will create TCP and UDP connections for each connection in the VM. The virtual machine does not have an address reachable from the outside.
  • -device virtio-net,netdev=vmnic -netdev user,id=vmnic - (Recommended) Pass-through with VirtIO support.

Qemu Mac Manual Update

  • -netdev user,id=vmnic,hostfwd=tcp:127.0.0.1:9001-:22 - Let QEMU listen on port 9001. Connections to that port will be relayed to the VM on port 22. ssh -p 9001 localhost will thus log into the VM.


Qemu Mac Manual Downloads

Virtual network cable (TAP)

  • -device virtio-net,netdev=vmnic -netdev tap,id=vmnic,ifname=vnet0,script=no,downscript=no - A new device (vnet0) is created by QEMU on the host, the other end of the 'cable' is at the VM.


Network bridge

With this setup, we create a TAP interface (see above) and connect it to a virtual switch (the bridge).

Please first read about network bridging and QEMU about configuring kernel to support bridging.

OpenRC

Assuming a simple case with only one Virtual Machine with tap0 net interface and only one net interface on host with eth0.

Host and guest can be on the same subnet.Configuration based on this forum post. [1]

Hackintosh

systemd

Create the bridge:

FILE/etc/systemd/network/vmbridge.netdev

Configure the bridge's address:

FILE/your/path/to/qemu/stuff/addtobridge.sh