ranma42 / TigerOnVBox

HOWTO run Tiger (MacOS X 10.4) on VirtualBox
72 stars 12 forks source link

Only the server version has been tested #4

Closed ranma42 closed 7 years ago

ranma42 commented 7 years ago

@oboroc mentioned in https://github.com/ranma42/TigerOnVBox/issues/3#issuecomment-296456733

I personally want to experiment with Xgrid builds over two Mac mini G4 and a dual core VM with Intel Tiger. I just wish I could use plain Tiger instead of Server, but I don't think there was a retail release for it. I do have a grey DVD with Tiger 10.4.7 for iMac late 2006 (iMac5,1), but it checks for specific hardware and refuses to work on anything that is not iMac... I wish there was a way to fake specific Mac hardware on EFI32/VBox level or at least a patch that kills the check.

I believe it should be possible to do so by mangling the DMI data. TODO: I should check if this (and/or providing information on how to do it) is allowed by the licence.

ranma42 commented 7 years ago

@oboroc, would you be able to provide me with a screenshot of the error?

oboroc commented 7 years ago

For some reasons I no longer can boot from either Tiger Server 10.4.7.dmg or the image I took of Tiger 10.4.7 for iMac late 2006.dmg in VBox VM created from your latest template.

DVD is genuine: img_20170425_145055 2

Here is what I get if I try to boot on Mac Mini G4, but it's most likely because DVD is for Intel only: img_20170425_144518 2

Hardware Profiler info from Mac Mini G4: img_20170425_144828 2

Update: ok somehow I resolved DVD image booting in VM. Tiger Server 10.4.7 boots reliably, but Tiger 10.4.7 for iMac late 2006 still not booting: virtualbox_tiger server_25_04_2017_16_11_40

ranma42 commented 7 years ago

The PPC kernel seems to be loading just fine, but then it does not find the appropriate drivers for your platform (PowerPc10,1). It is likely that the driver bundles have been somewhat minimized to only include drivers relevant for the target hardware. I am unsure if there is much that can be done there... does the Tiger Server image boot correctly on the Mac Mini? It might be possible to use that to bootstrap the kernel.

In order to get past the Still waiting for root device I would suggest you to try setting the root device manually as explained in https://github.com/ranma42/TigerOnVBox/issues/2#issuecomment-297612165 The installer will probably also check for the specific hardware, therefore you might need to set the DmiSystemProduct through VBoxManage. The System/Installation/Packages/OSInstall.mpkg/Contents/OSInstall.dist file on your boot media should contain a script that performs some hardware compatibility checks. You should be able to find the exact model targeted by your install software by searching for hwbeSupportedMachines.

Try adding to the pre-installation configuration the following steps:

VBoxManage setextradata Tiger VBoxInternal2/EfiBootArgs 'rd=disk1sX'
VBoxManage setextradata Tiger VBoxInternal/Devices/efi/0/Config/DmiSystemProduct "YourProduct"

This might be sufficient to get you to the installer; hopefully once you get ther, everything just works.

oboroc commented 7 years ago

Hi, thank you for looking into it. I kind of guessed from the label (iMac), year (2007) and Tiger version (10.4.7 - late 2006) that my disk will check for iMac5,1 and if it's not there, refuse to boot. And the file you indicated System/Installation/Packages/OSInstall.mpkg/Contents/OSInstall.dist indeed has javascript code that checks for "iMac5,1".

I ran the command as per your advise above:

VBoxManage setextradata Tiger VBoxInternal/Devices/efi/0/Config/DmiSystemProduct "iMac5,1"

I checked the dmg file I made from my DVD:

$ hdiutil pmap "Mac OS X Tiger 10.4.7 for iMac.dmg"
scheme:     none
block size: 512
_ ## Type_________________ Name_________________ Start___ Size____
+    Apple_HFS             whole disk                   0 10380504 

+ synthesized

Since my dmg doesn't seem to have multiple sub-partitions, I set it as boot disk:

VBoxManage setextradata Tiger VBoxInternal2/EfiBootArgs "rd=disk1"

After this I was able to boot from my dmg image: virtualbox_tiger_27_04_2017_20_57_31

Since I only have disk 1, I had to unselect all the optional components that are on disk 2: virtualbox_tiger_27_04_2017_20_59_43

After this Intel Tiger 10.4.7 installed properly.

I then switched back booting to hard drive image:

VBoxManage setextradata Tiger VBoxInternal2/EfiBootArgs "rd=disk0"

Unfortunately it doesn't seem to boot for me: virtualbox_tiger_27_04_2017_21_17_32

What did I do wrong? :)

ranma42 commented 7 years ago

I would recommend restoring the default boot args and letting the kernel search for the boot partition by uuid:

VBoxManage setextradata Tiger VBoxInternal2/EfiBootArgs ""

If that does not work, setting the hard disk as root device might help. You have to keep into account that the hard disk is partitioned, therefore the root device that you need to configure for booting from the hard disk is going to be disc0sX. if you used the default partitioning scheme, it should be disc0s2.

VBoxManage setextradata Tiger VBoxInternal2/EfiBootArgs "rd=disk0s2"
oboroc commented 7 years ago

Thank you very much!

This didn't work:

VBoxManage setextradata Tiger VBoxInternal2/EfiBootArgs ""

However this booted me to Tiger!

VBoxManage setextradata Tiger VBoxInternal2/EfiBootArgs "rd=disk0s2"

virtualbox_tiger server_28_04_2017_08_05_42

oboroc commented 7 years ago

@ranma42, please close the issue. I can't do it, since you opened it.