The short answer: Yes, I got it to work. Thank you!
Now the long answer:
I got to spend some more time with VB and the iPC DVD (10.5.6 final) and below are my findings.
It turns out that you need to select FeeBSD (64 bit) as the OS type (at least when running the 64 bit version of VB/Windows 7 x64). Otherwise the iPC DVD won't boot. That's interesting given that Leopard isn't really a 64bit OS (despite what Apple tells you). Leopard's kernel (/mach_kernel) is a 32bit dual architecture, universal binary (ppc32 and x86). It won't run using the AMD64/x64/EMT64 instruction set. My understanding is that that's because VB does not fully support SSE3 and the Apple vanilla kernel needs it.
Here's my virtual machine configuration:
Code: Select all
<?xml version="1.0"?>
<VirtualBox xmlns="http://www.innotek.de/VirtualBox-settings" version="1.9-windows">
<Machine uuid="{cf738bd7-7960-4521-ae11-07b579cc3d44}" name="Leopard" OSType="FreeBSD_64" lastStateChange="2010-03-13T21:25:16Z">
<ExtraData>
<ExtraDataItem name="CustomVideoMode1" value="1600x1200x32"/>
<ExtraDataItem name="GUI/AutoresizeGuest" value="off"/>
<ExtraDataItem name="GUI/Fullscreen" value="off"/>
<ExtraDataItem name="GUI/InfoDlgState" value="400,450,normal"/>
<ExtraDataItem name="GUI/LastCloseAction" value="save"/>
<ExtraDataItem name="GUI/LastWindowPostion" value="345,206,1024,811"/>
<ExtraDataItem name="GUI/MiniToolBarAlignment" value="bottom"/>
<ExtraDataItem name="GUI/MiniToolBarAutoHide" value="on"/>
<ExtraDataItem name="GUI/SaveMountedAtRuntime" value="yes"/>
<ExtraDataItem name="GUI/Seamless" value="off"/>
<ExtraDataItem name="GUI/ShowMiniToolBar" value="yes"/>
<ExtraDataItem name="VBoxInternal2/Devices/0/1000e/Trusted" value="1"/>
<ExtraDataItem name="VBoxInternal2/SupportExtHwProfile" value="on"/>
</ExtraData>
<Hardware version="2">
<CPU count="1">
<HardwareVirtEx enabled="true" exclusive="false"/>
<HardwareVirtExNestedPaging enabled="true"/>
<HardwareVirtExVPID enabled="true"/>
<PAE enabled="true"/>
</CPU>
<Memory RAMSize="1536"/>
<Boot>
<Order position="1" device="DVD"/>
<Order position="2" device="HardDisk"/>
<Order position="3" device="None"/>
<Order position="4" device="None"/>
</Boot>
<Display VRAMSize="128" monitorCount="1" accelerate3D="true" accelerate2DVideo="false"/>
<RemoteDisplay enabled="false" port="3389" authType="Null" authTimeout="5000"/>
<BIOS>
<ACPI enabled="true"/>
<IOAPIC enabled="true"/>
<Logo fadeIn="true" fadeOut="true" displayTime="0"/>
<BootMenu mode="MessageAndMenu"/>
<TimeOffset value="0"/>
<PXEDebug enabled="false"/>
</BIOS>
<USBController enabled="true" enabledEhci="true"/>
<Network>
<Adapter slot="0" enabled="true" MACAddress="080027B98C3F" cable="true" speed="0" type="82540EM">
<BridgedInterface name="Intel(R) PRO/1000 PL Network Connection"/>
</Adapter>
<Adapter slot="1" enabled="false" MACAddress="08002735ED5C" cable="false" speed="0" type="82540EM"/>
<Adapter slot="2" enabled="false" MACAddress="08002747849C" cable="false" speed="0" type="82540EM"/>
<Adapter slot="3" enabled="false" MACAddress="080027BE065F" cable="false" speed="0" type="82540EM"/>
<Adapter slot="4" enabled="false" MACAddress="080027D8C95B" cable="true" speed="0" type="Am79C973"/>
<Adapter slot="5" enabled="false" MACAddress="080027E895CB" cable="true" speed="0" type="Am79C973"/>
<Adapter slot="6" enabled="false" MACAddress="080027A3D52D" cable="true" speed="0" type="Am79C973"/>
<Adapter slot="7" enabled="false" MACAddress="08002705AF14" cable="true" speed="0" type="Am79C973"/>
</Network>
<UART>
<Port slot="0" enabled="false" IOBase="0x3f8" IRQ="4" hostMode="Disconnected"/>
<Port slot="1" enabled="false" IOBase="0x3f8" IRQ="4" hostMode="Disconnected"/>
</UART>
<LPT>
<Port slot="0" enabled="false" IOBase="0x378" IRQ="4"/>
<Port slot="1" enabled="false" IOBase="0x378" IRQ="4"/>
</LPT>
<AudioAdapter controller="AC97" driver="DirectSound" enabled="true"/>
<SharedFolders/>
<Clipboard mode="Bidirectional"/>
<Guest memoryBalloonSize="0" statisticsUpdateInterval="0"/>
<GuestProperties>
<GuestProperty name="/VirtualBox/HostInfo/GUI/LanguageID" value="en_US" timestamp="1268515197509765600" flags=""/>
</GuestProperties>
</Hardware>
<StorageControllers>
<StorageController name="IDE Controller" type="ICH6" PortCount="2">
<AttachedDevice type="HardDisk" port="0" device="0">
<Image uuid="{e797611c-8de7-4f9c-9c10-a0aeba3aa6a0}"/>
</AttachedDevice>
<AttachedDevice passthrough="false" type="DVD" port="0" device="1">
<Image uuid="{f1f3b2b0-bef3-4d59-9824-5c0fc5de73e8}"/>
</AttachedDevice>
</StorageController>
</StorageControllers>
</Machine>
</VirtualBox>
Once the machine config is set, you should be able to install 10.5.5 by selecting the following custom options:
Code: Select all
9.5.0 Voodoo Kernel
Patched USB drivers
ACPI Fix
PS/2 Keyboard Fix
PS/2 Mouse Fix
Code: Select all
#!/bin/bash
/sbin/ifconfig en0 ether 08:00:27:B9:8C:3D
Code: Select all
@reboot /path/to/script/assign_mac.sh >/dev/null 2>&1
Regarding the sound, my understanding is that the AC97 kext that comes bundled with iPC is too old to work with the ICH AC97 sound adapter that VB uses and that nothing can be done to make it work short of writing a new driver.
Meanwhile back at the (SSE3) ranch:
I found this bug report which claims that SSE3 support was added as of version 2.1.0:
http://www.virtualbox.de/ticket/1798
Unfortunately my guest OS's in 3.1.4 don't think it's there (they're only seeing SSE and SSE2). There might be a way of enabling it in the config but I don't know how to do that. Theoretically, if you can get SSE3 running, you should be able to upgrade the OS to 10.5.8 using Apple Software Update. When I tried it using the Voodoo kernel, the script got stuck at about 80% and I eventually hard rebooted the machine. It started to come up booting Darwin 9.8.0 (10.5.8 ) but then the kernel panicked with the same I error that it gave me when I tried booting the Darwin 9.6 (10.5.6) kernel (default on the iPC DVD).