GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

About Qemu-system-ppc, a PPC Mac emulator for Windows, macOS and Linux that can run Mac OS 9.0 up to Mac OS X 10.5

Moderators: Cat_7, Ronald P. Regensburg

macomaniac
Student Driver
Posts: 16
Joined: Tue Jun 28, 2011 8:06 am
Location: France

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by macomaniac »

My experience matches superpete's one.

I have created a Hard-Drive for Jaguar 10.2 using the :

Code: Select all

qemu-img create -f vmdk machd.vmdk 4G
command without trouble. Then, having a .iso of Jaguar 1st install CD in the qemu folder, I am able without trouble to start the installation process on said machd.vmdk Hard-Drive using the command :

Code: Select all

./qemu-system-ppc -L pc-bios/ -m 256 -M g3beige -hda ./machd.vmdk -cpu G3 -boot d -cdrom ./Jaguar1.iso -prom-env 'boot-args=-v'
once logged in the qemu repertory and having changed the .iso name to my .iso one. The installer starts working in the qemu's window, but if I want the machd.vmdk hard-drive to be recognized as an installable one, I have prior to going on in the installation process to use the Disk Utility shipped with the Jaguar package, to erase and re-format the Drive. Well : no wide-scale choice here, but to format to 'Mac OS extended', without any option regarding the Table of Partition. Once the Disk formatted, the Installer is able to see it and begin the installation process on it.

So, everything goes on smoothly, though slowly, until completion of the installation. That's when I want to re-boot from the OS installed on the machd.vmdk drive, next, that I am unable to get the boot. Using the :

Code: Select all

boot c
command, qemu tries to boot from the Hard Drive off the .iso, but the process just freezes and nothing ensues, with a bright brand-new window first which ends into a black one after a while. Never getting the Apple logo on screen.

The fact qemu tries to boot without discarding the Drive looks like the booting-failure doesn't come from the format of the Disk, but from the the System of files installed on it.

I suspect that because, when I start the installation process, qemu begins to scan the system of files on the .iso and, before displaying the installer, the series of lines saying all is well ends with a failure message. But this failure message, instead of freezing the installation process, just vanishes to be replaced by the Installer display. I figure out qemu goes beyond the checking step to the install one in spite of the failure regarding the checking of the System files integrity - with the issue the System installed on the Drive cannot be booted afterward.

That's just a statement about few tries I did - having to acknowledge I am a total newbie to qemu never having previously got my hands into in the slightest way.
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Cat_7 »

I installed on a .dmg disk image I made in OSX (and subsequently erased during installation), not on a vmdk disk image as suggested above. With that Jaguar was bootable.

Cat_7
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by adespoton »

When I have a chance, I'll try booting my PearPC 10.1 image -- I doubt it'll work, but hey -- it's not supposed to work in PearPC either, and it runs just fine.

I'm not even going to attempt launching Classic until someone confirms that the PMMU code in QEmu is functional though.
macomaniac
Student Driver
Posts: 16
Joined: Tue Jun 28, 2011 8:06 am
Location: France

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by macomaniac »

@Ronald & Cat_7 - I forgot to thank you for your advices regarding disk format.

As a matter of fact, my .iso wasn't a readable system of files for Qemu, the oddest thing being Qemu nevertheless proceeded to a fake installation process after such failure. After I had substituted to my invalid .iso a fair Jaguar Install one, Qemu made no difficulty to install it on a true bootable disk. Here is a still :

Image

In comparison to PearPC, which is sluggish as slug either at booting or to have Jaguar working, I have to say I was happily surprised to experience how fast Qemu is for said tasks. I will try to see if other versions of OS X can be emulated by Qemu.
PeterHolbrook
Apple Corer
Posts: 273
Joined: Fri Oct 26, 2007 7:56 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by PeterHolbrook »

