Qemu-system-m68k for Linux to run MacOS 7.1-8.1

About Qemu-system-m68k, a m68k Mac emulator for Windows, macOS and Linux that can run MacOS 7.1 to 8.1, AUX 3.x and NetBSD

Moderators: Cat_7, Ronald P. Regensburg

Post Reply
peanutbutter71
Student Driver
Posts: 10
Joined: Sun Sep 05, 2021 3:44 am

Qemu-system-m68k for Linux to run MacOS 7.1-8.1

Post by peanutbutter71 »

Using these instructions from Cat_7 I was able to successfully build Qemu-system-m68k on Ubuntu and install OS 8.
git clone -b q800.upstream https://www.gitlab.com/mcayland/qemu q800-upstream
cd q800-upstream
./configure --target-list=m68k-softmmu --enable-gtk --enable-sdl
make

This will get you a binary to run MacOS.
To create a binary to run A/UX revert the last commit and build again.

Image
BurntNickel
Space Cadet
Posts: 3
Joined: Sun Nov 14, 2021 12:50 am

Re: Qemu-system-m68k for Linux to run MacOS 7.1-8.1

Post by BurntNickel »

Hello. I've managed to build Qemu as described above on Linux, but I have been unable to get MacOS to boot. I'm not sure what I am doing incorrectly.
Here is what git shows:
snoopy:~/repos/q800-upstream/build$ git log
commit 898eade90cc99bde4964403d3bf4a9305a4fdcfa (HEAD -> q800.upstream, origin/q800.upstream)
Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Date: Wed Aug 11 12:16:07 2021 +0100

WIP: revert AUX


And here is the command I am using :
snoopy:~/Qemu68k$ ./qemu-system-m68k -boot d -L pc-bios -M q800 -m 64 -bios Quadra800.rom -drive file=pram-macos.img,format=raw,if=mtd -device scsi-cd,scsi-id=3,drive=cd1,vendor="MATSHITA",product="CD-ROM CR-8005",ver="1.0k" -drive file=os80.iso,media=cdrom,if=none,id=cd1 -device scsi-hd,scsi-id=0,drive=hd1,vendor="SEAGATE",product="ST225N",ver="1.0" -drive file=MacHD.img,media=disk,format=raw,if=none,id=hd1


I get as far as the blinking question mark in the floppy disk like the emulated Mac can't find any bootable media. I feel I am missing something simple. Any ideas?

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

Re: Qemu-system-m68k for Linux to run MacOS 7.1-8.1

Post by Cat_7 »

Hi,

When you get to that point it looks like the iso you try to boot might be faulty. Some iso rips are not "full", they miss vital info for the mac to boot from them.
So you might try other ones.

Best,
Cat_7
BurntNickel
Space Cadet
Posts: 3
Joined: Sun Nov 14, 2021 12:50 am

Re: Qemu-system-m68k for Linux to run MacOS 7.1-8.1

Post by BurntNickel »

Thank you for your suggestion. I did try another image (a 7.5.3. installation CD) and that work. I made images of my own 7.5.3, 7.6, and, 8.0 install CDs and they didn't seem to work so it looks like that's where I went wrong. I'll have to play with that further later.

The good news is that I am now successfully able to boot to the installation CD, the bad new is that it isn't seeing the hard drive image. I'll mess with that last on today and see if I can get 7.5.3 installed. I'll try and followup here with any results.
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Qemu-system-m68k for Linux to run MacOS 7.1-8.1

Post by Cat_7 »

Well,

You get the "whole" mac experience, so a completely new disk needs to be initialized before the installer sees it.

Best,
Cat_7
BurntNickel
Space Cadet
Posts: 3
Joined: Sun Nov 14, 2021 12:50 am

Re: Qemu-system-m68k for Linux to run MacOS 7.1-8.1

Post by BurntNickel »

That's what I was expecting. I figured I'd get the message from Finder that the disk needed to be initialized or that I would need to use Apple HD SC Setup to partition and format the emulated SCSI drive. Finder doesn't say anything and with Apple HD SC Setup I get "Unable to locate a suitable drive connected to the SCSI port." So close....

I'd just use Basilisk II, which mostly works for me, but Qemu lets me scale the graphics output (which is great on newer displays).
Splot
Space Cadet
Posts: 2
Joined: Sun Jan 16, 2022 9:18 pm

Re: Qemu-system-m68k for Linux to run MacOS 7.1-8.1

Post by Splot »

Building the Q800 branch on Ubuntu 21.10 appears to require the change outlined here.
Irken
Space Cadet
Posts: 7
Joined: Sat Feb 11, 2017 10:42 pm

Re: Qemu-system-m68k for Linux to run MacOS 7.1-8.1

Post by Irken »

The good news is that I am now successfully able to boot to the installation CD, the bad new is that it isn't seeing the hard drive image.
Hi, I've got the same problem, I don't know what to do to initialize it. Do you have any suggestion?
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Qemu-system-m68k for Linux to run MacOS 7.1-8.1

Post by adespoton »

Irken wrote: Fri May 13, 2022 8:48 pm
The good news is that I am now successfully able to boot to the installation CD, the bad new is that it isn't seeing the hard drive image.
Hi, I've got the same problem, I don't know what to do to initialize it. Do you have any suggestion?
Same way you had to on a real Mac: On Mac OS 8.1, Run Drive Setup (found in Applications:Utilities), select the volume, and initialize it. On System 7.1, run Apple HD SC Setup (found in Applications:Apple HDSC Setup f), select the drive, and initialize it.

