InfiniteMac OSx86

InfiniteMac OSx86 (http://infinitemac.com/forum.php)
-   Snow Leopard 10.6 (http://infinitemac.com/forumdisplay.php?f=87)
-   -   Installing Snow Leopard on ThinkPad X61 (http://infinitemac.com/showthread.php?t=3735)

virtualdiver 11-25-2009 05:42 AM

glad you got it...

cheers!

sammys 12-26-2009 10:24 AM

Installing SnowOSX v3.5 (10.6.0/10.6.2/10.6.3/10.6.4) on X61
 
1 Attachment(s)
Hi all,

I've managed to install SnowOSX distribution on my X61 (7676-3PM). The machine is stock with an Atheros AR5BXB72 bought from eBay and using AHCI for SATA. The wifi card doesn't work without a quick additional step. See the bottom of this post for that.

The only thing that's not working at the moment is the LCD brightness. Will update this post once I'm done.

I used most of the instructions from the first post in this thread. Only issues I hit were the bootloader wouldn't work. Here are my amendments to the instructions above:

Before installation:
  • Copy the X61 pack to a USB stick. I've used TransMac trial version to format the USB stick in HFS+ and then dragged the files over from a folder on Windows. Delete the DSDT folder.
  • Download the ZIP attachment below and extract it to a Windows folder then copy the content over to the USB stick using TransMac.
  • Download Chameleon bootloader RC4 and extract it to a Windows folder then copy over to the USB stick using TransMac. Make sure you copy the snow leopard version over to a new folder on the USB stick.
  • Optionally download the 64-bit kexts I've listed below as they are what I've used. I've installed those AFTER I updated to 10.6.2 so I'm not sure they'll work in SnowOSX 10.6.0.
After installation and before the first restart:
  • Insert your USB stick and do all the kext deletes/replacements etc in the first post. Delete dsmos.kext and AppleHDA.kext from /System/Library/Extensions and install to the same place fakesmc 2.5 from the USB stick. No need to delete AppleIntelCPUPowerManagement and AppleIntelCPUPowerManagementClient kexts because SnowOSX has NullCPUPowerManagement, which disables those modules. Copy the DSDT.aml file from the USB stick to your filesystem root (/Volumes/<volume name>). Use the kexts in my zip instead of the ones in the X61 pack as my zip has newer versions. If they don't work in 10.6.0 use the ones in the X61 pack instead.
  • Follow instructions on How to install Chameleon manually to replace the broken bootloader with the new one.
  • Run the following command in Terminal:
    diskutil repairPermissions /Volumes/<volume name>/System/Library/Extensions
    Where <volume name> is the name of the volume you installed Snow Leopard to. Make sure you use double quotes around it if i you have a space in the volume name. Use ls -d /Volumes to see what the available volumes are.
  • Restart
When you see the first boot screen from Chameleon press any key then type:
-f arch=i386
This flushes the kernel extension caches in OS X. After booting you can add the kernel flag arch=i386 to /Library/Preferences/SystemConfiguration/com.apple.Boot.plist so you don't have to type it anymore.

It is possible to update your system to 10.6.2, 10.6.3 or 10.6.4. 10.6.2 introduced 64-bit drivers for the X3100 display adapter but sleep is currently broken in 64-bit mode (Haven't tested it since 10.6.2). It works in 32-bit mode.

There are 64-bit drivers available for all the hardware on the X61. All of them are working except for the X3100 FB driver. I've installed 64bit drivers for the following:If anyone figures out the sleep issue on 64-bit kernel please post about it. :)

NOTE: I may have accidentally skipped some stuff above. E.g you may have a problem booting either 32-bit or 64-bit because of kexts like IOPCIFamily or IOATAFamily. I've replaced both of those on my X61 as I was getting kernel panics or bluetooth wasn't working. I didn't try 32-bit mode until after I had replaced them so I'm mentioning them in case the problems exist in 32-bit mode. (UPDATE) Since 10.6.3 (could be earlier) I now have vanilla IOPCIFamily, IOATAFamily and IO80211Family kexts working though the latter (IO80211) might still not work in 64-bit mode though it's compiled for it.

Here are the links to the versions I was using:
  • IOPCIFamily (Fixes kernel panic in AppleHPET when booting 64-bit kernel). The vanilla version works fine in 10.6.3 and later (32-bit).
  • IOATAFamily. The vanilla version works fine in 10.6.3 and later (32-bit).
Atheros AR5BXB72 (AR5418): Install the AtherosFix kext and it'll work in 32-bit mode. Install a 64-bit IO80211Family kext and it'll work in 64-bit mode as well. NOTE: If you don't have the same adapter as I do you'll need to add your adapter's PCI ID to the AtherosFix.kext/Contents/Info.plist file before it'll work. The AtherosFix kext makes your card look like a AR5416 card (Airport Extreme).

That about does it... Would love to hear if anyone manages to get their X61 working.

Don't download the kext bundle in this post. I've been updating it in later posts and you'll find the latest one at:
Latest sammys 10.6.2 kext bundle for X61
Latest sammys 10.6.3 kext bundle for X61
Latest sammys 10.6.4 kext bundle for X61

junying 01-01-2010 06:32 AM

Bluetooth after 10.6.2
 
Hi Sammys,

Thank you for your helpful post. Also you NIXin.

Have you noticed that your bluetooth was working after the initial install, but stops after the 10.6.2 upgrade? Seem to have happened to me.

sammys 01-25-2010 10:36 PM

Yeah I have the same problem. I'm also getting app crashes for firefox and thunderbird plus USB holds up the shutdown for a few seconds.

sammys 01-26-2010 12:00 AM

X61 Snow Leopard (10.6.2)
 
1 Attachment(s)
I've managed to get bluetooth running again! I stumbled on this post by laqk explaining that HPETs should have all interrupts they use assigned in the DSDT. So I added an extra (unassigned) interrupt to the DSDT and away we went.

I used the following command to figure out what interrupts were taken:

Code:

ioreg -w 0 -k IOInterruptSpecifiers | grep IOInterruptSpecifiers | tr ',' "\n" | sed 's/^.*<//; s/>.*$//; s/^\([0-9a-f]\{8\}\)\([0-9a-f]\{8\}\)/\1 \2/' | tr ' ' '\n' | sort
You might need macports installed for some of these commands :-/

I've attached an updated zip file containing my DSDT.aml, DSDT decompiled and all non-apple kexts I'm using. I've also replaced the previous IOSDHCI kext with a 32-bit only version of VoodooSDHC. Haven't found the 64-bit version yet.

junying 01-29-2010 06:25 PM

You da man (hope I'm not insulting if you are a woman :) ) Sammys. The DSDT worked like a charm. Do you see bluetooth found as a network adapter every boot? Also, I've been booting in 32 bit (32 bit geekbench shows no difference running in 32 or 64 bit). Sleep is OK, but bluetooth doesn't come back when waking. Finally, restart doesn't work either. Do you have that working? Thx!

sammys 02-10-2010 01:04 AM

Yeah the bluetooth goes to sleep and never wakes up on my X61. Have to boot into another OS to wake it up again. Rebooting into Snow Leopard has it working after this.

Bluetooth will keep getting found as a network adapter each time you use OS X if you don't add it as a network adapter. :)

In addition to what you've experienced I've been experiencing bluetooth mouse movement slowing down when I'm copying files across WIFI. Haven't tested LAN yet to see whether it slows it down mouse movement as well. I also get weird behaviour in iTunes if I sync an iPhone through the left-hand USB port. I have to keep clicking the iPhone entry in the left window pane to update the status. I imagine there's an IRQ sharing problem between two of the following: left-hand USB, Bluetooth, SATA, PCI. The left-hand USB might be the bus the Bluetooth goes through. A couple simple tests with System Profiler should tell me if I'm correct. :)

andreic 02-10-2010 06:17 AM

USB Not waking up
 
I have SL 10.6.2 installed on my Thinkpad X61 (7675), and everything is working properly, with one exception. When waking up from sleep, the USB ports are dead. I think this is related to the dsdt.aml file from sammy's last post. That file fixed sleep properly, and shutdown/restart, but after installing it the USB ports don't wake up. I tried to use instead the dsdt file from NIXin's initial post in this thread, and the USB ports do wake up, but shutdown/restart are broken, and sleep sometimes works sometimes doesn't. Does anyone understand what the differences are between NIXin's and Sammy's dsdt's? I saw that in NIXin's there are a number of entries for USB ports, which don't appear in Sammy's. Thanks.

bd4utonite2 02-25-2010 02:12 AM

SL10.6.2 upgrade on x61
 
Nixin...

Update my SL from 10.6.1 to 10.6.2
Everything seems to be working except sound...
Do you know how to fix this??

Cheers...

grandflash 03-01-2010 11:41 AM

Quote:

Originally Posted by sammys (Post 43812)
I've managed to get bluetooth running again! I stumbled on this post by laqk explaining that HPETs should have all interrupts they use assigned in the DSDT. So I added an extra (unassigned) interrupt to the DSDT and away we went.

I used the following command to figure out what interrupts were taken:

Code:

ioreg -w 0 -k IOInterruptSpecifiers | grep IOInterruptSpecifiers | tr ',' "\n" | sed 's/^.*<//; s/>.*$//; s/^\([0-9a-f]\{8\}\)\([0-9a-f]\{8\}\)/\1 \2/' | tr ' ' '\n' | sort
You might need macports installed for some of these commands :-/

I've attached an updated zip file containing my DSDT.aml, DSDT decompiled and all non-apple kexts I'm using. I've also replaced the previous IOSDHCI kext with a 32-bit only version of VoodooSDHC. Haven't found the 64-bit version yet.

Well done, to use bluetooth i modified the apple bluetooth driver adding the hardware adress vendor id and product id plus deleting AppleHPET.kext.
With your dsdt fix it works with AppleHPET.kext - thank you!!!

Here is the link to the BT device driver:

http://www.insanelymac.com/forum/ind...=post&id=65399

YouŽll need a Insanely Mac login downloading this file.

cheers!