Tiger for Intel on VMs

Anything about Mac emulation that does not belong in the above categories.

Moderators: Cat_7, Ronald P. Regensburg

Post Reply
User avatar
Lucss21a
Inquisitive Elf
Posts: 27
Joined: Sat Mar 05, 2022 1:03 pm

Tiger for Intel on VMs

Post by Lucss21a »

So I decided to hopped into virtualizing x86 macOS. I decided to try out 10.4 but actually disappointed on the way that my iso boots via BIOS instead of usual EFI.

So I dug deep into some restore DVDs, and found nothing that boots. I tried the one from OpenCore and it refuses to work under Qemu-system-i386 (the system crashes with a panic under OpenCore), VirtualBox (stuck in

Code: Select all

Still finding root device...
limbo) and VMWare (doesn't seem to support non-server Mac OS X 10.4-6).

I need some answers, and possible solutions I could try. I'm running under openSUSE Tumbleweed if you are curious.

Note: This describes my problems with only the Intel-based EFI Mac OS X Tiger 10.4.4 and above Recovery (Gray/Grey) DVDs. In this case, it's a disk image of 10.4.10 from OpenCore which has the SMBIOS patched out. It doesn't work. What does work are the PPC copies (since day 1). Other versions of OS X for Intel seems to boot in VirtualBox.
User avatar
adespoton
Forum All-Star
Posts: 4275
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Tiger for Intel on VMs

Post by adespoton »

What's your host system? Which VM app are you using?

Intel Tiger Retail 10.4.7 and up works on VMWare Fusion (with a hack to make it think it's Tiger Server), Parallels Desktop, VirtualBox (with some extra parameters added to the config file) and QEMU-x86 (using virtualization, not using TCG) using EFI boot.

It does NOT work under QEMU TCG, which means it won't emulate correctly on Apple Silicon, just virtualize x86-based computers.

Finding all the components you need to tweak to get it working can take a while; I figured it out over a 10 year period (things kept changing). Let me know if you need assistance, once you've got a Retail image. Things go a lot smoother if you instead use Tiger Server 10.4.7+, as the VM licensing issues don't exist.

Having said all that, Tiger SHOULD be able to work with QEMU TCG with the proper OpenCore config -- but I haven't been able to identify what it needs to patch that TCG isn't providing by default yet. And I've been working on that for 3 years now.
User avatar
Lucss21a
Inquisitive Elf
Posts: 27
Joined: Sat Mar 05, 2022 1:03 pm

Re: Tiger for Intel on VMs

Post by Lucss21a »

adespoton wrote: Fri Jan 12, 2024 4:53 pm What's your host system? Which VM app are you using?

Intel Tiger Retail 10.4.7 and up works on VMWare Fusion (with a hack to make it think it's Tiger Server), Parallels Desktop, VirtualBox (with some extra parameters added to the config file) and QEMU-x86 (using virtualization, not using TCG) using EFI boot.

It does NOT work under QEMU TCG, which means it won't emulate correctly on Apple Silicon, just virtualize x86-based computers.

Finding all the components you need to tweak to get it working can take a while; I figured it out over a 10 year period (things kept changing). Let me know if you need assistance, once you've got a Retail image. Things go a lot smoother if you instead use Tiger Server 10.4.7+, as the VM licensing issues don't exist.

Having said all that, Tiger SHOULD be able to work with QEMU TCG with the proper OpenCore config -- but I haven't been able to identify what it needs to patch that TCG isn't providing by default yet. And I've been working on that for 3 years now.
I use vanilla QEMU-system-i386, with an openSUSE Tumbleweed Linux Host. The ISO is the same ISO as the one provided on the Legacy OSes in the OpenCore Docs. I have VMware Workstation 17 and VirtualBox 7 for the other ones.

I might also try the Tiger Server DVD if I couldn't get the Client version working. I'm still conflicted with the differences between Server and Client since I planned on doing a comparison between 10.4 PPC and 10.4 Intel.
User avatar
adespoton
Forum All-Star
Posts: 4275
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Tiger for Intel on VMs

Post by adespoton »

Lucss21a wrote: Sat Jan 13, 2024 5:16 am
adespoton wrote: Fri Jan 12, 2024 4:53 pm What's your host system? Which VM app are you using?

Intel Tiger Retail 10.4.7 and up works on VMWare Fusion (with a hack to make it think it's Tiger Server), Parallels Desktop, VirtualBox (with some extra parameters added to the config file) and QEMU-x86 (using virtualization, not using TCG) using EFI boot.

It does NOT work under QEMU TCG, which means it won't emulate correctly on Apple Silicon, just virtualize x86-based computers.

Finding all the components you need to tweak to get it working can take a while; I figured it out over a 10 year period (things kept changing). Let me know if you need assistance, once you've got a Retail image. Things go a lot smoother if you instead use Tiger Server 10.4.7+, as the VM licensing issues don't exist.

Having said all that, Tiger SHOULD be able to work with QEMU TCG with the proper OpenCore config -- but I haven't been able to identify what it needs to patch that TCG isn't providing by default yet. And I've been working on that for 3 years now.
I use vanilla QEMU-system-i386, with an openSUSE Tumbleweed Linux Host. The ISO is the same ISO as the one provided on the Legacy OSes in the OpenCore Docs. I have VMware Workstation 17 and VirtualBox 7 for the other ones.

I might also try the Tiger Server DVD if I couldn't get the Client version working. I'm still conflicted with the differences between Server and Client since I planned on doing a comparison between 10.4 PPC and 10.4 Intel.
I guess I should have been clearer: what is your host hardware architecture? If you're running x86-64, then QEMU-system-i386 (or KVM) should be able to run the iso under virtualization. If you're running on an ARM variant, you'll be using the TCG emulator and I haven't figured out how to get this to boot anything below OS X 10.7 yet.

Based on the fact that you're using VMware and VBox 7, I assume you are fully in x86-land, which means virtualization should be available. However, because you're running Linux, you'll need to do some extra legwork to bypass the "please don't pirate" feature that tests for Apple hardware. OpenCore can help with that. You're essentially creating a virtual Hackintosh, and so will need to deal with all the standard Hackintosh issues on top of the virtualization/emulation issues.

VMware Workstation won't virtualize OS X (only VMware Fusion will do that); VirtualBox 7 WILL do the trick without a Hackintosh system, but needs a bunch of extra data injected into the config file instead.

Following the ModifyVM commands on https://github.com/ranma42/TigerOnVBox should get you most of the way towards booting Tiger on Linux; you may still need to add the special string that indicates it's on Apple hardware; https://github.com/kholia/OSX-KVM and https://gist.github.com/CyberShadow/b50 ... 9d1398340f may help with that.
User avatar
Lucss21a
Inquisitive Elf
Posts: 27
Joined: Sat Mar 05, 2022 1:03 pm

Re: Tiger for Intel on VMs

Post by Lucss21a »

adespoton wrote: Mon Jan 15, 2024 4:39 pm
Lucss21a wrote: Sat Jan 13, 2024 5:16 am
adespoton wrote: Fri Jan 12, 2024 4:53 pm What's your host system? Which VM app are you using?

Intel Tiger Retail 10.4.7 and up works on VMWare Fusion (with a hack to make it think it's Tiger Server), Parallels Desktop, VirtualBox (with some extra parameters added to the config file) and QEMU-x86 (using virtualization, not using TCG) using EFI boot.

It does NOT work under QEMU TCG, which means it won't emulate correctly on Apple Silicon, just virtualize x86-based computers.

Finding all the components you need to tweak to get it working can take a while; I figured it out over a 10 year period (things kept changing). Let me know if you need assistance, once you've got a Retail image. Things go a lot smoother if you instead use Tiger Server 10.4.7+, as the VM licensing issues don't exist.

Having said all that, Tiger SHOULD be able to work with QEMU TCG with the proper OpenCore config -- but I haven't been able to identify what it needs to patch that TCG isn't providing by default yet. And I've been working on that for 3 years now.
I use vanilla QEMU-system-i386, with an openSUSE Tumbleweed Linux Host. The ISO is the same ISO as the one provided on the Legacy OSes in the OpenCore Docs. I have VMware Workstation 17 and VirtualBox 7 for the other ones.

I might also try the Tiger Server DVD if I couldn't get the Client version working. I'm still conflicted with the differences between Server and Client since I planned on doing a comparison between 10.4 PPC and 10.4 Intel.
I guess I should have been clearer: what is your host hardware architecture? If you're running x86-64, then QEMU-system-i386 (or KVM) should be able to run the iso under virtualization. If you're running on an ARM variant, you'll be using the TCG emulator and I haven't figured out how to get this to boot anything below OS X 10.7 yet.

Based on the fact that you're using VMware and VBox 7, I assume you are fully in x86-land, which means virtualization should be available. However, because you're running Linux, you'll need to do some extra legwork to bypass the "please don't pirate" feature that tests for Apple hardware. OpenCore can help with that. You're essentially creating a virtual Hackintosh, and so will need to deal with all the standard Hackintosh issues on top of the virtualization/emulation issues.

VMware Workstation won't virtualize OS X (only VMware Fusion will do that); VirtualBox 7 WILL do the trick without a Hackintosh system, but needs a bunch of extra data injected into the config file instead.

Following the ModifyVM commands on https://github.com/ranma42/TigerOnVBox should get you most of the way towards booting Tiger on Linux; you may still need to add the special string that indicates it's on Apple hardware; https://github.com/kholia/OSX-KVM and https://gist.github.com/CyberShadow/b50 ... 9d1398340f may help with that.
I have a x64 system, I forgot to mention. I also couldn't find an OpenCore image that could be ran under virtualization solutions, as the one that I have already crashes KVM (it's on a guide for running modern macOS on UTM tho, but it provides i386 binaries), which I think is an outdated one, so I might ask if you have the latest one, on a working disk image that I could mount.
joevt
Student Driver
Posts: 15
Joined: Mon Feb 01, 2010 3:08 am

Re: Tiger for Intel on VMs

Post by joevt »

Parallels Desktop for Mac can boot everything from 10.5 onward. 10.5 and 10.6 use a script added to the disk image to get around the Mac OS X Server requirement.

I couldn't get 10.4.11 to work with Parallels so I used Virtual Box for that. Maybe it could work with Parallels if there was a way to modify CPU_ID or whatever like Virtual Box can.

I created the disk images by cloning partitions which have macOS already installed on them. These came from my Mac Pro 2008 which ran all versions of macOS from Tiger to Monterey.

The virtual machines run on my Skylake Hackintosh.
User avatar
Lucss21a
Inquisitive Elf
Posts: 27
Joined: Sat Mar 05, 2022 1:03 pm

Re: Tiger for Intel on VMs

Post by Lucss21a »

In the meantime, I tried setting up the i386 OpenCore disk image by formatting a 200MB disk image and setting it up from there. I mounted it as a loopback device to perform file transfer activities and well

Image
User avatar
Lucss21a
Inquisitive Elf
Posts: 27
Joined: Sat Mar 05, 2022 1:03 pm

Re: Tiger for Intel on VMs

Post by Lucss21a »

So I fixed some of the OpenCore issues except one shown in this linked video, which is under QEMU KVM and TCG.

I would also provide my commands here for reference:

Code: Select all

qemu-system-i386 -machine pc -accel kvm \
        -bios OVMF.bin -m 2048 \
        -cpu Penryn,vendor=GenuineIntel,vmware-cpuid-freq=on,+ssse3,+sse4.1,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check \
        -smp 4,cores=2 \
        -usb -device usb-kbd -device usb-mouse \
        -device isa-applesmc,osk="<put osk key here>" \
        -netdev user,id=usr0 -device e1000-82545em,netdev=usr0,id=vnet0 \
        -device ahci,id=sata \
        -drive id=Hard,if=none,format=qcow2,file="tigerx86.qcow2" \
        -device ide-hd,bus=sata.1,drive=Hard \
        -drive id=OpenCore,if=none,format=raw,file="opencore.img" \
        -device ide-hd,bus=sata.2,drive=OpenCore \
        -drive id=CD,if=none,format=raw,file="intel acdt.img" \
        -device ide-hd,bus=sata.0,drive=CD \
        -device usb-ehci,id=ehci \
        -device vmware-svga \
        -monitor stdio
User avatar
adespoton
Forum All-Star
Posts: 4275
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Tiger for Intel on VMs

Post by adespoton »

Which OpenCore and ACDT images are you using?
User avatar
Lucss21a
Inquisitive Elf
Posts: 27
Joined: Sat Mar 05, 2022 1:03 pm

Re: Tiger for Intel on VMs

Post by Lucss21a »

adespoton wrote: Wed Jan 17, 2024 8:09 pm Which OpenCore and ACDT images are you using?
The OpenCore image I use was a self made one, using the guide, 200MB in size.

The ACDT one is this one.
User avatar
adespoton
Forum All-Star
Posts: 4275
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Tiger for Intel on VMs

Post by adespoton »

Lucss21a wrote: Wed Jan 17, 2024 11:01 pm
adespoton wrote: Wed Jan 17, 2024 8:09 pm Which OpenCore and ACDT images are you using?
The OpenCore image I use was a self made one, using the guide, 200MB in size.

The ACDT one is this one.
If you get it fully booting, please do let me know so I can roll it into my UTM config project. And feel free to have a go at 10.5 and 10.6 as well :)
kikyoulinux
Tinkerer
Posts: 92
Joined: Sun Sep 28, 2014 11:53 am

Re: Tiger for Intel on VMs

Post by kikyoulinux »

Image
Image
There's a 10.4.1 image on archive.org and it works well on vmware fusion. This image might be a cracked one for Intel Mac DTK.
User avatar
adespoton
Forum All-Star
Posts: 4275
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Tiger for Intel on VMs

Post by adespoton »

Tiger for Intel works fine on VMWare Fusion x86, VirtualBox x86 and Parallels Desktop x86, and has done for over a decade. There's one tweak you need to make on VMWare to allow it to boot: add a single file to the System folder that makes VMWare think it's the Server version of Tiger. Once you've booted, you can remove the file, reboot, snapshot the image, and it will report itself properly as the consumer version. I've installed from original media multiple times using this method over the years.

A while back, I got a note from someone who said they'd figured out how to get Tiger running in QEMU TCG (the emulator instead of the VM) -- it requires some changes in the OpenCore EFI config. So far, I haven't got it working on my M1 Mac, however. I've still got to get some time when we're both free to sort out exactly what needs to be updated in the OpenCore config to get TCG running correctly on M1 Macs, and then I'll update my public configs with a bootable Tiger setup.
joevt
Student Driver
Posts: 15
Joined: Mon Feb 01, 2010 3:08 am

Re: Tiger for Intel on VMs

Post by joevt »

adespoton wrote: Wed Feb 21, 2024 4:39 pm Tiger for Intel works fine on VMWare Fusion x86, VirtualBox x86 and Parallels Desktop x86, and has done for over a decade. There's one tweak you need to make on VMWare to allow it to boot: add a single file to the System folder that makes VMWare think it's the Server version of Tiger. Once you've booted, you can remove the file, reboot, snapshot the image, and it will report itself properly as the consumer version. I've installed from original media multiple times using this method over the years.

A while back, I got a note from someone who said they'd figured out how to get Tiger running in QEMU TCG (the emulator instead of the VM) -- it requires some changes in the OpenCore EFI config. So far, I haven't got it working on my M1 Mac, however. I've still got to get some time when we're both free to sort out exactly what needs to be updated in the OpenCore config to get TCG running correctly on M1 Macs, and then I'll update my public configs with a bootable Tiger setup.
Can you get Tiger to work in the latest Parallels version on a modern Intel Mac? I have every other macOS version working in Parallels 19.2.1 on a Skylake hackintosh. Tiger 10.4.11 works in VirtualBox.

For 10.4, 10.5, 10.6, the following changes are made:

Code: Select all

echo '/bin/rm /System/Library/CoreServices/ServerVersion.plist' >> "${thevolume}/etc/rc.local"
echo '/bin/cp /System/Library/CoreServices/SystemVersion.plist /System/Library/CoreServices/ServerVersion.plist' >> "${thevolume}/etc/rc.shutdown.local"
cp "${thevolume}/System/Library/CoreServices/SystemVersion.plist" "${thevolume}/System/Library/CoreServices/ServerVersion.plist"
So with these changes, the volume has a ServerVersion.plist file (a copy of the SystemVersion.plist file) which makes Parallels accept the volume. That file is removed during boot so macOS won't think it's a server version. That file is recreated at shutdown so Parallels will accept the volume next time you want to boot. If a problem occurs while the ServerVersion.plist doesn't exist, then you just need to recreate that file.

Maybe OpenCore can be used to make 10.4.11 work with Parallels?

For 10.5.8, there may be an issue with CPU usage. Just install NullCPUPM. To fix launchd errors in Console.app, set KeepAlive to false in /Library/LaunchDaemons/com.parallels.TimeSync.plist. Both solutions are described at
https://forum.parallels.com/threads/mac ... -8.350983/

For 10.6.8, to fix missing usbmuxd problem (caused by installing Xcode?), reinstall iTunes 11.4. Preview.app can’t view png or jpg files. It will crash if you try to resize the window. Works with pdfs though.

I use normal disk images so I can mount them outside of Parallels. The disk images were cloned from existing installations that I had installed on a Mac Pro 2008. Then prl_disk_tool is used to create a virtual hard disk that points to the dmg.

Code: Select all

# Create a hdd which points to a dmg using a relative path

cd "/Volumes/FreeBig/DiskImages"

# Create the dmg files with sizes larger than the source partition
mkfile -n $(((41000000000 + 0x100000 - 1) & -0x100000)) Tiger.dmg
mkfile -n $(((44000000000 + 0x100000 - 1) & -0x100000)) Leopard.dmg
mkfile -n $(((44000000000 + 0x100000 - 1) & -0x100000)) SnowLeopard.dmg
mkfile -n $(((70000000000 + 0x100000 - 1) & -0x100000)) Lion.dmg
mkfile -n $(((65000000000 + 0x100000 - 1) & -0x100000)) Yosemite.dmg
mkfile -n $(((65000000000 + 0x100000 - 1) & -0x100000)) ElCapitan.dmg
mkfile -n $(((60000000000 + 0x100000 - 1) & -0x100000)) Sierra.dmg
mkfile -n $(((66000000000 + 0x100000 - 1) & -0x100000)) HighSierra.dmg
mkfile -n $(((71000000000 + 0x100000 - 1) & -0x100000)) MountainLion.dmg
mkfile -n $(((92000000000 + 0x100000 - 1) & -0x100000)) Mavericks.dmg

# Create a GPT partition map using gdisk
for thedisk in Tiger Leopard SnowLeopard Lion MountainLion Mavericks Yosemite ElCapitan Sierra HighSierra ; do
	printf "%s\n" 'printf "o\nY\nw\nY\n" | sudo gdisk "'${thedisk}.dmg'" > /dev/null && echo good || echo bad'
done

# Erase the disks using diskutil to create EFI and single partition
for thedisk in Tiger Leopard SnowLeopard Lion MountainLion Mavericks Yosemite ElCapitan Sierra HighSierra ; do
	printf "%s\n" 'diskutil partitionDisk $(hdiutil attach -nomount "'"${thedisk}.dmg"'" | sed -n '"'"'1 { s/ .*//p ; }'"'"') GPT HFSX "'"${thedisk}New"'" 0'
done

# Use the asr command to restore the source partition to the destination dmg
# asr restore --source sourcevolume --target destvolume

# Use prl_disk_tool to create a hdd wrapper for the dmg (requires you to keep the dmg)
for thedmg in *.dmg ; do
	prl_disk_tool create --hdd "$(pwd)/${thedmg/.dmg/.hdd}" --dmg "$(stat -f %R "$thedmg")"
done
Nerak99
Space Cadet
Posts: 3
Joined: Sun Mar 10, 2024 10:06 pm

Re: Tiger for Intel on VMs

Post by Nerak99 »

What does the " just virtualize x86-based computers" bit mean?
adespoton wrote: Fri Jan 12, 2024 4:53 pm
It does NOT work under QEMU TCG, which means it won't emulate correctly on Apple Silicon, just virtualize x86-based computers.
User avatar
adespoton
Forum All-Star
Posts: 4275
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Tiger for Intel on VMs

Post by adespoton »

Nerak99 wrote: Tue Mar 12, 2024 7:58 am What does the " just virtualize x86-based computers" bit mean?
adespoton wrote: Fri Jan 12, 2024 4:53 pm
It does NOT work under QEMU TCG, which means it won't emulate correctly on Apple Silicon, just virtualize x86-based computers.
When you run QEMU, you have the option to use the TCG emulator, or use the host CPU, GPU and memory via passthrough with emulated virtual hardware devices.

If you're running QEMU on x86 hardware, it defaults to just using that hardware if you're creating an x86-based machine. Since it's real hardware, it is fully implemented, and everything just works.

If you intentionally use TCG instead (via a command line flag), there are some hardware features that haven't been fully/properly implemented, and OS X 10.4-10.6 depend on some of these features.

However, OpenCore has EFI drivers that work around most of these issues, so you can theoretically use the correct OpenCore EFI configuration plus TCG to run those OSes.

I say theoretically because every time I've seen someone say "I got Tiger x86 working in QEMU!" when I've investigated, it's turned out that it was:

a) Tiger PPC

b) Tiger running on x86 in virtualization, not using the TCG emulator (so essentially running Tiger in a virtual machine, not in an emulator)

c) not reproducible (they likely didn't get it fully running)
Post Reply