ちょっとした備忘録

【osx86】ThinkPad X220にmacOS Sierraをインストールする

f:id:ymdtr519:20161225012207p:plain
ThinkPad X220でmacOS Sierraが動作する夢を見ましたので、記録しておきます。
※あくまでも夢の話です

大まかな流れは以下のようになります。

  1. mod BIOSを導入
  2. wifiモジュールを換装
  3. macOS SierraインストールUSBメモリを作成
  4. インストールUSBメモリにClover EFIをインストール
  5. Sierraをインストール
  6. X220にClover EFIをインストール

wifiモジュールの換装

ThinkPad X220のwifiモジュールはmacOSでは動かないので、
Inventory of supported and unsupported wireless cards - Wireless and Bluetooth - OSXLatitude Forum
を参考に対応しているwifiモジュールに換装します。ここでは「DW1515」を使用しました。
また、ThinkPad X220のBIOSlenovoが許可したハードウェアしか動作しないようになっているので、modBIOSを導入する必要があります。

インストールUSBメモリの作成

まず、SierraのインストールイメージをApp Storeからダウンロードします。

次に、以下のwebサイトから「ThinkPad x220 macOS Sierra Utility and Kext pack.zip」をダウンロードします。
File sharing and storage made simple
ダウンロードしたら、解凍しておきます。このzipファイルの中にClover EFIとkextが入っています。


インストールイメージからインストールUSBメモリを作成します。
※[USB]にはUSBメモリの名前が入ります。

sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/[USB]/ --applicationpath /Applications/Install\ macOS\ Sierra.app/ --no interaction

インストールUSBのEFIパーティションのディスクIDを確認します。

diskutil list

インストールUSBのEFIパーティションをマウントします。
※X,Yは数字

diskutil mount /dev/diskXsY

ThinkPad x220 macOS Sierra Utility and Kext pack.zip」を解凍して出てきたフォルダの中にある「EFI」というフォルダをインストールUSBのEFIパーティションにコピーします。

cp -R ~/Downloads/ThinkPad\ x220\ macOS\ Sierra\ Utility\ and\ Kext\ pack/EFI /Volumes/EFI/

インストール

作成したインストールUSBメモリをX220に挿して起動します。インストールUSBメモリが正しく作成されていれば、以下のようなインストール画面が表示されます。
f:id:ymdtr519:20161225003121j:plain
あとは画面の表示に従ってインストールします。

インストールUSBのEFIパーティションの中身を内蔵SSDEFIパーティションにコピーする

インストールUSBのEFIパーティションをマウントします。

diskutil mount diskXsY

EFI」フォルダをホームディレクトリにコピーします。

cp -R /Volumes/EFI/EFI ~

インストールUSBのEFIパーティションをアンマウントします。

diskutil umount diskXsY

内蔵SSDEFIパーティションをマウントします。

diskutil mount diskXsY

EFI」フォルダを内蔵SSDのインストールUSBのEFIパーティションにコピーします。

cp -R ~/EFI /Volumes/EFI/

Clover EFIにSSDTを読み込ませる

CPUパワーマネジメントを有効にしてバッテリー持ちを良くするために、SSDTファイルをClover EFIに読み込ませます。まずは以下の手順でSSDTファイルを生成します。
SSDTファイル生成スクリプトをダウンロード

curl -o ~/ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh

実行権限を付与

chmod +x ~/ssdtPRGen.sh

SSDTファイル生成を生成

./ssdtPRGen.sh

/Users/username/Library/ssdtPRGen/ の中に"SSDT.aml"というファイルが作成されました。これをClover EFIに読み込ませるためにEFIパーティション内にコピーします。
EFIパーティションをマウントします。

diskutil mount diskXsY

SSDTファイルをコピーします。

cp /Users/username/Library/ssdtPRGen/SSDT.aml /Volumes/EFI/EFI/CLOVER/ACPI/patched

コンピューターを再起動すると、Clover EFIにSSDTファイルが読み込まれます。低負荷時にファンの音が消えたりバッテリー持ちが良くなったりと、かなり実感できる効果があります。

補足

今回用いたkextパックでは、以下のようなファンクションキーの割り当てになるようです。

  • PrtSc -> トラックパッドon/off
  • ScrLk -> バックライト輝度-
  • Pause -> バックライト輝度+
  • ScrLk -> バックライト輝度-
  • F10 -> 音量ミュート
  • F11 -> 音量-
  • F12 -> 音量+