Return to site

Install Qemu For Mac

broken image

 

 

 

Debian/Ubuntu: apt-get install qemu. Fedora: dnf install @virtualization. Gentoo: emerge -ask app-emulation/qemu. RHEL/CentOS: yum install qemu-kvm. SUSE: zypper install qemu. QEMU can be installed from Homebrew: brew install qemu. QEMU can be installed from MacPorts: sudo port install qemu. QEMU requires Mac OS X 10.5 or later, but it. QEMU for Mac, free and safe download. QEMU latest version: Free and Open-Source Machine Visualizer and Emulator. QEMU is an advanced software package.

*Install Qemu Mac Brew

*Qemu Os X

*Install Qemu For Mac Os

Blog 2020/5/7

<- previous |index |next ->

Here are some notes on how I set up an installation of OS X Tiger (10.4)on an emulated PowerPC G4 using QEMU,on a modern x86_64 Mac.

This setup was performed using QEMU 5.0.0 (obtained via brew install qemu).

Note: at some point during this process -cdrom /dev/cdrom seems to have stopped working, but -cdrom /dev/disk2 works.Step 1: Initial installation

In this step we will format the disk and perform the initial OS X installation.

Download a copy of the2Z691-5305-A OS X Tiger installation DVDand burn it to a physical DVD.

Note: for some reason qemu does not seem to be able to boot .iso files of the OS X installation DVD (using -cdrom tiger.iso),but if you burn that .iso to a physical DVD and then use -cdrom /dev/disk2, it works.

Boot the DVD to verify it works:

If you see the grey Apple logo, the DVD is working correctly with QEMU:

Quit QEMU and create a 127GB QEMU disk:

Boot the install DVD with the disk attached and being the installation. QEMU will exit when the installer reboots.

When the installer reaches the disk selection screen, there will be no disks to choose from, because the disk has not been partitioned yet:

Start up Disk Utility:

'Erase' the disk to partition and format it:

Quit Disk Utility and the installer should now see the newly formatted partition:

The install will take quite some time (over an hour). When it completes, it will reboot, which will cause QEMU to exit (due to the -no-reboot flag).

At this point you may (physically) eject the installation DVD (from your host Mac).

Mark the disk as read-only to prevent any accidental writes to it (which would cause any snapshots based on this disk to become corrupt):Step 2: User account creation, system updates

In this step we will create a user account and install all of the system updates.

Create a snapshot of the disk (think of this as forking the hard drive):

The system updates can either be installed using the Software Update utility (iteratively repeated across many reboots),or you can download and install them manually.

The manual route is quicker because some of the updates are bundled, and you don't have to wait on Software Update to detect which updates have / haven't been installed yet.

To install the updates manually,download (on your host Mac) item #29 (Tiger_Updates.dmg_.zip)from the 'Mac OS X for PPC' pageof macintoshgarden.org.

Unzip that file and convert the dmg to a DVD image:

We can now use tiger-updates.cdr as a virtual DVD with QEMU.

Boot the G4 and create a user account:

Note: if you plan on using Software Update rather than tiger-updates.cdr, you man omit the -cdrom tiger-updates.cdr line from the above command.

Note: this boot may take several minutes to get started.

This install was set up with user macuser and password macuser:

This installation was set up with the Central timezone:

Disable the screen saver and power-saving features:

Open up System Preferences and:

*Display & Screen Saver -> Screensaver -> Start screen saver -> Never

*Energy Saver

*Put the computer to sleep when it is inactive for -> Never

*Put the display to sleep when the computer is inactive for -> Never

If you did not use Software Update, open up the Tiger_Updates 'DVD' and install all of the updates:

If you go with the updates DVD route, make sure you run Software Update at the end just to be sure you've covered everything.

Mark the snapshot read-only to prevent accidental writes to it:Step 3: Web browser, video player, text editor

In this step we will install TenFourFox, VLC and TextWrangler.

Create a snapshot of the disk:

TenFourFox is a fork of the Firefox web browser which is currently supported on Tiger/PPC.Their website links to the latest version,FPR22.

The latest version of VLCfor Tiger/PPC is 0.9.10,which is still available from their downloads page.

The latest version of TextWranglerfor Tiger/PPC is 3.1,available via Bare Bonesor macintoshgarden.org.

Strangely, no combination of using Disk Utility and hdiutil to create .dmg or .cdr images of TenFourFox.app seemed to work with Tiger:

Note: in retrospect, perhaps this was an APFS vs. HFS+ issue?

I resorted to burning TenFourFox, VLC, and TextWrangler to a physical DVD and passing it through to QEMU.

Note: even burning to a physical CD-ROM didn't work -- it had to be a DVD.

Drag the applications into /Applications.

Shutdown the G4 and mark the disk read-only:Step 4: Xcode, Tigerbrew

In this step we will set up a development environment for building modern Unix software.

Create a snapshot of the disk:

