qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v4 00/24] q800: add support for booting MacOS Classic - part


From: Mark Cave-Ayland
Subject: Re: [PATCH v4 00/24] q800: add support for booting MacOS Classic - part 1
Date: Sun, 25 Jun 2023 23:18:56 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0

On 22/06/2023 11:07, Philippe Mathieu-Daudé wrote:

On 21/6/23 16:06, Mark Cave-Ayland wrote:
On 21/06/2023 10:42, Philippe Mathieu-Daudé wrote:

On 21/6/23 10:53, Mark Cave-Ayland wrote:
[MCA: the original series has now been split into 2 separate parts based upon
Phil's comments re: QOM parenting for objects in Q800MachineState. Part 1
consists of the Q800MachineState patches along with QOM parenting fixes and
the 2 mac_via RTC patches.]

This series contains the remaining patches needed to allow QEMU's q800
machine to boot MacOS Classic when used in conjunction with a real
Quadra 800 ROM image. In fact with this series applied it is possible
to boot all of the following OSs:

   - MacOS 7.1 - 8.1, with or without virtual memory enabled
   - A/UX 3.0.1
   - NetBSD 9.3
   - Linux (via EMILE)

If you are ready to experience some 90s nostalgia then all you need is
to grab yourself a copy of the Quadra 800 ROM (checksum 0xf1acad13) and a
suitable install ISO as follows:

   # Prepare a PRAM image
   $ qemu-img create -f raw pram.img 256b

   # Launch QEMU with blank disk and install CDROM
   $ ./qemu-system-m68k \
       -M q800 \
       -m 128 \
       -bios Quadra800.rom \
       -drive file=pram.img,format=raw,if=mtd \
       -drive file=disk.img,media=disk,format=raw,if=none,id=hd \
       -device scsi-hd,scsi-id=0,drive=hd \
       -drive file=cdrom.iso,media=cdrom,if=none,id=cd \
       -device scsi-cd,scsi-id=3,drive=cd

And off you go! For more in-depth information about the installation process
I highly recommend the installation guide over at emaculation.com [1].
Compatibility is generally very good, and I'm pleased to report it is possible
to run one of the most popular productivity apps from the 90s [2].

Could you add an Avocado test for this machine? See how the
MipsFuloong2e test (tests/avocado/machine_mips_fuloong2e.py)
handles the firmware (RESCUE_YL_PATH).

In theory it is possible to do this, but how do we handle booting proprietary OS ISOs that are still within copyright?

Just provide the hash. You are not redistributing anything.

Another couple of questions: even without distributing the ROM or ISO, do I still need to provide URLs to these resources? I see that ISOs generally have URLs but given that the Mac sites hosting these images tend to be quite small, I'm not sure that providing a link to these sites within QEMU is something they would be particularly happy with.

I'm also not sure what is the best way to set up the test to confirm boot is working correctly. Ideally we would want to boot a MacOS install CD to the desktop, but there isn't an easy way to determine when this has occurred. Perhaps take a screendump every 2s or so and use tesseract-ocr to parse for when the menu bar appears on screen?


ATB,

Mark.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]