[安装手册] HP ProBook/EliteBook/Zbook using Clover UEFI hotpatch (10.11)

[安装手册] HP ProBook/EliteBook/Zbook using Clover UEFI hotpatch (10.11)

原文链接:
http://www.tonymacx86.com/threads/guide-hp-probook-elitebook-zbook-using-clover-uefi-hotpatch-10-11.189416/

(本翻译仅供参考,建议配合原文一起使用)

本手册一步一步的教你安装 EI Captian/Yosemite到你的使用Intel显卡的ProBook/EliteBook/Zbook机器。

提示:Broadwell和Skylake平台,你必须安装10.11。Broadwell对10.10支持的并不好。Skylake只支持10.11,且在10.11.4版本运行的足够完美。

提示:本手册同样适用于Mavericks(需要硬件支持)虽然我没怎么测试。事实上,我用同样的方法将老旧的10.6.8安装到了我的4530s上。当然,许多最新的 kexts 并不支持老版本的 OSX,无线网卡在老系统上也没那么容易驱动,你可能要去找老驱动或者换网卡。

我有俩笔记本,一个ProBook 4530s,一个ProBook 4540s,使用本文中所采用的 hotpatch 方法用了有一阵子。这些资料和配置也在其他型号的机器上测试过了,当然你认为这是测试版也没啥问题。

