http://www.insanelymac.com/forum/topic/ ... windows-7/
Now that I finally have my T410 working with OS X, I thought it would be nice to document what I did for other people. And myself, since I'll inevitably have to reinstall and forget everything I did. Below I've included instructions on installation, kexts that I used, instructions to modify your DSDT (as well as my DSDT for reference), and a few random thoughts along the way. Feedback is always welcome, particularly if you have a solution to any of the problems I've encountered. I suggest reading through this post in its entirety to make sure that you're prepared and to consider any potential pitfalls ahead of time. Of course that's just a suggestion. This isn't going to be like those things they did in elementary school where it would say "READ EVERYTHING FIRST" and follow with a bunch of crazy instructions ('stand up and moo like a cow') and, at the end, inform you to disregard everything it said and hand in the paper. I promise I won't do that to you. You should end up with Mac OS 10.7 (or whatever you have handy) and, if you want it, Windows (7).
Note about dual booting: I didn't have to do anything special to accomplish this. I used a Windows 7 SP 1 disc image to install Windows and an xMoved Lion installer from another partition on the drive. Both OSes installed on the GPT table with no problems. Your results may vary, of course. I've seen many threads asking about this topic, but for me it just worked. Having said that, you may want to take a look into this MBR patch if it doesn't "just work" for you.
Preparation:
If you want bluetooth, enable it before you begin installing OS X.
A USB flash drive (or DVD) containing the following: (Might want to have the drive plugged in ahead of time. You may get a kernel panic when you plug USB devices in while booting from rBoot)
* T410 Kexts
* DSDT.aml [If you need to create your own, skip to the bottom for instructions.]
* #####
If you need wifi, you'll either need to replace your wifi card or get a USB dongle.
An rBoot LE CD.
A USB keyboard and mouse. Lion is kind of a jerk like that and doesn't accept our keyboard and mouse as being good enough. You'll only need it for installation.
In the BIOS (hit F1 during boot), make sure the following settings are correct:
* Config > Display
* Graphics Device: Discrete Graphics
* OS Detection for NVIDIA Optimus: Disabled
* Config > Serial ATA (SATA)
* SATA Controller Mode Option: AHCI
Installation:
1. Boot from the install partition/disc/flash drive with rBoot LE.
2. Partition the drive with a GUID partition table.
Optionally, create a FAT partition for Windows. I recommend naming it something painfully obvious. Like WINDOWS.
3. Follow the prompts to install OS X.
4a. If you're going to install Windows, now is the time to do it. Select your previously created FAT partition when it comes time to choose the disk. Windows will complain that it's not NTFS. Fortunately that's not a problem. Just click on the format option below the table of disks. (Please be absolutely sure you select the right partition. I'd hate for you to delete something important.)
4b. Boot from rBoot LE and select your OS X partition.
5. Move DSDT.aml to the desktop.
6. Launch ##### and select the following options:
* UserDSDT Install
* System Utilities (check everything)
* > Drivers & Bootloaders
* > Kexts & Enablers
* > Network > hnak's AppleIntelE1000e Ethernet
* > Customization
* > Boot Options > Use KernelCache
* > System Definitions > MacBook Pro > MacBookPro 6,1
* > OSx86 Software > Kext Utility If you feel compelled to and know what it does, feel free to choose other things. The FakeSMC monitors can be useful, for instance.
7. Assuming nothing exploded, copy the following files to /System/Library/Extensions:
VoodooPS2Controller.kext
ThinkpadUltraNav.kext
VoodooBattery.kext
AppleACPIPlatform.kext (Replaces the existing one for battery functionality)
You may get warnings about the kexts being unable to be used. Never fear!
8. Open the file /Extra/org.chameleon.Boot.plist and make the following alterations:
Find the key 'GraphicsEnabler' and change the string to 'No'.
I had issues with the app store letting me do anything without adding this:
<key>EthernetBuiltIn</key>
<string>Yes</string> 9. Run Kext Helper and reboot.
10. Go back to #####: Drivers & Bootloaders, Kexts & Enablers, Audio, Universal. Check VoodooHDA 0.2.7.3. Also check System Utilities. This has to be done last because, in my experience, there's a 50% chance that VoodooHDA will cause a kernel panic during installation. It's always nicer if that happens after you've installed everything else.
That should be it! Now you can update and do whatever. Hopefully everything worked out for you. And now for the oddities...
Things I can't get to work:
Card reader
Internal wifi. I use an Airlink dongle to excellent effect.
Optimus graphics. I'm fine with using the NVidia card, though.
The accelerometer that locks the drive head when it detects motion. Ah well. We lived without it for years anyway, right?!
Things that are flaky:
Bluetooth can't be toggled on or off from OS X. I've also never tested it to see if it actually works, but the icon appears!
Shutting down seems to be... incomplete. The OS goes through shutdown fine, but the hardware doesn't seem to completely shutdown. The fan keeps going until the power button is held down.
Brightness can't be adjusted with FN + Home/End. You have to use the Scroll Lock + Pause keys. (Also, just in case you're like me and think I mean FN + Pause, I don't. Just pause or scroll lock.)
Every random reboot, the VoodooHDA kext will panic the kernel. Just reboot and it works just fine. If that makes you rage as much as it makes me rage, I suggest moving the kext to somewhere (we'll say the desktop) and only loading it on demand. From a terminal: sudo kextload /users/<your username>/voodoohda*.kext
Things I never use and didn't test:
Firewire (or whatever it's called these days)
DisplayPort
Camera (Though I'm told it works natively. I have it disabled in the BIOS because it creeps me out.)
Spammy DSDT modifications:
I'm going to assume that you know how to extract your DSDT and make modifications. I recommend using DSDT Editor simply because it displays a device tree on the left that will make it much easier to find the things I talk about below. Anyway! I'm only going to provide the three alterations that are necessary to get brightness controls working:
1. Navigate through the labyrinth of devices to: _SB\PCI0\Peg\Vid
2. Locate the _DSM method and replace it thusly:
Name (_SUN, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x22)
{
"AAPL,backlight-control",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"@0,backlight-control",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"@0,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},
"@0,device_type",
Buffer (0x08)
{
"display"
},
"@0,display_cfg",
Buffer (0x08)
{
0x03, 0x01, 0x00, 0x00
},
"@0,name",
Buffer (0x0F)
{
"NVDA,Display-A"
},
"@1,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},
"@1,device_type",
Buffer (0x08)
{
"display"
},
"@1,display_cfg",
Buffer (0x08)
{
0xFF, 0xFF, 0x00, 0x01
},
"@1,name",
Buffer (0x0F)
{
"NVDA,Display-B"
},
"@0,built-in",
Buffer (One)
{
0x01
},
"@0,pwm-info",
Buffer (0x14)
{
/* 0000 */ 0x01, 0x14, 0x00, 0x64, 0xA8, 0x61, 0x00, 0x00,
/* 0008 */ 0x08, 0x52, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x04, 0x00, 0x00
},
"NVCAP",
Buffer (0x14)
{
/* 0000 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
/* 0008 */ 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a,
/* 0010 */ 0x00, 0x00, 0x00, 0x00
},
"VRAM,totalsize",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x20
},
"device_type",
Buffer (0x0D)
{
"NVDA,GeForce"
},
"model",
Buffer (0x17)
{
"nVidia GeForce NVS 3100M"
},
"rom-revision",
Buffer (0x25)
{
"nVidia GeForce NVS 3100M OpenGL Engine"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}3. Skip to the very bottom and stick this right before that final }
Method (DTGP, 5, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
}))
{
If (LEqual (Arg1, One))
{
If (LEqual (Arg2, Zero))
{
Store (Buffer (One)
{
0x03
}, Arg4)
Return (One)
}
If (LEqual (Arg2, One))
{
Return (One)
}
}
}
Store (Buffer (One)
{
0x00
}, Arg4)
Return (Zero)
}4. Locate the line 'Scope (_SB.PCI0.LPC.UART)' and paste the following right above the } that's above the scope I just mentioned:
Device (PNLF)
{
Name (_HID, EisaId ("APP0002"))
Name (_CID, "backlight")
Name (_UID, 0x0A)
Name (_STA, 0x0B)
}
The DTGP method and PNLF device can go other places, I'm sure, but these just happen to be the locations I have them at. Now you can compile and save your DSDT.aml file! My DSDT has some other changes, but you can download it and discover them for yourself if you're interested. Please note that I have a Core i7-620M with NVIDIA NVS 3100M (512 MB) video. If your hardware differs you probably won't be able to use my DSDT exactly as is and would be better up applying the changes above to your own.
Whew. That was a bit more long-winded than intended. Sorry! Hopefully somebody got something out of it, though.
Attached Files
Attached File DSDT.zip 26.19KB 124 downloads
Attached File t410_kexts.zip 515.94KB 135 downloads
Thinkpad T410 Lion and Optional Windows 7
Apple OS
前往
- Software
- ↳ CodeCharge Studio
- ↳ CodeCharge
- ↳ DemoCharge
- ↳ SuperPDF
- ↳ 551einv
- ↳ E3進銷存
- 程式語言
- ↳ PHP
- ↳ CodeLobster PHP Edition
- ↳ Yii
- ↳ CodeIgniter
- ↳ Phalcon
- ↳ Symfony
- ↳ FuelPHP
- ↳ Zend Framework 2
- ↳ laravel
- ↳ WordPress
- ↳ ASP.NET/C#
- ↳ ASP/VBScript
- ↳ JSP
- ↳ Java Servlets
- ↳ ColdFusion
- ↳ Perl
- ↳ Java Script
- ↳ jQuery
- ↳ HTML + CSS
- ↳ jQuery
- ↳ nodejs
- ↳ VB6
- ↳ Git
- ↳ App Inventor 2
- ↳ bash
- ↳ C++/ VC/ OpenCV
- ↳ OpenCV
- ↳ go
- ↳ cordova
- ↳ python
- ↳ Xamarin
- ↳ Assembly
- 資料庫
- ↳ MySQL
- ↳ PostgreSQL
- ↳ ORACLE
- ↳ Access
- ↳ SQL Server
- ↳ SQLite
- ↳ MariaDB
- ↳ Mongodb
- 作業系統
- ↳ Linux
- ↳ Ubuntu
- ↳ CentOS
- ↳ Mint
- ↳ Mandriva
- ↳ Debian
- ↳ Red Hat Enterprise Linux
- ↳ Oracle Linux
- ↳ Fedora
- ↳ Kali Linux
- ↳ OpenSUSE
- ↳ Elementary OS
- ↳ Microsoft
- ↳ Server 2008 R2
- ↳ Server 2012 R2
- ↳ Server 2012
- ↳ 8
- ↳ 10
- ↳ System Center 2016
- ↳ NOVELL
- ↳ FreeBSD
- ↳ VMware
- ↳ VirtualBox
- ↳ Mac OS X
- ↳ Solaris
- ↳ iOS
- ↳ Android
- ↳ Cloud
- ↳ OpenStack
- ↳ Docker
- ↳ Proxmox VE
- ↳ CloudReady
- ↳ chrome
- 網頁伺服器
- ↳ apache
- ↳ tomcat
- ↳ nginx
- ↳ IIS
- ↳ JBoss
- ↳ weblogic
- ↳ WebHosting
- 硬體
- ↳ 硬體及週邊
- ↳ RouterOS
- ↳ LEGO NXT
- ↳ Arduino
- ↳ MSP430
- ↳ Raspberry Pi
- ↳ OpenERP
- ↳ Storage
- ↳ Server
- ↳ Brocade
- ↳ MODELS
- ↳ FortiGate
- 軟體
- ↳ sublime
- ↳ LibreNMS