This is why BII and SheepShaver cheat: it's much easier to present it as a pseudo-floppy, which the OS prompts you to format immediately. But QEmu does the proper SCSI emulation.
Irken
Space Cadet
Posts: 7
Joined: Sat Feb 11, 2017 10:42 pm

Re: Qemu-system-m68k for Linux to run MacOS 7.1-8.1

Post by Irken »

The disk was not recognized on MacOS 7.6, but I could initiate it with MacOS 8.1. Thank you.
thom75
Inquisitive Elf
Posts: 30
Joined: Sat May 06, 2017 6:40 pm

Re: Qemu-system-m68k for Linux to run MacOS 7.1-8.1

Post by thom75 »

peanutbutter71 wrote: Wed Sep 08, 2021 7:00 pm Using these instructions from Cat_7 I was able to successfully build Qemu-system-m68k on Ubuntu and install OS 8.
git clone -b q800.upstream https://www.gitlab.com/mcayland/qemu q800-upstream
cd q800-upstream
./configure --target-list=m68k-softmmu --enable-gtk --enable-sdl
make
Hi,
I've tried to build this on Manjaro and it fails. Anyone have idea how to fix this?
BTW Is there newer build of QEMU PPC Screamer than 6.2? I've tried to build it and run into same error.

Code: Select all

[464/2078] Compiling C object libqemuutil.a.p/qobject_block-qdict.c.o
FAILED: libqemuutil.a.p/qobject_block-qdict.c.o 
cc -Ilibqemuutil.a.p -I. -I.. -Isubprojects/libvhost-user -I../subprojects/libvhost-user -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/p11-kit-1 -I/usr/include/pixman-1 -fdiagnostics-color=auto -Wall -Winvalid-pch -Werror -std=gnu11 -O2 -g -isystem /mnt/Storage/Emulators/WIP/q800-upstream/linux-headers -isystem linux-headers -iquote . -iquote /mnt/Storage/Emulators/WIP/q800-upstream -iquote /mnt/Storage/Emulators/WIP/q800-upstream/include -iquote /mnt/Storage/Emulators/WIP/q800-upstream/disas/libvixl -iquote /mnt/Storage/Emulators/WIP/q800-upstream/tcg/i386 -pthread -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-declaration -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2 -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong -fPIE -MD -MQ libqemuutil.a.p/qobject_block-qdict.c.o -MF libqemuutil.a.p/qobject_block-qdict.c.o.d -o libqemuutil.a.p/qobject_block-qdict.c.o -c ../qobject/block-qdict.c
In file included from /mnt/Storage/Emulators/WIP/q800-upstream/include/qapi/qmp/qdict.h:16,
                 from /mnt/Storage/Emulators/WIP/q800-upstream/include/block/qdict.h:13,
                 from ../qobject/block-qdict.c:11:
/mnt/Storage/Emulators/WIP/q800-upstream/include/qapi/qmp/qobject.h: In function ‘qdict_array_split’:
/mnt/Storage/Emulators/WIP/q800-upstream/include/qapi/qmp/qobject.h:49:17: error: ‘subqdict’ may be used uninitialized [-Werror=maybe-uninitialized]
   49 |     typeof(obj) _obj = (obj);                                   \
      |                 ^~~~
../qobject/block-qdict.c:227:16: note: ‘subqdict’ declared here
  227 |         QDict *subqdict;
      |                ^~~~~~~~
cc1: all warnings being treated as errors
ninja: build stopped: subcommand failed.
make[1]: *** [Makefile:156: run-ninja] Error 1
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Qemu-system-m68k for Linux to run MacOS 7.1-8.1

Post by Cat_7 »

Hi,

The latest m68k/quadra800 code now is in: git clone -b q800.upstream3 https://github.com/mcayland/qemu q800-upstream3
I don't know whether the screamer code has been rebased recently to perhaps avoid the error you see: git clone -b screamer https://github.com/mcayland/qemu qemu-screamer
BTW Is there newer build of QEMU PPC Screamer than 6.2? I've tried to build it and run into same error.
For which host?

Best,
Cat_7
thom75
Inquisitive Elf
Posts: 30
Joined: Sat May 06, 2017 6:40 pm

Re: Qemu-system-m68k for Linux to run MacOS 7.1-8.1

Post by thom75 »

Cat_7 wrote: Thu Aug 11, 2022 11:39 am Hi,

The latest m68k/quadra800 code now is in: git clone -b q800.upstream3 https://github.com/mcayland/qemu q800-upstream3
I don't know whether the screamer code has been rebased recently to perhaps avoid the error you see: git clone -b screamer https://github.com/mcayland/qemu qemu-screamer
BTW Is there newer build of QEMU PPC Screamer than 6.2? I've tried to build it and run into same error.
For which host?

Best,
Cat_7
I'm on Manjaro Linux.
m68k have now build and it boots fine, successfully installed OS 8.1.

I'll post error code for PPC screamer in the PPC thread.

Many thanks for your work and support.

Thom
thom75
Inquisitive Elf
Posts: 30
Joined: Sat May 06, 2017 6:40 pm

Re: Qemu-system-m68k for Linux to run MacOS 7.1-8.1

Post by thom75 »

Hi Everyone,

There is new source code available for 7.1.50. Have successfully build it on Manjaro.

Code: Select all

git clone -b q800.upstream2-vm https://github.com/mcayland/qemu q800-upstream2-vm
cd q800-upstream2-vm
./configure --target-list=m68k-softmmu --enable-gtk --enable-sdl
make
cd build
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Qemu-system-m68k for Linux to run MacOS 7.1-8.1

Post by Cat_7 »

Certainly,

But there are still some flaws in that code that are being ironed out.

Best,
Cat_7
Post Reply