ProBook Install 已经不再受支持,所以本文同样也是对nguyenmac安装手册(http://www.tonymacx86.com/el-capita...-hp-elitebook-probook-others-clover-uefi.html)的一个替代。

What you need

折腾必备

兼容的笔记本型号:

  • 6系主板的型号: HP Probook 4x30s, 6x60b, Elitebook 2x60p, 8x60p, 8x60w

  • 7系主板的型号: HP Probook 4x40s, 4x0 G0, 6x70b, Elitebook 8x70p, 2x70p, 9470m

  • 8系主板的型号: HP 3x0 G1, Probook 4x0 G1/G2, Elitebook 8x0 G1, ZBook G1, Folio 1040 G1

  • 9系主板的型号: HP Probook 4x0/6x0/8x0/ZBook G2

  • 100系主板的型号: HP ProBook 4x0 G3 目前不是很确定,你可以试试,欢迎反馈。

  • OS X Yosemite 或者 El Capitan 的镜像,可以从 Mac App Store 下载

  • 8GB 以上U盘

  • 兼容无的d线网卡

  • BIOS 从 HP 网站升级到最新型号

Intel 以外的显卡暂时不被支持。虽然能找到一些方法去使用,但是这些都需要单独修改显示方面的配置,加入其他的kext,调整ACPI,本文不讨论这些。

兼容网卡

  • HP Probook 4x30s: the laptop has whitelist BIOS, so only usable card is HP-branded Atheros AR5B195. You can also use a rebranded AR5BHB92 (AR9280).
  • HP Probook 6x60b/5330m, HP Elitebook 8x60p/2x60p: the laptop has whitelist BIOS, so only usable card is HP-branded Broadcom 43224HMS (582564-001/582564-002)
  • For laptops with NGFF/M.2 WiFi slot: BCM94352Z
  • Other laptop:
    WIFI ONLY: Atheros AR9280/9285, Broadcom 4322/43224 (better OS X feature support)
    WIFI+BT: AR5B195 (not recommended), Broadcom 43225HMB/4352HMB (better OS X feature support)

提示:HP 6x70b/8x70/2x70/9470m 内置蓝牙模块,所以如果你插的是带蓝牙模块的无线网卡,那么蓝牙不被使用。

关于 OSX 无线网卡的 FAQ:http://www.tonymacx86.com/el-capita...faq-read-first-laptop-frequent-questions.html

提示:USB 网卡不推荐,速度慢,不稳定

BIOS 设置

开始之前,先将 BIOS 恢复一下默认设置。

然后确认以下设置:

  • UEFI boot is enabled (hybrid/with CSM for best result)
  • secure boot is disabled
  • disable fast boot
  • IGPU graphics memory set to 64mb (Broadwell and Skylake)

提示:如果你的笔记本有switchable graphics相关的设置,打开它。这样在 Windows 下,它能正确的切换,在 Mac 下,独立显卡会被通过ACPI patches禁用掉。如果你也想在 Windows 中禁用屌,你得通过DGPU设置来完成。(译注:感觉这块儿没啥用,后面还有几句,没翻译)

准备 USB 安装和初始化

安装 OS X 之前,你可以通过 HP 提供的工具创建一个恢复 U 盘,这样当你想恢复回 Windows 的时候,可以通过它来恢复。

(译注:不太确定是不是 HP 提供的,反正是做个恢复 U 盘)

有一个不影响 Windows 安装 OSX 的奇技淫巧: http://www.tonymacx86.com/multi-booting/133940-mavericks-windows-8-same-drive-without-erasing.html ,有需求的自己看。

然后这是份关于笔记本创建Clover UEFI的指南:http://www.tonymacx86.com/el-capita...de-booting-os-x-installer-laptops-clover.html

重要提示:

  • 安装完成后,拷贝RealtekRTL8111.kextIntelMausiEthernet.kextClover/kexts/Other目录,是必须的,否则没以太网。如果你确定你的无线网卡兼容,你也可以选择拷贝FakePCIID.kext, FakePCIID_Broadcom_WiFi.kext, 和 ProBookAtheros.kextClover/kexts/Other

提示:
FakePCIID.kextFakePCIID_Broadcom_WiFi.kext 在: https://github.com/RehabMan/OS-X-Fake-PCI-ID. ProBookAtheros.kext 在4x30s DSDT patch github: https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch

  • 使用createinstallmedia。它工作的很好,同时也可以作为 OS X recovery 分区来使用。

  • 最好使用USB2的介质。�USB3 在六系准系统上,可能会有问题。

  • 一些笔记本需要使用替换DropTables。比如使用 Sandy Bridge CPU turbo boost enabled 的型号(如Core i5-2xxx, Core i7-2xxx, but not Core i3-2xxx等)。

安装之后

按照上一节提到的方式安装 Clover UEFI。安装完毕并正确配置(config.plist, kexts, 就像你做启动盘时那样)后,你就能从硬盘引导啦。这时你的引导文件应该是和你的U盘 Clover 是一样的。注意别忘了HFSPlus.efiHPFanReset.efi

(译注:这时可以把U盘里的Clover目录整个拷贝到硬盘的EFI分区,我就是这么干的。)

此时虽然系统被启动起来了,但还是有许多硬件没有被正确驱动。我们需要打补丁(patch DSDT),合理配置config.plist,安装必要的驱动文件。

在此之前,你已经将RealtekRTL8111kext/IntelMausiEthernet.kext注入到了 Clover,你应该已经能上网了。不管 WIFI 还是有线网,连接它,然后继续往下看。

补丁和所用到的工具很容易得到:https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch
(译注:像 RehabMan 大神致敬,本文以及这个 Repo 都是大神的作品)

To start, the developer tools must be installed. Run Terminal, and type:

开始之前,Mac 的开发工具必须被安装。打开终端( Terminal ),然后输入:

git

系统会提示你安装开发者工具包。如果你的系统已经能上网,它将会自动安装。确认你已经安装好了它们,继续往下看。

这时可以把刚刚提到的补丁和工具包从 github 拉回来了。

终端中输入:

mkdir ~/Projects
cd ~/Projects
git clone https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch probook.git

接着安装驱动和工具:

cd ~/Projects/probook.git
./download.sh
./install_downloads.sh

download.sh脚本将会自动把所有需要的资源的最新版拉回来(patchmatic,aisle,MaciASL)以及所有依赖的驱动(FakeSMC.kext及其他)从bitbucket。install_downloads.sh将会自动安装它们到相应位置。

这时你可以重启计算机验证刚刚步骤的成果。重启可能有点慢,不要紧张,这是因为kexts(驱动)被安装好了,但是 ACPI 没有被正确配置。

下面需要给系统打补丁了,这是关键的一步。

刚刚下载的补丁文件,不再使用 DSDT/SSDTs 方法打补丁,而是采用 Clover hotpatches 技术来打补丁,这么做的好处是侵略性更小,依赖额外准备好的 SSDTs 文件,。这种方式比之前的补丁方式侵略性小,也更容易操作一些,不再extract/disassemble/patch/compile这些步骤。(在 HP ProBook Installer 时代,这些步骤是自动化完成的)。

(译注:这段翻译的不是很准确,是根据自己的理解翻译的,欢迎改正)

终端下输入:

cd ~/Projects/probook.git
./build.sh

build.sh脚本将所依赖的 SSDT 文件编译出来(通过 iasl ),生成后的文件在./build目录。它也会生成一些稍后会用到的配置文件。

看看都生成了些啥:

cd ~/Projects/probook.git
ls build

正确的返回结果类似:


SSDT-1040-G1-Haswell.aml    SSDT-8x70.aml            SSDT-PRW.aml
SSDT-2x70.aml            SSDT-9x70.aml            SSDT-SATA.aml
SSDT-3x0-G1.aml            SSDT-BATT-G2.aml        SSDT-SMBUS.aml
SSDT-4x0-G0.aml            SSDT-BATT-G3.aml        SSDT-USB-4x0-G3.aml
SSDT-4x0-G1-Haswell.aml        SSDT-BATT.aml            SSDT-USB-4x0s-G2.aml
SSDT-4x0-G1-Ivy.aml        SSDT-FAN-MOD.aml        SSDT-USB-4x30s.aml
SSDT-4x0-G2-Broadwell.aml    SSDT-FAN-ORIG.aml        SSDT-USB-4x40s.aml
SSDT-4x0-G2-Haswell.aml        SSDT-FAN-QUIET.aml        SSDT-USB-6x60.aml
SSDT-4x0-G3-Skylake.aml        SSDT-FAN-READ.aml        SSDT-USB-6x70.aml
SSDT-4x30s.aml            SSDT-FAN-SMOOTH.aml        SSDT-USB-820-G2.aml
SSDT-4x40s.aml            SSDT-HACK.aml            SSDT-USB-840-G2.aml
SSDT-6x60.aml            SSDT-IGPU-HIRES.aml        SSDT-USB-850-G2.aml
SSDT-6x70.aml            SSDT-IGPU.aml            SSDT-USB-8x0s-G1.aml
SSDT-8x0-G1-Haswell.aml        SSDT-KEY102.aml            SSDT-USB-8x60.aml
SSDT-8x0-G1-Ivy.aml        SSDT-KEY87.aml            SSDT-USB.aml
SSDT-8x0-G2-Broadwell.aml    SSDT-LANC_PRW.aml        SSDT-XOSI.aml
SSDT-8x0-G2-Haswell.aml        SSDT-LPC.aml            SSDT-ZBook-G2-Haswell.aml
SSDT-8x60.aml            SSDT-PNLF.aml            readme.txt

这些文件你不是全都用的上,需要根据你的配置和准系统型号来选择。它们最终会被安装到 EFI/Clover/ACPI/patched

To mount your EFI partition, use the mount_efi.sh shell script
from the project:

首先使用mount_efi.sh挂载 EFI 分区:

cd ~/Projects/probook.git
sudo ./mount_efi.sh /

所有的准系统型号都需要以下文件:

SSDT-HACK.aml
SSDT-LPC.aml
SSDT-PNLF.aml
SSDT-PRW.aml
SSDT-SATA.aml
SSDT-SMBUS.aml
SSDT-USB.aml
SSDT-XOSI.aml

其他依赖:

One of the model specific SSDTs such as SSDT-4x30s.aml or SSDT-4x40s.aml, etc.

准系统需要特定的依赖,比如SSDT-4x30s.amlSSDT-4x40s.aml这种和型号相关的文件。基于此,你需要指定:

使用 SSDT-IGPU.aml 还是 SSDT-IGPU-HIRES.aml
使用 SSDT-BATT.aml, SSDT-BATT-G2.aml, 还是 SSDT-BATT-G3.aml.
使用 SSDT-KEY102.aml 还是 SSDT-KEY97.aml
指定 USB customizations SSDT-USB-*.aml

还有你的风扇控制,使用SSDT-FAN-READ.aml, SSDT-FAN-SMOOTH.aml, SSDT-FAN-ORIG.aml, 还是 SSDT-FAN-QUIET.aml

如果没有自定义 USB SSDT,不要使用相关的文件,参考 USB customization 章节。

If there is not a system specific SSDT, you can try to use one that is close, but it is better if you provide the materials requested in "Unsupported laptops", so a correct SSDT can be created.

如果没有找到和你准系统相关的 SSDT,可以选择一个接近的型号试试。更好的选择是参考 ”Unsupported laptops” 部分,创建一个符合你系统的 SSDT。

举个例子,我使用ProBook 4530s1366x768屏幕,那么依赖:

SSDT-HACK.aml
SSDT-LPC.aml
SSDT-PNLF.aml
SSDT-PRW.aml
SSDT-SATA.aml
SSDT-SMBUS.aml
SSDT-USB.aml
SSDT-XOSI.aml
SSDT-4x30s.aml
SSDT-IGPU.aml
SSDT-BATT.aml
SSDT-KEY102.aml
SSDT-USB-4x30s.aml
SSDT-FAN-MOD.aml

在我的ProBook 4540s1080p屏幕上,我使用:

SSDT-HACK.aml
SSDT-LPC.aml
SSDT-PNLF.aml
SSDT-PRW.aml
SSDT-SATA.aml
SSDT-SMBUS.aml
SSDT-USB.aml
SSDT-XOSI.aml
SSDT-4x40s.aml
SSDT-IGPU-HIRES.aml
SSDT-BATT.aml
SSDT-KEY102.aml
SSDT-USB-4x40s.aml
SSDT-FAN-MOD.aml

在更新的机器,比如 Skylake 的ProBook 4x0 G3,使用:

SSDT-HACK.aml
SSDT-LPC.aml
SSDT-PNLF.aml
SSDT-PRW.aml
SSDT-SATA.aml
SSDT-SMBUS.aml
SSDT-USB.aml
SSDT-XOSI.aml
SSDT-4x0-G3-Skylake.aml
SSDT-IGPU.aml
SSDT-BATT-G3.aml
SSDT-KEY102.aml
SSDT-USB-4x0-G3.aml
SSDT-FAN-MOD.aml

根据你的硬件,选择你的文件(别拉下风扇控制)

You could copy them with Finder or you can use Terminal.

从 Finder 复制这些文件,或者终端。

install_acpi.sh文件提供了一些配置好的文件,让这个步骤更容易。

举个例子,我的4530s1366x768分辨率的屏幕:

./install_acpi.sh install_4x30s

我的4540s1080p分辨率屏幕:

./install_acpi.sh install_4x40s_hires

想知道所有的可选项,可以输入:

./install_acpi.sh help

默认使用SSDT-FAN-READ.aml,从 BIOS 中读取风扇控制参数。如果你想改变这个设置,你需要在调用install_acpi.sh的时候指定第二个参数。可选的参数有:READQUIETSMOOTHMOD

在我的4540s,我喜欢用MOD作为参数。

./install_acpi install_4x40s_hires MOD

如果你的准系统型号没有在安装脚本找到,那是因为这个型号还没被支持。查看Unsupported laptops部分。

电源管理

使用Pike R. AlphassdtPRgen.sh脚本:https://github.com/Piker-Alpha/ssdtPRGen.sh

使用方法参看这个项目的README

复制生成的SSDT.amlEFI分区的/EFI/Clover/ACPI/patched/SSDT.aml

当前版本使用步骤缩水版大概是:

cd ~/Projects/probook.git
curl --fail -o ./ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh
chmod +x ./ssdtPRGen.sh

如果你使用更新型号(Broadwell, Skylake 和未来其他型号的 CPU 芯片),你需要使用 beta 分支:

cd ~
curl --fail -o ./ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/Beta/ssdtPRGen.sh
chmod +x ./ssdtPRGen.sh

然后运行脚本:

./ssdtPRGen.sh

问你啥你都回答n

生成的文件默认在:~/Library/ssdtPRgen/SSDT.aml

拷贝这个文件到 EFI 目录,/EFI/Clover/ACPI/patched/SSDT.aml

cd ~/Projects/probook.git
sudo ./mount_efi.sh /
cp ~/Library/ssdtPRgen/ssdt.aml /Volumes/EFI/EFI/Clover/ACPI/patched/SSDT.aml

hibernation模式不被黑苹果支持,你需要关掉它:

sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage
sudo mkdir /var/vm/sleepimage

在系统升级后,hibernatemode会被重新打开,需要手动关闭。最后一行创建sleepimage目录,可能会帮助。

Note: It is common with certain Ivy computers with ULV CPUs and MacBookAir5,x SMBIOS to need kernel flag -xcpm. If you get a panic upon boot, add the -xcpm kernel flag to config.plist/Boot/Arguments.

提示:

最终config.plist

到现在为止,你还在使用最初用于安装引导的那个config.plst。现在所有必须的 ACPI 文件已经放好了,可以更新一下这个 config.plist 了。

首先,挂载EFI分区:

cd ~/Projects/probook.git
sudo ./mount_efi.sh /

config.plist和你的硬件有关系。所有的 plist 文件在./config目录下。你能浏览到它们:

cd ~/Projects/probook.git
ls config

文件信息为:

config_1040_G1_Haswell.plist    config_4x0s_G2_Haswell.plist    config_8x0s_G1_Ivy.plist
config_2x70p.plist        config_4x0s_G3_Skylake.plist    config_8x0s_G2_Broadwell.plist
config_3x0_G1.plist        config_4x30s.plist        config_8x0s_G2_Haswell.plist
config_4x0s_G0.plist        config_4x40s.plist        config_8x60p.plist
config_4x0s_G1_Haswell.plist    config_6x60p.plist        config_8x70p.plist
config_4x0s_G1_Ivy.plist    config_6x70p.plist        config_9x70m.plist
config_4x0s_G2_Broadwell.plist    config_8x0s_G1_Haswell.plist    config_ZBook_G2_Haswell.plist

拷贝适合你硬件的 plist 文件到你EFI分区的EFI/Clover/config.plist

提示:如果你安装过程总,自定义了 DropTables,你可能需要引入它们在你最终的config.plist 中。

拿我的 ProBook 4530s 再举个例子:

cd ~/Projects/probook.git
cp ./config/config_4x30s.plist /Volumes/EFI/EFI/Clover/config.plist

你也可以使用 Finder 拷贝这些文件。

After copying the config.plist from the repo to EFI/Clover/config.plist, you should customize the SMBIOS so you have a unique serial. You can use Clover Configurator to do this (use google to find/download it). DO NOT use Clover Configurator to edit your actual config.plist. Instead edit a "dummy" config.plist to create the SMBIOS data and then use copy/paste with a plist editor (I use Xcode) to copy the SMBIOS section into my active config.plist. Clover Configurator is too buggy and cannot be trusted with edits to your real config.plist. Make sure you use the same SMBIOS model as the original plist used.

把正确的 config.plist 放到 EFI/Clover/config.plist 之后,你可能有根据个人信息自定义 SMBIOS 的需求。你可以使用Clover Configuration生成这些信息,然后把SMBIOS的内容拷贝到你自己的config.plist中。注意,千万不要直接编辑你的config.plistClover Configuration 太多 Bug,不可信,它会抹掉你的重要信息。

不要停止阅读

安装过程大部分已经完成,但不要停止阅读本手册。下面有一些重要信息你需要知道。

确认已经看到了Known Problems,特别是Audio:章节。如果完成安装之后你重启电脑发现没有声音,不要惊慌,照着那部分内容重建缓存。

当遇到问题无法解决需要问的时候,不要忽略Problem Reporting章节中所说的必要文件,带上它们,问题才更有可能解决。

更新补丁

From time to time, updates may become available to the project repository. In the event of such updates, you may want to update your copies, and re-patch DSDT/SSDT with the updates.

随着时间的推移,新的补丁包可能更有效。升级到新版的补丁,你需要更新你本地的文件,重新patch DSDT/SSDT。

我们用了 git,这一切只需要几条命令:

cd ~/Projects/probook.git
git stash
git pull
./download.sh
./install_downloads.sh
./build.sh

In the case any of the SSDTs are updated, you will need to copy them to your EFI partition (as when you originally installed). Same goes for updates to the plist files. It is a good idea to update to the latest files before contemplating applying major updates to the system.

所有的 SSDTs 文件都会被更新,你需要重新拷贝它们到你的 EFI 分区(就像你之前做的一样)。更新你的 plist 文件也是同样的操作。在打算进行系统主版本升级(10.10->10.11)的时候,值得进行一次更新。

工作状况

我已经测试通过的:

  • UEFI booting via Clover
  • built-in keyboard (with special function keys)
  • built-in trackpad (basic gestures)
  • HDMI video/audio with hotplug
  • AirPlay mirroring to AppleTV
  • WiFi, provided you have compatible hardware
  • Bluetooth (with handoff) using BCM94352HMB
  • native USB3 with AppleUSBXHCI (USB2 works also) (except 10.11 with 6-series laptops with NEC/Renesas)
  • native audio with AppleHDA (using injector for easy updates), including headphone
  • built-in mic
  • built-in camera (if you are lucky)
  • native power management
  • battery status
  • backlight controls with smooth transitions, save/restore across restart
  • accelerated graphics
  • wired Ethernet
  • Mac App Store working
  • Messages/FaceTime (working on 10.10.3 even though I didn't run through the guide: http://www.tonymacx86.com/general-help/110471-how-fix-imessage.html)

没有测试过/不工作的/有问题的:

  • you may notice the screen flicker on certain websites/apps with gray gradients
  • card reader is not working on some models (would require significant development effort, not important to me)

已知问题

Find My Mac/锁定:Find My Mac不能正确工作,不要锁定你的 Mac 因为它很难在被解开。

Wifi 在休眠后唤醒变慢:禁用SysPrefs->Energy Saver 中的 Wake for network access

声音:在重新安装/升级之后,声卡可能挂了。

修复

  • 重启 without caches (在 Clover, 选择 without caches)
  • 重新生成缓存:
sudo touch /System/Library/Extensions && sudo kextcache -u /
  • 正常启动

以下内容暂时没有翻译,多是更新、旧系统升级的部分。

Audio: External mic via requires mono-stereo adapter

Audio: If your laptop has a "combo jack" (combo headphones, external mic), the external mic will not work. Note: This is except for laptops with ALC280. The needed XML is in the project to enable full headset switching (4 pin) for ALC280 only equipped laptops such as the 8x0 G2, ZBook G2. Tested on the EliteBook 850 G2 Broadwell.

WiFi not working: Please realize you must install compatible hardware. Most of these laptops do not come with supported WiFi cards. If you have installed a compatible WiFi card, test it on Windows before concluding there is a problem with OS X. Finally, make sure the device is powered on. There is button on your keyboard deck for WiFi radio power. The LED often does not reflect the true state of power to the device, so don't mash it like a maniac. Press it once, and wait for the networks to populate... it is not instant. If it doesn't work, press again, and again... wait for the networks. If it is not working, check antenna connections and test on Windows.

Camera after sleep: On some laptops (4540s, others?) the Camera may intermittently not be detected after sleep (seems longer sleeps more than shorter sleeps). It is alleviated somewhat by portType=4 for the port associated with the camera, but still may happen occasionally. Workaround: sleep the laptop again, wake.

Slow boot and constant fsck with certain SSDs: If you have fsck always running on boot, disable TRIM. The final config.plist used in this guide always enables the TRIM patch. You can easily disable it by setting Disabled=true. You will notice your boot is extremely slow and you will notice the fsck in verbose boot or system.log. I have this issue with my desktop and Mushkin SSDs, and has been reported here with Intel SSDs. I have no issue with Crucial (M4) or Samsung (EVO).

USB customization

There are several USB SSDTs (build/SSDT-USB*.aml) provided for a few models. But you will notice that not all models are accounted for. Since USBInjectAll.kext is being used, all ports will be injected for models which lack a custom USB SSDT, but it is optimal to only inject the ports needed.

To assist in creating a new USB SSDT, the following procedure should be followed:

  • enable the port limit patch if necessary (XHC 8086:8xxx and 100-series XHC).
    (you will find the port limit patch in the config.plist but disabled by default)
  • run IORegistryExplorer v2.1 (see "Problem Reporting" below for link)
  • plug a USB3 device into each USB port (does not need to be all ports simultaneously)
  • plug a USB2 device into each USB port (does not need to be all ports simultaneously)
  • go back to the running instance of IORegistryExplorer and save the resulting ioreg file

Reply with an a note regarding your laptop hardware details and the resulting ioreg file. From the data in the ioreg a custom SSDT for your USB ports can be created.

The same procedure can be used if your USB ports/devices are not working (or some of them not working) even if you have a custom USB SSDT. Just boot with kernel flag -uia_ignore_rmcf so that the current custom configuration (for USBInjectAll.kext) is not in effect.

Other post-install tasks

Trackpad: Be sure to visit the options in SysPrefs->Trackpad and change them to your liking.

Trackpad three finger support: You can configure three finger swipes in SysPrefs->Keyboard->Shortcuts. Instead of pressing keys for a given function, do the three finger swipe (up/down/left/right).

Disable trackpad when using an external mouse: The latest script installs the VoodooPS2Daemon. It allows you to disable the built-in trackpad when a USB mouse is plugged in. Just check the box in SysPrefs->Accessibility->"Mouse & Trackpad".

Bluetooth: If you get the Bluetooth Setup Assistant popup, go to SysPrefs->Bluetooth->Advanced, uncheck the boxes.

Major updates

For example... 10.10 to 10.11.

First step should be to update to the latest repository as described in "Updates to the patch repositories".

Also update Clover to the latest using the Clover installer.

Also update config.plist at EFI/Clover/config.plist to the latest content from the repo. Be sure to retain your own SMBIOS data at config.plist/SMBIOS.

Now you can update via the App Store. Just boot the installer/updater upon restart.

After updating, run ./install_downloads.sh again:
Code (Text):

cd ~/Projects/probook.git
./install_downloads.sh

The reason for running ./install_downloads.sh both before and after the update is because the kexts installed by install_downloads.sh may depend on the version of OS X currently running.

Mavericks compatibility

This guide will also work with Mavericks.

Here are some notes/exceptions regarding Mavericks:

  • not much testing with Mavericks
  • FakePCIID_HD4600_HD4400.kext is installed on Mavericks even though it is not needed (doesn't seem to do any harm)
  • AppleHDA_ProBook.kext must be regenerated for Mavericks

The AppleHDA_ProBook.kext injector checked into the project is for the current version of El Capitan.

To regenerate it under Yosemite/Mavericks:
Code (Text):

cd ~/Projects/probook.git
./patch_hda.sh
./install_downloads.sh

That will generate AppleHDA_ProBook.kext in the probook.git project directory and install it to /S/L/E. You can also install it with ./install_downloads.sh or with Kext Wizard if you wish.

Note: I haven't tested this guide end-to-end, but for example the same ACPI/kext setup works all the way down to 10.6.8 on my 4530s.

To transition from PBI-CE based install

If you used the ProBook Installer-Clover Edition (PBI-CE), you can transition to this hotpatch setup:

  • remove all files in EFI/Clover/ACPI/patched except for SSDT.aml (it came from ssdtPRgen.sh)
  • then follow all instructions for post-install in the guide (ACPI/patched, config.plist)
  • you can skip the part about "Power Management" unless you accidentally deleted SSDT.aml
  • ./downloads.sh and ./install_downloads.sh can be used to update your kexts

If you have a "mixed" system (HD3000 on 7-series), the PBI-CE installed MacBookPro9,2 SMBIOS and two kexts, either AppleGraphicsPowerManagement_MacBookPro9_2.kext and ACPI_SMC_PlatformPlugin_MacBookPro9_2.kext or AppleGraphicsPowerManagement_MacBookPro10_1.kext and ACPI_SMC_PlatformPlugin_MacBookPro10_1.kext. With the new method for USB patching, these hacks are not needed. You should use an SMBIOS appropriate for your CPU (MacBookPro8,2) and delete these kexts.

Unsupported laptops

If you think your laptop might be similar to the ones listed as supported, but needs only small tweaks, please provide the following information:

  • native DSDT/SSDT files extracted via Clover F4 (ACPI/origin)
  • audio codec dump from Linux
  • full hardware details (CPU, chipset, graphics device, screen resolution, etc)
  • output from 'lspci -nn' in Linux Terminal

Notes regarding HDMI vs. DP

The files in this guide contain patches to change external ports from DP to HDMI. This may not be appropriate if your laptop has a DP port instead of HDMI.

If your laptop has DP, please provide the files requested in "Problem Reporting". Capture ioreg when the external monitor is connected. Please make sure your profile provides complete and accurate details.

Other Notes

This guide (and recent PBI-CE) does not install the FakeSMC sensor plugins. They are inefficient and waste CPU cycles even when HwMonitor is not running. As a result, various CPU status, heat sink temperatures, fan speeds will not show in HwMonitor.

You are welcome to install the plugins manually: https://github.com/RehabMan/OS-X-FakeSMC-kozlek/

After you install them manually, the ./download.sh and ./install_downloads.sh scripts will continue to update them (if FakeSMC is updated) even though those scripts won't install them initially.

Problem reporting

All problem reports should be accompanied by various files that allow your progress to be accounted for...

In terminal,
Code (Text):

rm -Rf ~/Downloads/RehabMan
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract

Attach contents of Downloads/RehabMan directory (as ZIP).

Also, post ioreg as ZIP: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.

And output from:
Code (Text):

kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
kextstat|grep -y applelpc
kextstat|grep -y applehda

Also output from:
Code (Text):

ls -l /System/Library/Extensions/AppleHDA.kext/Contents/Resources/.zml

Also, press F4 at the main Clover screen, then compress and attach the EFI/CLOVER folder in use. And please, in order to reduce the size, omit EFI/Clover/themes.

Also post output of:
Code (Text):

sudo touch /System/Library/Extensions && sudo kextcache -u /

Compress all files as ZIP. Do not use external links. Attach all files using site attachments only.

推荐阅读更多精彩内容

  • NAME dnsmasq - A lightweight DHCP and caching DNS server....
    ximitc阅读 1,614评论 0 0
  • Correctness AdapterViewChildren Summary: AdapterViews can...
    MarcusMa阅读 6,326评论 0 6
  • 都市婚恋文,有才华的灰姑娘嫁入豪门的故事。亮点:女主林晚晚性格好,柔弱但不软弱,拎得清,对待亲情、爱情勇敢付出。男...
    苏妩阅读 303评论 0 0
  • 九月的蚊子悄悄附在我的胳膊上吸血,蚊子怀着感恩的心,祈祷我毫无察觉,愿我的血营养他们此生的最后一次生殖。 而我还是...
    福尔摩诗阅读 62评论 0 1
  • 本文内容概要: 1 Web缓存是什么?为什么要使用它? 2 Web缓存的类型 3 浏览器缓存的基本知识 3.1 E...
    HTML5学堂阅读 481评论 0 4