Considering the latest development of Qemu at long last provides some PPC OS X emulation on modern Intel Macs, I wonder whether the administrators might consider creating a third subthread of "PowerPC Emulation" called "Qemu" alongside PearPC and SheepShaver. Perhaps someone with the necessary knowledge could provide a step-by-step procedure to create an OS X executable of the latest Qemu, or, even better, a download link of such an executable (and possibly of libraries, if needed), and basic instructions on how to install Jaguar, Panther or Tiger. Even if Classic doesn't work now, perhaps further developments might solve that shortcoming in the foreseeable future. I might be wrong, but it seems to me that Qemu has clearly gone much further than PearPC ever did and, when and if Classic support is added, it will also leave SheepShaver behind.
superpete
Inquisitive Elf
Posts: 27
Joined: Sat Nov 26, 2011 3:08 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by superpete »

Cat_7 wrote: I installed on a .dmg disk image I made in OSX (and subsequently erased during installation), not on a vmdk disk image as suggested above. With that Jaguar was bootable.
I didn't think to try a format other than VMDK. I'll have a go tonight :D
macomaniac
Student Driver
Posts: 16
Joined: Tue Jun 28, 2011 8:06 am
Location: France

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by macomaniac »

Very succinct tutorial for installing and booting Jaguar 10.2 via Qemu on Mac OS 10.8 Mountain Lion

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

A) Qemu installation

(Thanks to superpete, I got the link to neozeed's page here : http://virtuallyfun.superglobalmegacorp.com/?p=3223. We own a lot of thanks to Jason (neozeed) for his release of Qemu 1.6.0 pre-3 OS X binaries).

Download the PowerPC package. Decompress the .7z. You get a folder you can make your Qemu folder renaming it to qemu (for instance, a name easy to type in the Terminal). Decompress the glib.tar, to a usr folder. Go down inside to the lib folder, into which are the dylib files. You are ready to locate the files to their home.

Go to the Finder menu : GO → Go to folder… and type in the writing field of the popping window :

Code: Select all

/usr/local/lib
and press the GO button. The 'lib' directory window opens. You have just to select every file in the 'lib' folder you got from decompressing the glib.tar + the two .dylib (libintl.8.dylib and libpixman-1.0.dylib) which are directly inside the qemu-1.60-pre3 folder renamed qemu and move them into the usr/local/lib opened by the Finder. Re-start if you want. You are done regarding Qemu installation. You can delete the glib.tar now. Just to finishing, move the qemu folder inside kind of a definitive directory, I suggest near your SheepShaver folder for instance. You will have in the Terminal to log-in inside that folder to make easy the boot & install command.

Qemu has no GUI (Graphical User Interface) but works from command line in the Terminal.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

B) Disk Utility

You have to make a disk-image Qemu will consider as a hard-drive. Open Disk Utility, ask for a new image to be created, and go on thus (for example) :

new image : Jaguar, name : Jaguar, size : 4,6 Go DVD-R/DVD-RAM, format : Mac OS Extended (journalized), encrypting : none, Partitions : unique, Table of partition GUID, image format : Master DVD/CD → a Jaguar.cdr will be created.

In the folder called 'qemu', you must have before starting from now on : pc-bios, qemu-system-ppc, jaguar.cdr, osxdisk1.iso (I forgot to mention you need a Jaguar .iso version of the 2 install cd. For my part, I find Suede a nice country for short trips - hey! why holly crap am I mentioning Suede?)

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

C) Terminal

