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

User avatar
adespoton
Forum All-Star
Posts: 4226
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 »

Meow_2004 wrote:To get DP4, do you have to type for the ISO (-drive file=MacOSX_developer_preview_4.iso,format=raw,media=disk, and then what would I put as the hard disk instead of the ISO? DP4.raw? or would it still be the iso as the hard disk.
Anything .iso is going to be a read-only image of an optical disk; when we talk about your hard disk, we're talking about the image that replicates the internal storage of your virtual computer. CDs and DVDs are usually not of media type disk. I think they're usually -cd=<path> without anything else. You can load them as a drive, but then you need to define all the drive characteristics. The -cd option (or -cdrom?) automates all that for you. Check the qemu -help information for more details, or the qemu wiki, which spells out all the available flags and what they do.
alex195812
Mac Mechanic
Posts: 169
Joined: Mon Aug 29, 2016 3:44 am

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

Post by alex195812 »

Oh,DP4 is a special case.When booted as a cdrom it stalls at "Still waiting for root device"(an issue in ATAPI driver,probably).But as Apple cdroms are "hybrid"(iso+hard disk partition scheme) it may be attached as a hard disk,too.It does the trick for DP4.This way it boots and installs fine.
To @Meow_2004: You should type FIRST (it matters!) -drive file=MacOSX_developer_preview_4.iso,format=raw,media=disk ,next -drive file=DP4.raw,format=raw,media=disk and next,in qemu window type boot hd:9,\\:tbxi.
Or a more simple variant: -hda MacOSX_developer_preview_4.iso -drive file=DP4.raw.format=raw,media=disk.
By the way,more commonly used extention for raw image files is "img".
darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

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

Post by darthnvader »

alex195812 wrote:Strangely,when I type: nm /usr/lib/iconv.dylb I can see _iconv,_iconv_open and _libiconv_set_relocation_prefix,that is,the symbols "not found".And file utility shows that it is 2-architectured library...
[edit]Adding LDFLAGS=-iconv before ./configure on command line allows to build the binary,but no advantage about input for Server in sdl version.Seems that the problem is somewhere deeper in qemu code.(ADB I suppose).sdl version occupies a separete workspace in fullscreen mode.
If someone wants to try: https://drive.google.com/open?id=0B69bs ... m9CMEI4WVU
Works rather funny with qemu_vga.ndrv3107 in 32 bit mode. :smile:
Sorry, I didn't read the whole thread, I downloaded your Qemu, from the link, but I don't get any KB or Mouse input, the screen resolution does change when I reach the OS 9.2.1 desktop, so I know your NDRV is working.

Any commands for KB/M support?

Also, I don't know if you're still having trouble loading your NDRV in OS X, but in Systems up to 10.2.8, I believe you need to add the NDRV to the /Systems/Library/Extension/AppleNDRV/ folder.

In 10.3, I think, they changed it to .bundles in the AppleNDRV folder, I'm not sure how that works.

Do you have a .diff or .patch for your work on NDRV support, I'd like to get a look at your code changes?

Thanks.
alex195812
Mac Mechanic
Posts: 169
Joined: Mon Aug 29, 2016 3:44 am

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

Post by alex195812 »

This sdl version isn't the main one for MacOS.I also found some issues in it on my system(though mouse/kbd do work,have no idea why it misses for you,maybe because the build is for OS X 10.10.5?).Anyway,sdl is not the goal,it's for curiousity mostly. :smile: I built it only hoping to get input for MOSX Server missing in cocoa version.
See the links to better tested versions in my post on Jan 26.Better try one of those..
As for oddities in ndrv working(I meant qemu_vga.ndrv in the download folder,not OS X internal), they appear in Server/DPs booting only afaik.And they don't exist in cocoa builds.
darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

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

Post by darthnvader »

I've been trying to get KB/M to work on OS X Server 1.2v3, no luck, so far, but I noticed that there was some support for USB KB/M, so linux would work on ARCH_MAC99_U3.

I presume that's the G5, so I hacked that code, a bit, and added it to MAC99.

Image

Unfortunately, I can't get OS X Server to boot, with on the emulated Sawtooth, to test it. If anyone else in having luck booting OS X Server, on mac99, this may help them.

My copy of Server was for a G4, but it will only boot X if I use g3beige.

Seems to be real sensitive to the Bus Timing of the emulated Sawtooth.

Image
Image

This maybe why the emulated ADB mouse and KB won't work on the g3biege, Apple wrote these early versions of Server to be so tight with the hardware, just hard for the emulators to sync the bus timing up.
alex195812
Mac Mechanic
Posts: 169
Joined: Mon Aug 29, 2016 3:44 am

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

Post by alex195812 »

No,noone yet has booted Server in mac99.And is your screenshot from OS 9?And in what qemu version?
And the screenshot below--is this kernel panic with -M g3beige?
I think you may try -M g3beige -cpu G4 combination.
Also -usb -device usb-kbd and -usb -device usb-mouse may be tried.
WizKid
Tinkerer
Posts: 72
Joined: Sun Jul 31, 2016 11:58 pm

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

Post by WizKid »

darthnvader wrote:I've been trying to get KB/M to work on OS X Server 1.2v3, no luck, so far, but I noticed that there was some support for USB KB/M, so linux would work on ARCH_MAC99_U3.

I presume that's the G5, so I hacked that code, a bit, and added it to MAC99.
Care to share your changes?
darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

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

Post by darthnvader »

alex195812 wrote:No,noone yet has booted Server in mac99.And is your screenshot from OS 9?And in what qemu version?
And the screenshot below--is this kernel panic with -M g3beige?
I think you may try -M g3beige -cpu G4 combination.
Also -usb -device usb-kbd and -usb -device usb-mouse may be tried.
It's the latest development brach of Qemu. All the screenshots are Sawtooth, Beige G3 boots fine, and installs, but , just like everyone else, no KB/M support.

From the file /qemu/hw/ppc/mac_newworld.c:

Code: Select all

if (machine->usb) {
        pci_create_simple(pci_bus, -1, "pci-ohci");

        /* U3 needs to use USB for input because Linux doesn't support via-cuda
        on PPC64 */
        if (machine_arch == ARCH_MAC99_U3) {
            USBBus *usb_bus = usb_bus_find(-1);

            usb_create_simple(usb_bus, "usb-kbd");
            usb_create_simple(usb_bus, "usb-mouse");
        }
    }
All I did, was a dodgy hack,, change ARCH_MAC99_U3 to ARCH_MAC99.

Code: Select all

if (machine->usb) {
        pci_create_simple(pci_bus, -1, "pci-ohci");

        /* U3 needs to use USB for input because Linux doesn't support via-cuda
        on PPC64 */
        if (machine_arch == ARCH_MAC99) {
            USBBus *usb_bus = usb_bus_find(-1);

            usb_create_simple(usb_bus, "usb-kbd");
            usb_create_simple(usb_bus, "usb-mouse");
        }
    }
Compile it, and add -usb to your Qemu args for USB KB/M. I know there is a better way to do this, but I lack the programing skills, all I can do is hack my way around C. I don't know why the Sawtooth supports ADB, I owned two of them, and they didn't have an ADB port, but I never looked at the IOReg to see if it had an ADB bus. USB KB/M should be the default on New World Mac's, as I believe , they all shipped with USB Keyboards and Mice.

It seem someone put some USB code into the Old World Mac's, as well.

From the file /qemu/hw/ppc/mac_oldworld.c

Code: Select all

if (usb_enabled()) {
        pci_create_simple(pci_bus, -1, "pci-ohci");
I tried to hack it, to add USB KB/M support, but it failed to boot, hung the CUDA. Maybe someone, with better programing skills wants to give it a try.
alex195812
Mac Mechanic
Posts: 169
Joined: Mon Aug 29, 2016 3:44 am

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

Post by alex195812 »

Oh,interesting!Previously official qemu couldn't boot Server.And what openbios version do you use?
By the way,qemu-system-ppc has usb-mouse and kbd support and we use it to boot,say, DP1,OS 9 or Leopard but it doesn't work for Server.
Sadly I don't have much programming skills,too but @steventroughtonsmith definetely has.He reported here and on Twitter that he investigates the problem.But no luck yet.
Last edited by alex195812 on Mon Jan 30, 2017 3:58 pm, edited 3 times in total.
steventroughtonsmith
Student Driver
Posts: 20
Joined: Fri Jan 06, 2017 10:02 pm

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

Post by steventroughtonsmith »

darthnvader wrote:
alex195812 wrote:No,noone yet has booted Server in mac99.And is your screenshot from OS 9?And in what qemu version?
And the screenshot below--is this kernel panic with -M g3beige?
I think you may try -M g3beige -cpu G4 combination.
Also -usb -device usb-kbd and -usb -device usb-mouse may be tried.
It's the latest development brach of Qemu. All the screenshots are Sawtooth, Beige G3 boots fine, and installs, but , just like everyone else, no KB/M support.

From the file /qemu/hw/ppc/mac_newworld.c:

Code: Select all

if (machine->usb) {
        pci_create_simple(pci_bus, -1, "pci-ohci");

        /* U3 needs to use USB for input because Linux doesn't support via-cuda
        on PPC64 */
        if (machine_arch == ARCH_MAC99_U3) {
            USBBus *usb_bus = usb_bus_find(-1);

            usb_create_simple(usb_bus, "usb-kbd");
            usb_create_simple(usb_bus, "usb-mouse");
        }
    }
All I did, was a dodgy hack,, change ARCH_MAC99_U3 to ARCH_MAC99.

Code: Select all

if (machine->usb) {
        pci_create_simple(pci_bus, -1, "pci-ohci");

        /* U3 needs to use USB for input because Linux doesn't support via-cuda
        on PPC64 */
        if (machine_arch == ARCH_MAC99) {
            USBBus *usb_bus = usb_bus_find(-1);

            usb_create_simple(usb_bus, "usb-kbd");
            usb_create_simple(usb_bus, "usb-mouse");
        }
    }
Compile it, and add -usb to your Qemu args for USB KB/M. I know there is a better way to do this, but I lack the programing skills, all I can do is hack my way around C. I don't know why the Sawtooth supports ADB, I owned two of them, and they didn't have an ADB port, but I never looked at the IOReg to see if it had an ADB bus. USB KB/M should be the default on New World Mac's, as I believe , they all shipped with USB Keyboards and Mice.

It seem someone put some USB code into the Old World Mac's, as well.

From the file /qemu/hw/ppc/mac_oldworld.c

Code: Select all

if (usb_enabled()) {
        pci_create_simple(pci_bus, -1, "pci-ohci");
I tried to hack it, to add USB KB/M support, but it failed to boot, hung the CUDA. Maybe someone, with better programing skills wants to give it a try.
Unless I'm interpreting it wrong, you needn't change these in qemu's code—you can pass the details as arguments.

Code: Select all

-usb -device usb-hub,bus=usb-bus.0,port=1 -device usb-mouse,bus=usb-bus.0,port=1.2 -device usb-kbd,bus=usb-bus.0,port=1.1
g3beige boot will hang if USB kb/mouse are on different buses, though theoretically qemu should add the usb-hub device itself but ¯\_(ツ)_/¯

Figuring out why USB isn't working in Server 1.2 would be helpful; that neither USB nor ADB work must be unrelated. Having run Server 1.2v3 on a real PowerMac, I know that even real machines periodically have issues with input at boot. It's pretty finnicky, even when you're following the USB instructions in the installation readme.
steventroughtonsmith
Student Driver
Posts: 20
Joined: Fri Jan 06, 2017 10:02 pm

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

Post by steventroughtonsmith »

alex195812 wrote:Oh,interesting!Previously qemu couldn't boot Server.And what openbios version do you use?
g3beige boots Server to the GUI, mac99 halts somewhere at bootup. Neither have working input
alex195812
Mac Mechanic
Posts: 169
Joined: Mon Aug 29, 2016 3:44 am

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

Post by alex195812 »

I meant official qemu.If I got it right @darthnvader uses official qemu development branch.But to boot Server openbios must be patched your way?
darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

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

Post by darthnvader »

I used the openbios listed in this thread.

Does anyone know if the Sawtooth had an adb bus?

Even when we boot Server with the Keyboard and Mouse on the USB Bus, Sever's Kernel still registers them on the ADB Bus, so the hand off to the USB Bus maybe an issue. I tried removing the ADB code from the mac_oldworld.c, but that didn't seem to do anything. Server's Kernel still reports ADB keyboard and mouse.

There is also a key map exception in OF when we boot with -usb -device usb-kbd -device -usb-mouse. It maybe related.

Image

I think we need to make a few changes to the /qemu/hw/misc/macio/cuda.c. Ideally, if the Sawtooth doesn't have an ADB bus, we should fix the code, so it doesn't register in OF, and we could try to add a command line peramitor to the binary that would turn off the ADB bus on the g3biege, if anyone used -usb -device usb-keyboard or mouse.

I'm not sure it's ADB that is making Server hang, or it could be a time base issue. I seem to remember some people moving a resister on the Sawtooth, to overclock the Bus Speed, it was fine for OS 9, but OS X wouldn't boot. Neither g3beige nor mac99 report the correct Bus speed, so that could be an issue.

http://www.xlr8yourmac.com/G4ZONE/sawto ... esign.html

Image

I'm hoping it's a time base issue, with qemu not reporting the correct Bus Frequency to the Server Kernel.

Just spitballing, anyone else have any ideas?
Last edited by darthnvader on Mon Jan 30, 2017 6:16 pm, edited 1 time in total.
User avatar
Meow_2004
Granny Smith
Posts: 108
Joined: Thu Jan 05, 2017 6:24 pm

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

Post by Meow_2004 »

Interesting of how to get Server on QEMU. :) #it'shappening #serverinqemu
User avatar
Meow_2004
Granny Smith
Posts: 108
Joined: Thu Jan 05, 2017 6:24 pm

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

Post by Meow_2004 »

darthnvader wrote:I used the openbios listed in this thread.

Does anyone know if the Sawtooth had an adb bus?

Even when we boot Server with the Keyboard and Mouse on the USB Bus, Sever's Kernel still registers them on the ADB Bus, so the hand off to the USB Bus maybe an issue. I tried removing the ADB code from the mac_oldworld.c, but that didn't seem to do anything. Server's Kernel still reports ADB keyboard and mouse.

There is also a key map exception in OF when we boot with -usb -device usb-kbd -device -usb-mouse. It maybe related.

Image

I think we need to make a few changes to the /qemu/hw/misc/macio/cuda.c. Ideally, if the Sawtooth doesn't have an ADB bus, we should fix the code, so it doesn't register in OF, and we could try to add a command line peramitor to the binary that would turn off the ADB bus on the g3biege, if anyone used -usb -device usb-keyboard or mouse.

I'm not sure it's ADB that is making Server hang, or it could be a time base issue. I seem to remember some people moving a resister on the Sawtooth, to overclock the Bus Speed, it was fine for OS 9, but OS X wouldn't boot. Neither g3beige nor mac99 report the correct Bus speed, so that could be an issue.

http://www.xlr8yourmac.com/G4ZONE/sawto ... esign.html

Image

I'm hoping it's a time base issue, with qemu not reporting the correct Bus Frequency to the Server Kernel.

Just spitballing, anyone else have any ideas?
add -rtc base="1999-03-16",clock=vm that was when Server 1.0 was released
darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

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

Post by darthnvader »

steventroughtonsmith wrote:
darthnvader wrote:
alex195812 wrote:No,noone yet has booted Server in mac99.And is your screenshot from OS 9?And in what qemu version?
And the screenshot below--is this kernel panic with -M g3beige?
I think you may try -M g3beige -cpu G4 combination.
Also -usb -device usb-kbd and -usb -device usb-mouse may be tried.
It's the latest development brach of Qemu. All the screenshots are Sawtooth, Beige G3 boots fine, and installs, but , just like everyone else, no KB/M support.

From the file /qemu/hw/ppc/mac_newworld.c:

Code: Select all

if (machine->usb) {
        pci_create_simple(pci_bus, -1, "pci-ohci");

        /* U3 needs to use USB for input because Linux doesn't support via-cuda
        on PPC64 */
        if (machine_arch == ARCH_MAC99_U3) {
            USBBus *usb_bus = usb_bus_find(-1);

            usb_create_simple(usb_bus, "usb-kbd");
            usb_create_simple(usb_bus, "usb-mouse");
        }
    }
All I did, was a dodgy hack,, change ARCH_MAC99_U3 to ARCH_MAC99.

Code: Select all

if (machine->usb) {
        pci_create_simple(pci_bus, -1, "pci-ohci");

        /* U3 needs to use USB for input because Linux doesn't support via-cuda
        on PPC64 */
        if (machine_arch == ARCH_MAC99) {
            USBBus *usb_bus = usb_bus_find(-1);

            usb_create_simple(usb_bus, "usb-kbd");
            usb_create_simple(usb_bus, "usb-mouse");
        }
    }
Compile it, and add -usb to your Qemu args for USB KB/M. I know there is a better way to do this, but I lack the programing skills, all I can do is hack my way around C. I don't know why the Sawtooth supports ADB, I owned two of them, and they didn't have an ADB port, but I never looked at the IOReg to see if it had an ADB bus. USB KB/M should be the default on New World Mac's, as I believe , they all shipped with USB Keyboards and Mice.

It seem someone put some USB code into the Old World Mac's, as well.

From the file /qemu/hw/ppc/mac_oldworld.c

Code: Select all

if (usb_enabled()) {
        pci_create_simple(pci_bus, -1, "pci-ohci");
I tried to hack it, to add USB KB/M support, but it failed to boot, hung the CUDA. Maybe someone, with better programing skills wants to give it a try.
Unless I'm interpreting it wrong, you needn't change these in qemu's code—you can pass the details as arguments.

Code: Select all

-usb -device usb-hub,bus=usb-bus.0,port=1 -device usb-mouse,bus=usb-bus.0,port=1.2 -device usb-kbd,bus=usb-bus.0,port=1.1
g3beige boot will hang if USB kb/mouse are on different buses, though theoretically qemu should add the usb-hub device itself but ¯\_(ツ)_/¯

Figuring out why USB isn't working in Server 1.2 would be helpful; that neither USB nor ADB work must be unrelated. Having run Server 1.2v3 on a real PowerMac, I know that even real machines periodically have issues with input at boot. It's pretty finnicky, even when you're following the USB instructions in the installation readme.
Also, if we configure Qemu with lsusb support, we can use commands like:

Code: Select all

-usbdevice host:0x046d:c534


I't not really recommended to do this with a HID device, but it seems to work, if I unplug my USB receiver for my wireless KB/M, and plug it back in. Only in OS 9 and OX 10.2/3, but it freezes OS X Server, as soon as I give any input from the KB/M.

There is a ton of other USB commands, if you configure Qemu with lsusb installed. Maybe one of them will work.
darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

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

Post by darthnvader »

Meow_2004 wrote:
darthnvader wrote:I used the openbios listed in this thread.

Does anyone know if the Sawtooth had an adb bus?

Even when we boot Server with the Keyboard and Mouse on the USB Bus, Sever's Kernel still registers them on the ADB Bus, so the hand off to the USB Bus maybe an issue. I tried removing the ADB code from the mac_oldworld.c, but that didn't seem to do anything. Server's Kernel still reports ADB keyboard and mouse.

There is also a key map exception in OF when we boot with -usb -device usb-kbd -device -usb-mouse. It maybe related.

Image

I think we need to make a few changes to the /qemu/hw/misc/macio/cuda.c. Ideally, if the Sawtooth doesn't have an ADB bus, we should fix the code, so it doesn't register in OF, and we could try to add a command line peramitor to the binary that would turn off the ADB bus on the g3biege, if anyone used -usb -device usb-keyboard or mouse.

I'm not sure it's ADB that is making Server hang, or it could be a time base issue. I seem to remember some people moving a resister on the Sawtooth, to overclock the Bus Speed, it was fine for OS 9, but OS X wouldn't boot. Neither g3beige nor mac99 report the correct Bus speed, so that could be an issue.

http://www.xlr8yourmac.com/G4ZONE/sawto ... esign.html

Image

I'm hoping it's a time base issue, with qemu not reporting the correct Bus Frequency to the Server Kernel.

Just spitballing, anyone else have any ideas?
add -rtc base="1999-03-16",clock=vm that was when Server 1.0 was released
I was referring to the Isolator that sets the Base Clock, should be 99.999 Mhz for the Sawtooth, and 66.666 Mhz for the Beige G3.

We could fix it with an NVRAMRC, something like:

Code: Select all

 nvedit<return>
" /" select-dev<return>
7efdc44 " clock-frequency" get-my-property 2drop !<return>
" /cpus/PowerPC,750@@0" select-dev<return>
1fca0554 " clock-frequency" get-my-property 2drop !<return>
7efdc44 " bus-frequency" get-my-property 2drop !<return>
1fbf711 " timebase-frequency" get-my-property 2drop !
Type "Cntl" + "C" to exit NVRAMRC editor.
   nvstore<return>
   setenv use-nvramrc? true<return>
   reset-all<return>
Unfortunately, reset-all, does not reboot Qemu, and I don't think it would work anyway, as Qemu has no NVRAM.file that it can write NVRAM settings to, so they can be passed to the machine on boot up.

Maybe someone knows how to pass these to Qemu, from the command line?
steventroughtonsmith
Student Driver
Posts: 20
Joined: Fri Jan 06, 2017 10:02 pm

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

Post by steventroughtonsmith »

darthnvader wrote:Maybe someone knows how to pass these to Qemu, from the command line?
Absolutely, you can pass it all in boot-command and use that instead of the nvramrc. Omit the nvedit and nvstore commands, obviously. An example for one of my Mac OS VMs:

Code: Select all

-prom-env 'boot-command=
dev / 

4097 encode-int " AAPL,debug" property 
" iMac,1" encode-string " model" property 
" iMac,1" encode-string " MacRISC" encode-string encode+ " Power Macintosh" encode-string encode+ " compatible" property

new-device " rtas" device-name finish-device
dev /rtas
" rtas" encode-string " name" property 
0 encode-int " rtas-size" property 

boot ide2:2,\MacOSROM.8.6'

darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

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

Post by darthnvader »

steventroughtonsmith wrote:
darthnvader wrote:Maybe someone knows how to pass these to Qemu, from the command line?
Absolutely, you can pass it all in boot-command and use that instead of the nvramrc. Omit the nvedit and nvstore commands, obviously. An example for one of my Mac OS VMs:

Code: Select all

-prom-env 'boot-command=
dev / 

4097 encode-int " AAPL,debug" property 
" iMac,1" encode-string " model" property 
" iMac,1" encode-string " MacRISC" encode-string encode+ " Power Macintosh" encode-string encode+ " compatible" property

new-device " rtas" device-name finish-device
dev /rtas
" rtas" encode-string " name" property 
0 encode-int " rtas-size" property 

boot ide2:2,\MacOSROM.8.6'

Ok, almost there, having a little trouble understanding.

Can I make a Qemu.command?

I tried, but it failed:

Code: Select all

#!/bin/bash

qemu-system-ppc -m 512 -M g3beige -cdrom /Users/jam2/Downloads/Mac\ OS\ X\ Server\ 1.2v3.img -prom-env 'boot-args=-v rd=hd0' -prom-env 'boot-device=hd:2,\\:tbxi' -g 1024x768x8  -bios /Users/jam2/Downloads/qemu-scr-vga-sun-sdl28012016/openbios-qemu-scr-sunM.elf -hdb /Users/jam2/Documents/1G_BLANK_MACOSX_DP1_DISK_IMAGE.img -prom-env 'auto-boot?=true'  -prom-env 'boot-command=
" /" select-dev
7efdc44 " clock-frequency" get-my-property 2drop !
" /cpus/PowerPC,750@@0" select-dev
7efdc44 " bus-frequency" get-my-property 2drop !
1fbf711 " timebase-frequency" get-my-property 2drop !
boot’

Code: Select all

/Users/jam2/Downloads/Qemu_2/qemu.command: line 10: syntax error: unexpected end of file
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]
steventroughtonsmith
Student Driver
Posts: 20
Joined: Fri Jan 06, 2017 10:02 pm

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

Post by steventroughtonsmith »

darthnvader wrote:Ok, almost there, having a little trouble understanding.

Can I make a Qemu.command?

I tried, but it failed:
It looks like you have a curly single quote at the end. You gotta turn off Smart Quotes in TextEdit (and everything else) if that's what you're using to edit shell scripts.
darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

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

Post by darthnvader »

Thanks, a little nano fixed it right up, now I just need to set the correct values.

Could you tell me how to set the CPU Frequency?

It may not be an issue, but it's reported as 0 Mhz.

EDIT:

No dice, Server just reports a preposterous Bus Frequency from one boot to the next. Panther seem wise to the OF hacking, and always reports 400 Mhz bus speed.

What was the name of that OS 9 utility, from Newer Tech, that reported on systems speeds?

Anyway, the code to set the timebase is the same in the mac_oldworld.c and the mac_newworld.c

Code: Select all

/* Timebase Frequency */
    if (kvm_enabled()) {
        tbfreq = kvmppc_get_tbfreq();
    } else {
        tbfreq = TBFREQ;
    }
And the mac_newworld.c also has:

Code: Select all

#define BUSFREQ (100UL * 1000UL * 1000UL)

#endif
    }
    fw_cfg_add_i32(fw_cfg, FW_CFG_PPC_TBFREQ, tbfreq);
    /* Mac OS X requires a "known good" clock-frequency value; pass it one. */
    fw_cfg_add_i32(fw_cfg, FW_CFG_PPC_CLOCKFREQ, CLOCKFREQ);
    fw_cfg_add_i32(fw_cfg, FW_CFG_PPC_BUSFREQ, BUSFREQ);
    fw_cfg_add_i32(fw_cfg, FW_CFG_PPC_NVRAM_ADDR, nvram_addr);

    qemu_register_boot_set(fw_cfg_boot_set, fw_cfg);
}