The latest version of Xcode Tools for Tiger/PPC is 2.5,which is still available via Apple (search for 'xcode 2.5' at https://developer.apple.com/download/more/, requires login),or via macintoshgarden.orgfrom their Xcode page.

Again, I had to burn this to a physical DVD in order to use it with QEMU.

Boot the G4 and install the Xcode Tools:

Tigerbrewis a fork of Homebrewfor PowerPC Macs running Tiger or Leopard.

Open up a terminal on the emulated G4 and use the following commands to install Tigerbrew:

Also, change Terminal.app to spawn a 'login' bash shell:

*Terminal -> Preferences -> Execute this command -> /bin/bash -l

Don't forget to mark the disk image read-only:Using these QEMU hard drive images

At this point we've created a series of four chained hard drive images:

We can squash these images into a single, combined, stand-alone hard drive image:

We can then boot using that combined image directly, without the use of any snapshots.This is analogous to having a real Mac with a physical hard drive:

Or, we could treat combined.qcow2 as a 'golden master'and create snapshots based off of it, perhaps to try out some experimental tigerbrew packages:

Perhaps in experiment-1.qcow2 we try out gcc-7, and in experiment-2.qcow2 we try out llvm, etc.

Each of these snapshots can be used with the above command line as the -hda argument:

*qemu-system-ppc ... -hda experiment-2.qcow2

We could even create further branches off of e.g. experiment-2.qcow2:

Perhaps we decide that experiment-2B.qcow2 was the keeper and the rest can be gotten rid of?

combined.qcow2 now contains the changes from experiment-2.qcow2 and experiment-2B.qcow2.

Thus far we've been branching off of the 'tip',but we could just as easily branch off several points in the snapshot tree.For example, if we hadn't merged the images into combined.qcow2,we could make a 'daily driver' snapshot for web browsing based off of 3-browser.qcow2,and a 'dev box' for doing development work based off of 4-tigerbrew.qcow2:

Let's say we accidentally hosed our dev box with a careless rm -rf /. Starting over with a new dev box is trivial:

Etc :)Resources:

*1QEMU on OS X (macOS) hosts

While QEMU's main host platform is Linux, it is also supported on operating systems for Apple's Mac computers (known as OS X or macOS). The official support policy covers the last two released versions of OSX; QEMU might work on older versions, but it is not guaranteed and it might not even compile on older versions.

Please note that fewer developers work on QEMU for Mac hosts, so it might be less stable (but I don't think it is). If you can replicate a bug on a Linux hosted QEMU before reporting it, this is helpful as it means a wider set of people might look into it.

Some system emulations on Linux use KVM, a special emulation mode which claims to reach nearly native speed.KVM is mainly used for x86 (32 and 64 bit) emulation on x86 hosts running Linux. Should you want to run Qemu with KVM support on a G5, depending on your distribution, you might have to compile your own kernel with KVM support.There exists a port of QEMU to Hypervisor.framework (a kernel module from Apple which is similar in spirit to KVM), but unfortunately it is not included in upstream QEMU.Building QEMU for OS X

The system requirements are:

*One of the last two most recent versions of OS X (currently that's 10.13 or 10.14)

*The clang compiler shipped with the version of Xcode for that OS X. GCC might also work, but we recommend clang

Additional build requirements are:

You may find it easiest to get these from a third-party packagersuch as Homebrew, Macports, or Fink.

After downloading the QEMU source code, double-click it to expand it.

Then configure and make QEMU. The target-list option is used to build only the machine or machines you want. If you don't specify it, all machines would be built. Probably not what you want.

This way doesn't require you to wait for the configure command to complete:Install Qemu Mac Brew

If your system has the 'say' command, you can use it to tell you when QEMU is done

You can use './configure --help' to see a full list of options. 

Here are all the currently available machines:

*aarch64-softmmu

*alpha-softmmu

*arm-softmmu

*cris-softmmu

*i386-softmmu

*lm32-softmmu

*m68k-softmmu

*microblaze-softmmu

*microblazeel-softmmu

*mips-softmmu

*mips64-softmmu

*mips64el-softmmu

*mipsel-softmmu

*moxie-softmmu

*or32-softmmu

*ppc-softmmu

*ppc64-softmmu

*ppcemb-softmmu

*s390x-softmmu

*sh4-softmmu

*sh4eb-softmmu

*sparc-softmmu

*sparc64-softmmu

*tricore-softmmu

*unicore32-softmmu

*x86_64-softmmu

*xtensa-softmmu

*xtensaeb-softmmu

We recommend building QEMU with the -default compiler provided by Apple, for your version of Mac OS X (which will be 'clang'). The configure script will automatically pick this.Errors on old compilers

Note: If after the configure step you see a message like this:

you may have to install your own version of gcc. You can build it from source (expect that to take several hours) or obtain third party binaries of gcc available from Homebrew or MacPorts.

You can have several versions of GCC on your system. To specify a certain version, use the --cc and --cxx options.Build with LLVM/Clang 7

If you need to compile with newer versions of clang (to get f.i. AVX/AVX2 support), you can install llvm through e.g., brew. Qemu Os X

Note that building for machines with CPUs supporting such extensions will exclude running your binary on earlier machines.

Compile with:Contacts

If there are any issues with this web page, please let me know.Install Qemu For Mac OsRetrieved from 'https://wiki.qemu.org/index.php?title=Hosts/Mac&oldid=9274'

 

 

 

 

broken image