Now open a Terminal window (for newbies : never close the Terminal whilst Qemu is working. You quit Terminal, Qemu isn't executed any longer).

You can pass the following commands :

Code: Select all

cd /path_to_folder/qemu
- for newbies : press ↩ to activate the command. The 'cd' command means 'change directory' and will log you inside the directory at the end of the path. The 'path_to_folder' is the path from the mount point / of the OS, eg. /Applications just followed in the end by the folder-name '/qemu' = the target if qemu is inside the Applications directory. Which gives as an exemple :

Code: Select all

cd /Applications/qemu
Now you can type in the Terminal bash :

Code: Select all

./qemu-system-ppc -L pc-bios/ -m 256 -M g3beige -hda ./Jaguar.cdr -cpu G3 -boot d -cdrom ./osxdisk1.iso
(and ↩)

[Previous command can be customized. The general idea is just to ask qemu executive first to start, then to select the ROM folder by its name (pc-bios), the RAM size (256), the Mac model (g3beige only working here), the kind of processor (cpu G3) and to indicate both the .cdr as hard drive on which installing (by -hda) = Jaguar.cdr and the .iso as Install CD/DVD on which booting = osxdisk1.iso (as cdrom) with mention of boot preference = boot d to ask Qemu to boot from Install.iso (other sequences of arguments are available, I tried several, all working).

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

D) Booting

Qemu boots on osxdisk1.iso, green screen with Apple logo, spinning wheel, brown screen + pointer (alt + CTRL releases the Host pointer off Qemu's window), Mac OS X, preparing installation, installer window.

Don't go ahead here into the installer window, but to top menu = installer, open Disk Utility, select 4,77 GB QEMU (device, not volume), Erase, format : Mac OS Extended, name : Jaguar (keyboard : QWERTY), no install Mac OS 9 Drivers, then Erase and quit Disk Utility.

Come back to the installer window, select language, continue --- license → select disk for installation = Jaguar , continue, Install.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

E) Process of installation

Preparation process, then installation processing on screen in Qemu window.

Count 1 hour and 7'. Installation completed, the Installer prompts you to re-restart (your emulated computer), but that kind of re-starting only re-boots the installation osxdisk1.iso and the installer. So quit the QEMU window instead of making loops.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

F) Launching Jaguar 10.2

Go back to your Terminal window and type the command (supposing you are still logged into the qemu folder) :

Code: Select all

./qemu-system-ppc -L pc-bios/ -m 256 -M g3beige -hda ./Jaguar.cdr -cpu G3
Green windowed screen with Apple logo, spinning wheel (takes a while to boot), brown screen, Mac OS X loading, brown screen again with pointer (takes a while again), you are prompted to install additional software (CD n°2). Just quit installation instead, you will manage that after.

Now you are in the welcome window. Selection of country, language, registering (for the Capitals and digits, I have to press the LEFT shift of my Mac keyboard, the right one not recognized), creation of user's account, Internet configuration (you can skip for the moment), Time preferences, Finish.

Brown screen, then blue one and here you are into your brand-new session of Jaguar emulated by Qemu :

Image

I quit here that short tutorial, not willing to go ahead into customizing the emulated Jaguar and handling a series of trouble shootings :mrgreen:
Last edited by macomaniac on Mon Sep 02, 2013 6:48 pm, edited 10 times in total.
PeterHolbrook
Apple Corer
Posts: 273
Joined: Fri Oct 26, 2007 7:56 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by PeterHolbrook »

Wow! Impressive! Do you foresee someone will ever come up with a GUI solution (much like Q) that won't require the use of Terminal?
User avatar
ClockWise
Site Admin
Posts: 4397
Joined: Mon May 20, 2002 4:37 am
Location: Uiwang

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by ClockWise »

That's a wonderful tutorial, thanks for posting it.

Can we add that to the wiki as well?

I'll shortly create a new folder for qemu, and we can perhaps create a sticky that points to the guide.
macomaniac
Student Driver
Posts: 16
Joined: Tue Jun 28, 2011 8:06 am
Location: France

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by macomaniac »

Hi ClockWise!

You're welcome. My 'tuto' is just a sketch, so to speak, as were some time ago several re-drawings of SheepShaver icon from my hand - a bit more rationalized here nevertheless :mrgreen:. In fact, I have just re-started the stuff of booting Jaguar via Qemu from zero, for example sake, writing along in a tiny TextEdit window the sequence of events as they occurred, from start to ending success, to re-framing the whole series under the headers of the working application finally.

Hence, my little installation guide is 'open_source' and free to being customized/corrected and so on. Do make of it what looks the better to you, considering it as raw material into friendly 'sharing space'.
uyjulian
Apple Corer
Posts: 244
Joined: Fri Aug 27, 2010 1:02 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by uyjulian »

Wow, great tutorial.
I might make a launcher in AppleScript after I've tried it out.
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by emendelson »

Very impressive tutorial. Thank you!