So, I don't really understand that code, maybe someone else will.

EDIT II:

I found that utility from Newer Tech, it's called GagePro, and it reports preposterous Bus, CPU, and Ram speeds, in OS 9. Every time you hit the button to recalculate, it reports wild timing swings.

I'm not sure if it's the App, or the Bus speeds are all over the map.
Last edited by darthnvader on Tue Jan 31, 2017 1:27 am, edited 2 times in total.
steventroughtonsmith
Student Driver
Posts: 20
Joined: Fri Jan 06, 2017 10:02 pm

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

Post by steventroughtonsmith »

darthnvader wrote:Thanks, a little nano fixed it right up, now I just need to set the correct values.

Could you tell me how to set the CPU Frequency?

It may not be an issue, but it's reported as 0 Mhz.
I don't believe it's an issue, actually. The early stage mach boot process just takes the values passed from OpenFirmware by BootX. I'm not 100% sure it matters by the time that's printed onscreen (or at all).
darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

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

Post by darthnvader »

steventroughtonsmith wrote:
darthnvader wrote:Thanks, a little nano fixed it right up, now I just need to set the correct values.

Could you tell me how to set the CPU Frequency?

It may not be an issue, but it's reported as 0 Mhz.
I don't believe it's an issue, actually. The early stage mach boot process just takes the values passed from OpenFirmware by BootX. I'm not 100% sure it matters by the time that's printed onscreen (or at all).
You're probably right.
User avatar
Meow_2004
Granny Smith
Posts: 108
Joined: Thu Jan 05, 2017 6:24 pm

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

Post by Meow_2004 »

Hello! Couple of Things that I will try for the following:

DP2: Look at Page 59 for this error, @alex195812 I'll try your build, and try -M g3beige or whatever it's called
DP3: Will use 10.0's Disk Utility to format the disk, and try to install again.
DP4: Will try commands from previous posts
PB: Will try to find something to make it work.
darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

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

Post by darthnvader »

From the G4 Server read me:

Code: Select all

Connecting USB devices to your Server
Mac OS X Server can detect USB devices on only one of your computer's USB ports at a time. To use a USB mouse, connect it to your keyboard. When using a display that has an Apple Display Connector, connect your keyboard to USB Port One. The two USB ports on the display are not supported.
Post Reply