Monday, May 19, 2014

Install OSX 10.7.x on iMac5,1

Although Apple has decided to block the installation of OS X 10.7 on older incarnations of the iMac (e.g. iMac5,1), the platform is able to run this OS X version more or less smoothly.
The only real requirement is a 64bit CPU aka Core2Duo.

To trick the installer into accepting your system, one has to modify a file on the installation medium (DVD, USB ...) and add the platform/mainboard ID to the list of supported systems.

The board ID can be determined with a quick call in terminal:

  ioreg -l | grep -A 20 "class IOPlatformExpertDevice"

which should output various information about your iMac, similar to

  +-o iMac5,1  
    | {
    |   "compatible" = <"iMac5,1">
    |   "version" = <"1.0">
    |   "board-id" = <"Mac-F42787C8">
    |   "IOInterruptSpecifiers" = (<0900000005000000>)
    |   "IOPolledInterface" = "SMCPolledInterface is not serializable"
    |   "serial-number" = <553253000xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
    |   "IOInterruptControllers" = ("io-apic-0")
    |   "IOPlatformUUID" = "00000000-0000-1000-8000-0016Cxxxxxxxx"
    |   "IOPlatformArgs" = <0010f10100c0f001902af60100000000>
    |   "clock-frequency" = <00d69327>
    |   "manufacturer" = <"Apple Computer, Inc.">
    |   "IOConsoleSecurityInterest" = "IOCommand is not serializable"
    |   "IOPlatformSerialNumber" = "CKxxxxxxx"
    |   "system-type" = <01>
    |   "product-name" = <"iMac5,1">
    |   "model" = <"iMac5,1">
    |   "name" = <"/">
    |   "IOBusyInterest" = "IOCommand is not serializable"
    | }

If this call does not produce any output, grep for "board-id" straight away.

The crucial line is

  "board-id" = <"Mac-F42787C8">

The string in the brackets has to be added to [...]

After the installation of OSX updates, your OS may fall back to the original files and one has to boot with the installation medium again and patch /System/Library/CoreServices/PlatformSupport.plist
Just add your board-id again at the end of the list.


No comments:

Post a Comment