Can anyone report whether Classic works in Qemu-emulated Jaguar?
PeterHolbrook
Apple Corer
Posts: 273
Joined: Fri Oct 26, 2007 7:56 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by PeterHolbrook »

Cat 7 reported that the Classic environment never ends loading, so I guess the answer is negative.
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by adespoton »

julialy wrote:Wow, great tutorial.
I might make a launcher in AppleScript after I've tried it out.
It would be nice to have one done in emendelson's style, where you drop the disk image, ROM file and in this case, qemu binary on the app to copy them in and set things up :)

Speaking of that, it'd be nice to have the sheepshaver wrapper work that way too (drop a sheepshaver binary onto it to get it loaded correctly).

Although I guess as the launch flags/environment may change over time, drag-and-drop emulator binaries might not be a good idea; anyone wanting a custom build likely knows how to shoehorn it in themselves.
macomaniac
Student Driver
Posts: 16
Joined: Tue Jun 28, 2011 8:06 am
Location: France

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by macomaniac »

In other news (by 'other' I mean different from the topic of launching Qemu by means of a graphical interface, instead of using the command-line in the Terminal :smile: ), I can report the same impossibility to start the 'Classic' environment inside OS X emulated by Qemu as reported by Cat_7. I have experienced that failure into OS X «Jaguar 10.2» (which process of emulating via Qemu I have written previously my little tutorial about), but also into OS X «Panther 10.3.9» as shown in the following grab of my MacBook Pro_Early 2011 screen :

Image

<Edit. Looking back at that grab, I stumble on kind of a lapsus calami I made entitling my «Panther» HD. I wrote : «10.9» instead of 10.3.9» , which says a lot about my urge of being able to run «Maverick 10.9_CLIENT» on my MacBook Pro LOL... Will have to re-launch the drive via Qemu in order to edit the HD name.>

The window of 'Classic_Start-up' (I have shrinked to a mere header-band), once the Classic 'Start' button has been pressed, stays endlessly as you can see on the pict, which means 'Classic' is unable to load. The cause is not in an unvalid Mac OS 9 'System Folder', for I have loaded on my «Panther» virtual hard-drive a copy of the Mac OS 9.2.2 'System Folder' that runs fairly on an old iBook G4 of mine on which «Tiger 10.4.11» is installed. The fact that Mac OS 9.2.2 'System Folder' in the «Panther» virtual hard-drive is recognized can be seen from the number '9' adorning the folder icon, which means the folder is 'blessed', i.e. that the path to a boot file (Mac OS ROM) has been found inside it. Having an emulator ('Classic') working on top of an emulator ('Qemu') - perhaps is it a little too much asking?

Now I am started on the topic, I have to acknowledge it has been an unexpected 'pain in the ass' to get Qemu emulating «Panther 10.3», because the emulator, in answer to my commands in the Terminal, either kept on denying to boot from an Installer .iso image, or after boot considered the System couldn't be installed on the emulated hardware of the virtual computer. Once I have been able to manage the installation of «10.3.3» on a virtual hard drive, it was easy to apply the Combo update «10.3.9».

As I am a true newbie to Qemu, never having got a single finger on it previously, even if I am accustomed to using the command-line in the Terminal, I make my way along but groping inside attempts and failures mode in my elaboration of a working command.

Hence, I figure out two kinds of issues pop up when one has a try at emulating an old OS X_PPC System via Qemu :

- 1° first, as Qemu emulates the hardware of a virtual computer to which linking a disk-image to be used as a virtual hard-drive in order to install some OS X version onto it, issues rise from specifications inside the Terminal command (about the Mac model, the size of RAM, the BootX ROM, the CPU kind and so on) to emulating the virtual hardware of a computer and telling the path to the booter file, that don't support the booting of an OS X Installer. One can add to that sort of issues the disk-image format Qemu is asked to consider as a hard-drive to be linked to the emulated computer. And in the end the issues coming from the OS X Installer file one asks Qemu to use for installation on the virtual hard-drive : .iso works fine, but .iso images of non-retail installation disks (like the 'grey' DVD specific of a kind of Mac) cannot do the trick.

- 2° secondly, as I could experience after the successful lauching of an OS X version (like «Jaguar 10.2» or «Panther 10.3» until now), there are issues when using the software such as : no sound, no function key available except the 'Enter' key ↩ - the ⌘ key not working e.g., no internet connection etc. Those issues cannot be solved from the inside of the emulated OS, but one should have to implement the main command which launches Qemu with arguments stating more refined hardware specifications, in order to have sound, keyboard function keys, internet and so on. Just for now, I cannot measure the limitations one will encounter through trying those implementations, because, as I have stated previously, I am a total newbie on Qemu ground :mrgreen:
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by adespoton »

I'd be interested to see the relevant log files (/var/log/system.log etc) from after starting the Classic environment... OS X logs a lot of stuff, so we should at least be able to see what's failing.
superpete
Inquisitive Elf
Posts: 27
Joined: Sat Nov 26, 2011 3:08 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by superpete »

My understanding (I'll see if I can find a link) is that Classic uses the MMU in ways that aren't yet implemented QEMU's SoftMMU implementation.
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by adespoton »

Ah; that's the missing bit of the equation. This would be the same missing emulation that makes 9.1-10.1 unworkable.

So now some enterprising soul needs to run those OSes with the SoftMMU in debug mode to capture what's failing so we can try for a clean-ish room implementation.
airat78
Inquisitive Elf
Posts: 27
Joined: Fri Feb 15, 2013 3:27 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by airat78 »

Can you post youtube video to show how it performing?
uyjulian
Apple Corer
Posts: 244
Joined: Fri Aug 27, 2010 1:02 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by uyjulian »

Looking at the source code for latest GIT, here's what you can do with the option -M (machine)

Code: Select all

static QEMUMachine heathrow_machine = {
    .name = "g3beige",
    .desc = "Heathrow based PowerMAC",
    .init = ppc_heathrow_init,
    .max_cpus = MAX_CPUS,
#ifndef TARGET_PPC64
    .is_default = 1,
#endif
    .default_boot_order = "cd", /* TOFIX "cad" when Mac floppy is implemented */
};
Option: -M g3beige
Seems to be for old world macs.

Code: Select all

static QEMUMachine core99_machine = {
    .name = "mac99",
    .desc = "Mac99 based PowerMAC",
    .init = ppc_core99_init,
    .max_cpus = MAX_CPUS,
    .default_boot_order = "cd",
};
Option: -M mac99
Seems to be for new world macs. However, this option seems to hang the virtual machine on startup.

How do I install QEMU to /usr/local/?

Code: Select all

git clone git://git.qemu-project.org/qemu.git
cd qemu
git submodule init
git submodule update
./configure
make
sudo make install
That process worked for me fine, it may work differently on different computers.
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by adespoton »

It may also be worthwhile installing brew (homebew) and using that to install and deploy qemu; that way you can tweak your recipes as needed and still have git control over the variants.
User avatar
UbuntuXP
Tinkerer
Posts: 68
Joined: Sat Feb 08, 2014 8:15 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by UbuntuXP »

Has anyone been able to boot Mac OS X 10.1 yet? When I tried it, it show the happy mac without the spinning disc in the corner, which seems to indicate it's stuck on something. Maybe if I was in verbose mode I could see what's going on. Could anyone provide the argument for entering verbose mode?
"Unix was not designed to stop you from doing stupid things, because that would also stop you from doing clever things."

Doug Gwyn
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Cat_7 »

We have a guide that says this:

-prom-env 'boot-args=-v'

Best,
Cat_7
User avatar
UbuntuXP
Tinkerer
Posts: 68
Joined: Sat Feb 08, 2014 8:15 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by UbuntuXP »

It doesn't work, probably because it hasn't even reached the point in which Mac OS X read boot arguments yet. Qemu build I'm using is from superpete.
Last edited by UbuntuXP on Fri Aug 01, 2014 1:41 am, edited 1 time in total.
"Unix was not designed to stop you from doing stupid things, because that would also stop you from doing clever things."

Doug Gwyn
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by adespoton »

If you're brave, you could try attaching lldb to it (easier if you build it with debug symbols enabled) and trace where it halts.
Post Reply